Middle Flashcards

1
Q

1.Які курси пройшли чи книги прочитали за цей рік? Чого навчились?

A

””

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

2.Що подобається та не подобається в С++? Чого бракує?

A

””

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

3.Що цікавого знайшли в нових стандартах С++17, С++20 (конкретні фічі)?

A

””

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

4.Розкажіть про фічі, які з’явилися в різних версіях мови.

A

””

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

5.Розкажіть про модель пам’яті, яка з’явилася в С++11 стандарті.

A

””

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

6.Що таке серіалізація? Які бібліотеки знаєте?

A

””

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

7.Які знаєте патерни проєктування?

A

””

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
8
Q

8.Що таке операційна система? Які існують типи за призначенням?

A

””

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
9
Q

9.Назвіть основні складові та принципи роботи ОС Linux як приклад системи загального призначення.

A

””

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
10
Q

10.Що таке SFINAE та PIMPL?

A

””

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
11
Q

11.Назвіть породжувальні, структурні та поведінкові патерни програмування та наведіть приклади їх використання.

A

””

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
12
Q

12.Розкажіть про системи автоматизації білд-процесу.

A

””

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
13
Q

13.Яка різниця між статичною і динамічною бібліотеками?

A

””

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
14
Q

14.Яка різниця між виконавчим файлом і динамічною бібліотекою?

A

””

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
15
Q

15.Що таке DLL hell?

A

””

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
16
Q

16.Що таке прапорці компіляції (fPIC)?

A

””

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
17
Q

17.У чому різниця між дебажною та релізною збіркою?

A

””

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
18
Q

18.Що потрібно для використання сторонньої бібліотеки?

A

””

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
19
Q

19.Що таке internal linkage?

A

””

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
20
Q

20.Що буде, якщо двічі викликати free?

A

””

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
21
Q

21.Як відбувається виклик функції?

A

””

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
22
Q

22.Як відбувається передача параметрів у функцію?

A

””

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
23
Q

23.Як опрацьовується константність змінних?

A

””

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
24
Q

24.Що означає ключове слово inline?

A

