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
Q

25.Для чого використовують вирівнювання, чи можна його контролювати?

A

””

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

26.Розкажіть про бітові поля.

A

””

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

27.Для чого потрібен extern «C»?

A

””

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

28.Що буде, якщо у двох файлах зробити функцію з однаковим ім’ям і параметрами? На якому етапі виникне помилка?

A

””

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

29.Як експортувати/імпортувати функції з динамічної бібліотеки?

A

””

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

30.Яка різниця між С-style приведенням типів і C++ приведенням?

A

””

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

31.Що таке явне та неявне приведення типів у С++? Навіщо робити explicit-конструктор?

A

””

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

32.Що таке Uniform initialization? Aggregate initialization?

A

””

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

33.Що таке Reference to temporary object? Як продовжити час життя тимчасового об’єкта?

A

””

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

34.Що таке делегуючий конструктор?

A

””

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

35.Що таке список ініціалізації?

A

””

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

36.Який порядок ініціалізації полів класу? Що трапиться, якщо конструктор ініціалізує поля в іншому порядку?

A

””

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

37.Що трапиться, якщо ініціалізувати поле іншим полем?

A

””

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

38.Що таке copy elision? Скільки разів буде викликано конструктор/деструктор в об’єкта, який повертають за значенням?

A

””

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

39.Що таке move-семантика?

A

””

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

40.В яких випадках не буде згенеровано конструктор копіювання?

A

””

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

41.Чим відрізняється конструктор копіювання від оператора присвоєння?

A

””

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

42.За яких умов в конструкторі можна викинути exception?

A

””

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

43.Що таке конструктор за замовчуванням? Для чого потрібні default та delete?

A

””

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

44.Чим відрізняється інтерфейс від абстрактного класу?

A

””

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

45.Які види поліморфізму в С++?

A

””

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

46.Як реалізовне успадкування в більшості компіляторів?

A

””

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

47.Множинне успадкування: за та проти?

A

””

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

48.Віртуальне спадкування та порядок конструювання?

A

””

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

49.Навіщо використовувати override?

A

””

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

50.Які є правила виведення типу при використанні auto? В яких випадках auto може призвести до небажаного копіювання об’єкта?

A

””

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

51.Розкажіть про всі можливі способи використання ключового слова static в С++? Що таке static initialization order fiasco?

A

””

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

52.Що робить виклик throw; в блоку catch?

A

””

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

53.Чим відрізняється constexpr від const?

A

””

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

54.Що таке const correctness?

A

””

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

55.В якому випадку можна використовувати const_cast?

A

””

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

56.Що таке ключове слово mutable і коли його потрібно використовувати?

A

””

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

57.Що таке ключове слово friend і коли його потрібно використовувати?

A

””

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

58.Розкажіть про лямбда-вирази у С++ і доступ до змінних у зовнішній області видимості, захоплення this у лямбду та час життя лямбди та захоплених змінних?

A

””

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

59.Що таке функтор? Напишіть приклад.

A

””

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

60.Що таке спеціалізація шаблону?

A

””

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

61.Що таке dynamic_cast та run-time type identification?

A

””

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

62.Що таке exception? Як кинути та зловити?

A

””

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

63.Що буде, якщо кинути exception з конструктора? А з деструктора?

A

””

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

64.Що буде, якщо не зловити exception?

A

””

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

65.Що станеться, якщо exception вийде за межі блоку noexcept функції?

A

””

66
Q

66.Для чого можна використовувати приватне успадкування?

A

””

67
Q

67.Що таке контракт функції?

A

””

68
Q

68.Що таке vptr і vtable?

A

””

69
Q

69.Де міститься vptr?

A

””

70
Q

70.Де міститься vtable?

A

””

71
Q

71.Яка різниця між overload and override?

A

””

72
Q

72.Як компілятор розрізняє члени класу та звичайні змінні в функціях?

A

””

73
Q

73.Навіщо використовують exceptions?

A

””

74
Q

74.Що таке блоки try-throw-catch?

A

””

75
Q

75.Розкажіть про логіку catch-блоків.

A

””

76
Q

76.Що таке move constructor?

A

””

77
Q

77.У чому різниця між константним методом і неконстантним?

A

””

78
Q

78.Що таке О-нотація та як визначити складність будь-якого алгоритму?

A

””

79
Q

79.Що таке таблиця віртуальних методів?

A

””

80
Q

80.Які функції класу автоматично генерує компілятор, якщо їх не визначити?

A

””

81
Q

81.Що таке вирівнювання даних?

A

””

82
Q

82.Що таке exception?

A

””

83
Q

83.Які є стандартні контейнери та на основі яких структур вони побудовані?

A

””

84
Q

84.Що таке Undefined behavior? Наведіть приклади.

A

””

85
Q

85.Як визначити, що в програмі є memory leak?

A

””

86
Q

86.Для чого потрібен std::make_shared? Чим він кращий за створення std::shared_ptr через конструктор?

A

””

87
Q

87.Що буде, якщо виділити один обсяг пам’яті, а записати більше?

A

””

88
Q

88.Що таке переповнення stack?

A

””

89
Q

89.Навіщо потрібні патерни? Які типи патернів розрізняють?

A

””

90
Q

90.Недоліки патерну Singleton? Коли він доречний?

A

””

91
Q

91.Переваги та недоліки PIMPL?

A

””

92
Q

92.У чому різниця між патерн-фабрикою та фабричним методом? Коли використовувати який з них?

A

””

93
Q

93.Що таке патерн Observer?

A

””

