Middle Flashcards
1.Які курси пройшли чи книги прочитали за цей рік? Чого навчились?
””
2.Що подобається та не подобається в С++? Чого бракує?
””
3.Що цікавого знайшли в нових стандартах С++17, С++20 (конкретні фічі)?
””
4.Розкажіть про фічі, які з’явилися в різних версіях мови.
””
5.Розкажіть про модель пам’яті, яка з’явилася в С++11 стандарті.
””
6.Що таке серіалізація? Які бібліотеки знаєте?
””
7.Які знаєте патерни проєктування?
””
8.Що таке операційна система? Які існують типи за призначенням?
””
9.Назвіть основні складові та принципи роботи ОС Linux як приклад системи загального призначення.
””
10.Що таке SFINAE та PIMPL?
””
11.Назвіть породжувальні, структурні та поведінкові патерни програмування та наведіть приклади їх використання.
””
12.Розкажіть про системи автоматизації білд-процесу.
””
13.Яка різниця між статичною і динамічною бібліотеками?
””
14.Яка різниця між виконавчим файлом і динамічною бібліотекою?
””
15.Що таке DLL hell?
””
16.Що таке прапорці компіляції (fPIC)?
””
17.У чому різниця між дебажною та релізною збіркою?
””
18.Що потрібно для використання сторонньої бібліотеки?
””
19.Що таке internal linkage?
””
20.Що буде, якщо двічі викликати free?
””
21.Як відбувається виклик функції?
””
22.Як відбувається передача параметрів у функцію?
””
23.Як опрацьовується константність змінних?
””
24.Що означає ключове слово inline?
””
25.Для чого використовують вирівнювання, чи можна його контролювати?
””
26.Розкажіть про бітові поля.
””
27.Для чого потрібен extern «C»?
””
28.Що буде, якщо у двох файлах зробити функцію з однаковим ім’ям і параметрами? На якому етапі виникне помилка?
””
29.Як експортувати/імпортувати функції з динамічної бібліотеки?
””
30.Яка різниця між С-style приведенням типів і C++ приведенням?
””
31.Що таке явне та неявне приведення типів у С++? Навіщо робити explicit-конструктор?
””
32.Що таке Uniform initialization? Aggregate initialization?
””
33.Що таке Reference to temporary object? Як продовжити час життя тимчасового об’єкта?
””
34.Що таке делегуючий конструктор?
””
35.Що таке список ініціалізації?
””
36.Який порядок ініціалізації полів класу? Що трапиться, якщо конструктор ініціалізує поля в іншому порядку?
””
37.Що трапиться, якщо ініціалізувати поле іншим полем?
””
38.Що таке copy elision? Скільки разів буде викликано конструктор/деструктор в об’єкта, який повертають за значенням?
””
39.Що таке move-семантика?
””
40.В яких випадках не буде згенеровано конструктор копіювання?
””
41.Чим відрізняється конструктор копіювання від оператора присвоєння?
””
42.За яких умов в конструкторі можна викинути exception?
””
43.Що таке конструктор за замовчуванням? Для чого потрібні default та delete?
””
44.Чим відрізняється інтерфейс від абстрактного класу?
””
45.Які види поліморфізму в С++?
””
46.Як реалізовне успадкування в більшості компіляторів?
””
47.Множинне успадкування: за та проти?
””
48.Віртуальне спадкування та порядок конструювання?
””
49.Навіщо використовувати override?
””
50.Які є правила виведення типу при використанні auto? В яких випадках auto може призвести до небажаного копіювання об’єкта?
””
51.Розкажіть про всі можливі способи використання ключового слова static в С++? Що таке static initialization order fiasco?
””
52.Що робить виклик throw; в блоку catch?
””
53.Чим відрізняється constexpr від const?
””
54.Що таке const correctness?
””
55.В якому випадку можна використовувати const_cast?
””
56.Що таке ключове слово mutable і коли його потрібно використовувати?
””
57.Що таке ключове слово friend і коли його потрібно використовувати?
””
58.Розкажіть про лямбда-вирази у С++ і доступ до змінних у зовнішній області видимості, захоплення this у лямбду та час життя лямбди та захоплених змінних?
””
59.Що таке функтор? Напишіть приклад.
””
60.Що таке спеціалізація шаблону?
””
61.Що таке dynamic_cast та run-time type identification?
””
62.Що таке exception? Як кинути та зловити?
””
63.Що буде, якщо кинути exception з конструктора? А з деструктора?
””
64.Що буде, якщо не зловити exception?
””