””

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
25
25.Для чого використовують вирівнювання, чи можна його контролювати?
""
26
26.Розкажіть про бітові поля.
""
27
27.Для чого потрібен extern «C»?
""
28
28.Що буде, якщо у двох файлах зробити функцію з однаковим ім’ям і параметрами? На якому етапі виникне помилка?
""
29
29.Як експортувати/імпортувати функції з динамічної бібліотеки?
""
30
30.Яка різниця між С-style приведенням типів і C++ приведенням?
""
31
31.Що таке явне та неявне приведення типів у С++? Навіщо робити explicit-конструктор?
""
32
32.Що таке Uniform initialization? Aggregate initialization?
""
33
33.Що таке Reference to temporary object? Як продовжити час життя тимчасового об’єкта?
""
34
34.Що таке делегуючий конструктор?
""
35
35.Що таке список ініціалізації?
""
36
36.Який порядок ініціалізації полів класу? Що трапиться, якщо конструктор ініціалізує поля в іншому порядку?
""
37
37.Що трапиться, якщо ініціалізувати поле іншим полем?
""
38
38.Що таке copy elision? Скільки разів буде викликано конструктор/деструктор в об’єкта, який повертають за значенням?
""
39
39.Що таке move-семантика?
""
40
40.В яких випадках не буде згенеровано конструктор копіювання?
""
41
41.Чим відрізняється конструктор копіювання від оператора присвоєння?
""
42
42.За яких умов в конструкторі можна викинути exception?
""
43
43.Що таке конструктор за замовчуванням? Для чого потрібні default та delete?
""
44
44.Чим відрізняється інтерфейс від абстрактного класу?
""
45
45.Які види поліморфізму в С++?
""
46
46.Як реалізовне успадкування в більшості компіляторів?
""
47
47.Множинне успадкування: за та проти?
""
48
48.Віртуальне спадкування та порядок конструювання?
""
49
49.Навіщо використовувати override?
""
50
50.Які є правила виведення типу при використанні auto? В яких випадках auto може призвести до небажаного копіювання об’єкта?
""
51
51.Розкажіть про всі можливі способи використання ключового слова static в С++? Що таке static initialization order fiasco?
""
52
52.Що робить виклик throw; в блоку catch?
""
53
53.Чим відрізняється constexpr від const?
""
54
54.Що таке const correctness?
""
55
55.В якому випадку можна використовувати const_cast?
""
56
56.Що таке ключове слово mutable і коли його потрібно використовувати?
""
57
57.Що таке ключове слово friend і коли його потрібно використовувати?
""
58
58.Розкажіть про лямбда-вирази у С++ і доступ до змінних у зовнішній області видимості, захоплення this у лямбду та час життя лямбди та захоплених змінних?
""
59
59.Що таке функтор? Напишіть приклад.
""
60
60.Що таке спеціалізація шаблону?
""
61
61.Що таке dynamic_cast та run-time type identification?
""
62
62.Що таке exception? Як кинути та зловити?
""
63
63.Що буде, якщо кинути exception з конструктора? А з деструктора?
""
64
64.Що буде, якщо не зловити exception?
""
65
65.Що станеться, якщо exception вийде за межі блоку noexcept функції?
""
66
66.Для чого можна використовувати приватне успадкування?
""
67
67.Що таке контракт функції?
""
68
68.Що таке vptr і vtable?
""
69
69.Де міститься vptr?
""
70
70.Де міститься vtable?
""
71
71.Яка різниця між overload and override?
""
72
72.Як компілятор розрізняє члени класу та звичайні змінні в функціях?
""
73
73.Навіщо використовують exceptions?
""
74
74.Що таке блоки try-throw-catch?
""
75
75.Розкажіть про логіку catch-блоків.
""
76
76.Що таке move constructor?
""
77
77.У чому різниця між константним методом і неконстантним?
""
78
78.Що таке О-нотація та як визначити складність будь-якого алгоритму?
""
79
79.Що таке таблиця віртуальних методів?
""
80
80.Які функції класу автоматично генерує компілятор, якщо їх не визначити?
""
81
81.Що таке вирівнювання даних?
""
82
82.Що таке exception?
""
83
83.Які є стандартні контейнери та на основі яких структур вони побудовані?
""
84
84.Що таке Undefined behavior? Наведіть приклади.
""
85
85.Як визначити, що в програмі є memory leak?
""
86
86.Для чого потрібен std::make_shared? Чим він кращий за створення std::shared_ptr через конструктор?
""
87
87.Що буде, якщо виділити один обсяг пам’яті, а записати більше?
""
88
88.Що таке переповнення stack?
""
89
89.Навіщо потрібні патерни? Які типи патернів розрізняють?
""
90
90.Недоліки патерну Singleton? Коли він доречний?
""
91
91.Переваги та недоліки PIMPL?
""
92
92.У чому різниця між патерн-фабрикою та фабричним методом? Коли використовувати який з них?
""
93
93.Що таке патерн Observer?
""
94
94.Як контролювати стан програми? Машину станів? Патерн стан?
""
95
95.Що таке патерн Visitor?
""
96
96.Які є правила виведення типу в шаблоні?
""
97
97.Чим відрізняється using від typedef?
""
98
98.Скільки пам’яті займає довільна структура? Що таке вирівнювання об’єкта?
""
99
99.Чому порожня структура займає 1 байт? Яка мінімальна одиниця адресування у С++?
""
100
100.Що таке SOLID? Що означає кожен з цих принципів?
""
101
101.Розкажіть про патерни проєктування.
""
102
102.Що таке Dependency Injection? Наведіть приклад.
""
103
103.Які переваги та недоліки функціонального підходу?
""
104
104.Що таке принцип RAII?
""
105
105.Що таке принцип DRY?
""
106
106.Що таке принцип KISS?
""
107
107.Які переваги композиції перед успадкуванням?
""
108
108.Які алгоритми з STL використовували? Яких не вистачає?
""
109
109.Якими особливостями має володіти клас, щоб він був ітератором?
""
110
110.Які бувають ітератори?
""
111
111.Розкажіть про інвалідацію ітераторів.
""
112
112.Як оптимізувати видалення елемента з середини вектора?
""
113
113.Як реалізований vector?
""
114
114.Як реалізований list?
""
115
115.Як розширити STL-контейнери?
""
116
116.Які є алгоритми в STL?
""
117
117.В чому різниця між vector, deque, list, set e STL?
""
118
118.Коли треба використовувати map? Коли — unordered_map? Яка складність пошуку і вставки в цих контейнерах?
""
119
119.Як перевірити, чи є в контейнері елементи? Чому виклик container.size() є поганою практикою?
""
120
120.Що таке exception safety guarantee? Яку exception safety guarantee мають STL-контейнери?
""
121
121.Розкажіть про типи розумних вказівників і підрахунок посилань у них?
""
122
122.Чи є С++ thread-safe?
""
123
123.У чому різниця між багатопотоковістю та асинхронністю?
""
124
124.Що таке багатопотоковість? Яку функціональність надає С++ для розробки багатопотокових застосунків? Які основні проблеми багатопотокових застосунків?
""
125
125.Як передати інформацію між кількома процесами?
""
126
126.Як синхронізувати між собою кілька процесів?
""
127
127.Які є особливості роботи з shared memory?
""
128
128.Як працює spinlock?
""
129
129.Які ви знаєте особливості використання recursive mutex?
""
130
130.Розкажіть про read-write mutex.
""
131
131.Що таке race-condition? Взаємне блокування? Що таке критична секція?
""
132
132.Які уникнути стану гонитви?
""
133
133.Чим відрізняється м’ютекс від семафора?
""
134
134.Які примітиви синхронізації реалізовані в C++? Переваги lock_guard?
""
135
135.Що трапиться, якщо exception вийде за межі потоку? Які інструменти є для безпечної асинхронності в С++?
""
136
136.Чим відрізняється std::launch::async від std::launch::deferred?
""
137
137.Що таке атомарна операція? std::atomic?
""
138
138.Як працювати з std::conditional_variable?
""
139
139.Як створити потік за допомогою std::thread?
""
140
140.На скільки потоків найкраще розбити задачу? Від чого це залежить?
""
141
141.Як працювати з std::async?
""
142
142.Thread-safe гарантії контейнерів в С++? Чому недолік інтерфейсу front() + pop_fornt()?
""
143
143.Що таке TCP handshake?
""
144
144.Яка різниця між TCP та UDP?
""
145
145.Розкажіть про протоколи верхнього рівня.
""
146
146.Яка різниця між HTTP та HTTPS?
""
147
147.Розкажіть про SSL/TLS handshake.
""
148
148.Розкажіть про процеси CI.
""
149
149.Як відредагувати коміт?
""
150
150.Розкажіть про інтерактивний rebase.
""
151
151.Які можуть бути способи дебагінгу коду?
""
152
152.Для чого потрібні Unit test? Чим відрізняється від Functional Test?
""
153
153.Як тестувати код? Який використовуєте фреймворк?
""
154
154.Які бібліотеки знаєте для написання тестів?
""
155
155.Що таке mock?
""
156
156.Скільки тестів потрібно написати на одну функцію?
""
157
157.Що таке побічний ефект, ідемпотентність і чисті функції?
""
158
158.Що таке контейнеризація і в чому переваги та недоліки? Що таке Docker чи інший інструмент контейнеризації?
""
159
159.Що таке CI/CD і які переваги приносить для розробника?
""
160
160.Які принципи ітеративних методологій?
""
161
161.Які переваги та недоліки code-convention?
""