Senior Flashcards

1
Q

1.Як ви розумієте SOLID?

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.Що таке RPC? Які бібліотеки знаєте?

A

””

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

4.На що звертати увагу під час проведення code review?

A

””

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

5.Які є проблеми під час написання кросплатформенного коду? На що звертати увагу?

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.Що таке SFINAE? Для чого використовується?

A

””

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

9.Що таке метапрограмування? За допомогою чого реалізується на С++?

A

””

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

10.Як використовувати variadic templates?

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.Що таке cache miss і як це виявити?

A

””

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

14.Що таке SIMD-інструкції? Які є необхідні умови та способи їх використання?

A

””

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

15.Що таке покриття коду і як забезпечується?

A

””

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

16.Опишіть принципи lock-free структур даних і свій досвід роботи з ними.

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.Як працювати з білд-системами: Make, CMake.

A

””

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

19.Як інтегрувати third-party в проєкт?

A

””

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

20.Що таке бар’єри пам’яті?

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.Проєкт повільно збирається. Як можна прискорити?

A

””

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
25
25.Розкажіть про використання realloc в контейнерах.
""
26
26.Як працюють темплейти?
""
27
27.Розкажіть про спеціалізацію темплейтів.
""
28
28.Як працює RTTI?
""
29
29.Чи можна використовувати exception в конструкторі/деструкторі?
""
30
30.Що таке rvalue та lvalue?
""
31
31.В чому особливості контейнерів std::set, std::map, std::unordered_map, std::hash?
""
32
32.Що таке placement new? Для чого використовують? Як зробити placement delete?
""
33
33.Як розміщується в пам’яті клас з множинним успадкуванням та віртуальними функціями?
""
34
34.Як працюють точки зупинки?
""
35
35.Що таке вразливості? Який механізм їхньої роботи?
""
36
36.Як написати власний std::shared_ptr?
""
37
37.Що таке curiously recurring template pattern?
""
38
38.Опишіть призначення та принцип роботи std::shared_ptr, std::unique_ptr та std::weak_ptr.
""
39
39.Яке призначення та відмінності використання std::variant та std::any?
""
40
40.Які покращення отримав std::search з С++17?
""
41
41.Що таке copy elision і коли стає можливим? Які є особливості для різних стандартів?
""
42
42.Що таке Return Value Optimization?
""
43
43.Поясніть принципи SOLID.
""
44
44.Поясніть принципи KISS.
""
45
45.Поясніть принципи YAGNI.
""
46
46.Які є підходи до оптимізації коду?
""
47
47.На що варто звертати увагу під час code review?
""
48
48.Які є патерни проєктування? Чому не радять використовувати Singleton?
""
49
49.Що таке статичний поліморфізм?
""
50
50.Коли std::vector може використовувати std::move?
""
51
51.Розкажіть про свій улюблений алгоритм пошуку.
""
52
52.Що таке lock-free та wait-free алгоритми? У чому їхні відмінності та способи реалізації?
""
53
53.Опишіть призначення execution policy для паралельних алгоритмів.
""
54
54.Розкажіть про побудову API, розрахованих на багатопотокове використання.
""
55
55.У чому різниця між kernel-level та user-level потоками?
""
56
56.Що таке coroutine?
""
57
57.Що робить специфікатор thread_local?
""
58
58.Як реалізувати синхронізацію в задачі producer-consumer?
""
59
59.Як синхронізуватися між різними процесами?
""
60
60.Розкажіть про налаштування процесу менеджменту гілок репозиторію.
""
61
61.Розкажіть про стратегію бренчування.
""
62
62.Напишіть базову реалізацію std::shared_ptr.
""
63
63.Реалізуйте алгоритм сортування.
""
64
64.Реалізуйте алгоритм хешування.
""
65
65.Реалізуйте shared_ptr з розширенням для weak_ptr.
""
66
66.Реалізуйте найпростіший producer-consumer, використовуючи умовні змінні.
""
67
67.Опишіть якомога детальніше, що відбувається в системі, коли застосунок робить мережевий запит.
""
68
68.Детально описати дизайн програмного компонента, наприклад, системи голосування — врахувати при цьому високе навантаження і зробити його розширюваним і відмовостійким.
""