Junior Flashcards
1.У чому полягають основні принципи ООП?
a
2.Що таке складність алгоритму?
a
3.Код працює неправильно. Що робити?
a
4.Поясніть такі структури даних, як стек і черга.
a
5.Які книги, пов’язані з програмуванням, читали? Чого з них навчились?
a
6.Що цікавого знайшли в нових стандартах С++17, С++20?
a
7.Що таке таблиця ASCII?
a
8.Що таке Unicode?
a
9.Що таке патерни проєктування та для чого їх використовують?
a
10.Патерни Singleton, Strategy, Template-Method, Decorator?
a
11.Для чого потрібні модульні тести?
a
12.Яка різниця між модульними та інтеграційними тестами?
a
13.Що таке TDD?
a
14.Що таке шаблонний клас і шаблонна функція?
a
15.Що таке конструктори? Які типи знаєте?
a
16.Чи може конструктор бути шаблонною функцією?
a
17.Чи може віртуальна функція бути шаблонною?
a
18.Що таке інстанціація шаблону?
a
19.Що таке спеціалізація шаблону? Часткова спеціалізація шаблону?
a
20.Розкажіть про імплементацію шаблонних класів у срр-файлі?
a
21.Як проходить процес компіляції срр-файлів у бінарний файл?
a
22.Що таке препроцесор?
a
23.Як працює препроцесор?
a
24.Які знаєте його команди?
a
25.Як працює директива include?
a
26.Як працює директива define?
a
27.Що саме лінкує лінкер?
a
28.Що таке оптимізація компілятора?
a
29.Що таке прапорці компіляції?
a
30.Як захистити хедер від повторного включення?
a
31.Що робить директива include?
a
32.Як працюють макроси?
a
33.Як static впливає на глобальні/локальні змінні?
a
34.Як сonst впливає на змінну?
a
35.Які варіанти використання extern знаєте?
a
36.Які варіанти використання volatile знаєте?
a
37.Які є бітові операції?
a
38.Що таке булева алгебра?
a
39.Розкажіть про етапи розробки бібліотеки або програми.
a
40.Що таке алгоритми сортування та які знаєте?
a
41.Які алгоритми роботи з рядками знаєте?
a
42.Які алгоритми на графах знаєте?
a
43.Де може зберігатися змінна?
a
44.Яка різниця між calloc і malloc?
a
45.Для чого використовують realloc?
a
46.Що таке вказівник?
a
47.Який розмір вказівника і від чого він залежить?
a
48.Які є операції з вказівниками?
a
49.Що таке struct?
a
50.Як визначити розмір структур?
a
51.Що таке вирівнювання в структурах?
a
52.Що таке union?
a
53.Який розмір union?
a
54.Що таке клас?
a
55.Які є основні типи даних у C++?
a
56.Що таке інкапсуляція? Як вона реалізується в C++?
a
57.Які є вбудовані типи в С++?
a
58.Що таке enum?
a
59.Як співвідноситься клас і об’єкт?
a
60.Яка різниця між структурою і класом?
a
61.Різниця між private/protected/public та де вони використовуються?
a
62.Які методи класу є стандартними для класу?
a
63.Що таке абстрактний клас і навіщо він?
a
64.Скільки займає пам’яті об’єкт порожнього класу class A{}
a
65.Що стане з функцією, якщо до неї додати ключове слово static? У контексті члена класу? У контексті методу класу?
a
66.Які особливості статичних полів класу?
a
67.Яка особливість константних методів-членів класу?
a
68.Як змінити поле класу в константному методі класу?
a
69.Які методи можна викликати з константних об’єктів?
a
70.Що таке купа та стек? Відмінності, принцип роботи.
a
71.В чому різниця між вказівником s посиланням?
a
72.Для чого потрібен вказівник на функцію? Як його оголосити?
a
73.Що буде, якщо забути викликати delete? Коли звільниться та пам’ять?
a
74.Що таке розумний вказівник? Які розумні вказівники є в стандартній бібліотеці?
a
75.Як працює std::unique_ptr?
a
76.Як працює std::shared_ptr?
a
77.Розкажіть про константність змінної, посилання, вказівника? Що таке константний вказівник і вказівник на константу? Розмір вказівника в пам’яті?
a
78.Розкажіть про передачу аргументів за значенням, посиланням і вказівником?
a
79.Розкажіть про порядок обчислення аргументів функції?
a
80.Що трапиться, якщо повернути посилання на тимчасовий об’єкт?
a
81.Що таке перевантаження функції? Види перевантаження.
a
82.Що таке явне та неявне приведення типів у С++? Розкажіть про функції явного приведення типів у C++?
a
83.Що таке ініціалізація змінної в if?
a
84.Що таке ліниві обчислення в С++?
a
85.Розкажіть про цикли for та range-for.
a
86.Що робить ключове слово auto? auto-визначення return-типу, аргументів функції?
https://danielsieger.com/blog/2022/01/28/cpp-trailing-return-types.html
a
https://danielsieger.com/blog/2022/01/28/cpp-trailing-return-types.html
87.Чим відрізняються delete та delete[]? Що трапиться, коли викликати delete в об’єкта, створеного через new[]?
a
88.Обробка помилок у С++? Які конструкції використовують під час обробки exception?
a
89.Чи можна викидати exception з конструктора? Які поля будуть сконструйовані, які поля будуть зруйновані?
a
90.Що таке memory leak?
a
91.Чи можна викидати exception з деструктора?
a
92.Як відловити ділення на 0 в С++?
a
93.Як працюють константні методи?
a
94.Що таке лямбда-функція у С++? Як отримати доступ до змінних у зовнішній ділянці видимості?
a
95.Для чого використовувати namespace, anonymous namespace?
a
96.Яе викликати об’єкт з nested namespace?
a
97.Як працюють inline-функції? Чи може така функція бути рекурсивною?
a
98.Що таке поліморфізм?
a
99.Для чого використовується наслідування?
a
100.Які бувають типи наслідування?
a
101.Для чого використовують віртуальне наслідування?
a
102.Як можна розв’язати проблему ромбоподібного наслідування без використання віртуального наслідування?
a
103.Що трапиться, якщо клас-спадкоємець передати за значенням у функцію, яка приймає базовий клас?
a
104.Що трапиться, якщо успадкуватися від базового класу, який не має віртуального конструктора?
a
105.Що трапиться, якщо викликати перевизначену virtual function з конструктора? Чи може конструктор бути віртуальним?
a
106.Чи може мати імплементацію pure virtual function? Що трапиться, якщо викликати pure virtual function з конструктора?
a
107.Які методи генеруються для класу за замовчуванням? В якому випадку такі методи не будуть генеруватися? Як змусити компілятор додати/видалити ці методи?
a
108.Як заборонити успадковувати клас?
a
109.Який порядок конструювання та руйнування класів в ієрархії? Порядок ініціалізації полів класу?
a
110.Які є способи ініціалізації полів класу?
a
111.Чи може деструктор бути віртуальним?
a
112.Що робить ключове слово virtual?
a
113.Для чого використовують віртуальний деструктор?
a
114.Що таке глибоке копіювання?
a
115.Що таке віртуальні функції та навіщо вони потрібні?
a
116.Як захистити об’єкт від копіювання?
a
117.Що таке семантика переміщення?
a
118.З чого складається STL?
a
119.Які алгоритми застосовували з STL? В чому перевага використання алгоритмів перед власноруч написаними функціями?
a
120.Розкажіть про контейнери стандартної бібліотеки vector, list, map, unordered_map.
a
121.Які знаєте типи ітераторів? Чим вони відрізняються? В яких контейнерах використовуються?
a
122.Яка різниця між std::set, std::map std::unordered_multimap?
a
123.Що таке ідіома remove-erase?
a
124.Як отримати найменше значення типу?
a
125.Яка різниця між std::map та std::hashmap?
a
126.Як підрахувати кількість елементів у std::list?
a
127.Що таке складність алгоритму та від чого вона залежить?
a
128.В чому різниця між vector та list і у яких випадках їх краще використовувати?
a
129.Що вам відомо про багатопотоковість?
a
130.Що спільного і відмінного в процесах і потоках?
a
131.Як синхронізувати передачі інформації між потоками?
a
132.Яка різниця між м’ютексом і семафором?
a
133.Що таке deadlock?
a
134.Чи є С++ thread-safe?
a
135.Що таке race-condition?
a
136.Які уникнути стану гонитви?
a
137.Що таке атомарна операція?
a
138.Як працювати із std::mutex?
a
139.Що таке сокет?
a
140.Які операції можна робити з сокетом?
a
141.Яка інформація потрібна, щоб створити сокет?
a
142.Які бувають моделі мереж?
a
143.Розкажіть про рівні моделі OSI.
a
144.Розкажіть про рівні моделі TCP/IP.
a
145.Що таке IP-адреса?
a
146.Для чого використовується маска підмережі?
a
147.Яка різниця між IPv4 та IPv6?
a
148.Скільки пам’яті необхідно для зберігання IPv4?
a
149.Навіщо порт?
a
150.Скільки максимально може бути портів?
a
151.Яка різниця між TCP і UDP?
a
152.Для чого такий ненадійний UDP-протокол?
a
153.Що таке менеджер пакетів?
a
154.Які бувають менеджери пакетів?
a
155.Які бувають дистрибутиви Linux?
a
156.Що таке PID?
a
157.Для чого використовують файлові дескриптори?
a
158.Розкажіть про стандартні файлові дескриптори процесу.
a
159.Що таке Pipe?
a
160.Що таке Named Pipe?
a
161.Що таке UID?
a
162.Розкажіть про команди bash.
a
163.Які є види SCM?
a
164.Для чого використовують системи контролю версій?
a
165.Які є команди git?
a
166.Які етапи під час коміту змін?
a
167.Різниця між git fetch і git pull?
a
168.Які є етапи вирішення merge conflict?
a