94
Q

94.Як контролювати стан програми? Машину станів? Патерн стан?

A

””

95
Q

95.Що таке патерн Visitor?

A

””

96
Q

96.Які є правила виведення типу в шаблоні?

A

””

97
Q

97.Чим відрізняється using від typedef?

A

””

98
Q

98.Скільки пам’яті займає довільна структура? Що таке вирівнювання об’єкта?

A

””

99
Q

99.Чому порожня структура займає 1 байт? Яка мінімальна одиниця адресування у С++?

A

””

100
Q

100.Що таке SOLID? Що означає кожен з цих принципів?

A

””

101
Q

101.Розкажіть про патерни проєктування.

A

””

102
Q

102.Що таке Dependency Injection? Наведіть приклад.

A

””

103
Q

103.Які переваги та недоліки функціонального підходу?

A

””

104
Q

104.Що таке принцип RAII?

A

””

105
Q

105.Що таке принцип DRY?

A

””

106
Q

106.Що таке принцип KISS?

A

””

107
Q

107.Які переваги композиції перед успадкуванням?

A

””

108
Q

108.Які алгоритми з STL використовували? Яких не вистачає?

A

””

109
Q

109.Якими особливостями має володіти клас, щоб він був ітератором?

A

””

110
Q

110.Які бувають ітератори?

A

””

111
Q

111.Розкажіть про інвалідацію ітераторів.

A

””

112
Q

112.Як оптимізувати видалення елемента з середини вектора?

A

””

113
Q

113.Як реалізований vector?

A

””

114
Q

114.Як реалізований list?

A

””

115
Q

115.Як розширити STL-контейнери?

A

””

116
Q

116.Які є алгоритми в STL?

A

””

117
Q

117.В чому різниця між vector, deque, list, set e STL?

A

””

118
Q

118.Коли треба використовувати map? Коли — unordered_map? Яка складність пошуку і вставки в цих контейнерах?

A

””

119
Q

119.Як перевірити, чи є в контейнері елементи? Чому виклик container.size() є поганою практикою?

A

””

120
Q

120.Що таке exception safety guarantee? Яку exception safety guarantee мають STL-контейнери?

A

””

121
Q

121.Розкажіть про типи розумних вказівників і підрахунок посилань у них?

A

””

122
Q

122.Чи є С++ thread-safe?

A

””

123
Q

123.У чому різниця між багатопотоковістю та асинхронністю?

A

””

124
Q

124.Що таке багатопотоковість? Яку функціональність надає С++ для розробки багатопотокових застосунків? Які основні проблеми багатопотокових застосунків?

A

””

125
Q

125.Як передати інформацію між кількома процесами?

A

””

126
Q

126.Як синхронізувати між собою кілька процесів?

A

””

127
Q

127.Які є особливості роботи з shared memory?

A

””

128
Q

128.Як працює spinlock?

A

””

129
Q

129.Які ви знаєте особливості використання recursive mutex?

A

””

130
Q

130.Розкажіть про read-write mutex.

A

””

131
Q

131.Що таке race-condition? Взаємне блокування? Що таке критична секція?

A

””

132
Q

132.Які уникнути стану гонитви?

A

””

133
Q

133.Чим відрізняється м’ютекс від семафора?

A

””

134
Q

134.Які примітиви синхронізації реалізовані в C++? Переваги lock_guard?

A

””

135
Q

135.Що трапиться, якщо exception вийде за межі потоку? Які інструменти є для безпечної асинхронності в С++?

A

””

136
Q

136.Чим відрізняється std::launch::async від std::launch::deferred?

A

””

137
Q

137.Що таке атомарна операція? std::atomic?

A

””

138
Q

138.Як працювати з std::conditional_variable?

A

””

139
Q

139.Як створити потік за допомогою std::thread?

A

””

140
Q

140.На скільки потоків найкраще розбити задачу? Від чого це залежить?

A

””

141
Q

141.Як працювати з std::async?

A

””

142
Q

142.Thread-safe гарантії контейнерів в С++? Чому недолік інтерфейсу front() + pop_fornt()?

A

””

143
Q

143.Що таке TCP handshake?

A

””

144
Q

144.Яка різниця між TCP та UDP?

A

””

145
Q

145.Розкажіть про протоколи верхнього рівня.

A

””

146
Q

146.Яка різниця між HTTP та HTTPS?

A

””

147
Q

147.Розкажіть про SSL/TLS handshake.

A

””

148
Q

148.Розкажіть про процеси CI.

A

””

149
Q

149.Як відредагувати коміт?

A

””

150
Q

150.Розкажіть про інтерактивний rebase.

A

””

151
Q

151.Які можуть бути способи дебагінгу коду?

A

””

152
Q

152.Для чого потрібні Unit test? Чим відрізняється від Functional Test?

A

””

153
Q

153.Як тестувати код? Який використовуєте фреймворк?

A

””

154
Q

154.Які бібліотеки знаєте для написання тестів?

A

””

155
Q

155.Що таке mock?

A

””

156
Q

156.Скільки тестів потрібно написати на одну функцію?

A

””

157
Q

157.Що таке побічний ефект, ідемпотентність і чисті функції?

A

””

158
Q

158.Що таке контейнеризація і в чому переваги та недоліки? Що таке Docker чи інший інструмент контейнеризації?

A

””

159
Q

159.Що таке CI/CD і які переваги приносить для розробника?

A

””

160
Q

160.Які принципи ітеративних методологій?

A

””

161
Q

161.Які переваги та недоліки code-convention?

A

””