Вы находитесь на странице: 1из 10

Мини-гайд по

собеседованиям

Всем замечательного времени суток! На связи


Грокаем C++. Представляю вам наш первый мини-
гайд по собеседованиям!

Здесь собраны самые популярные вопросы с


собеседований. Думаю, что знание ответов
только лишь на эти вопросы практически
гарантирует вам прохождение любого
технического скрининга (90% вероятность). А
также приведенные здесь вопросы могут
составить до 50% от всех вопросов со
стандартных технических секций. Как опытный
человек, который проходил этапы собеседований
в более чем 30 компаний только за прошлый год,
я вас уверяю, что, зная эту базу, вы очень
сильно поднимете уверенность в прохождении
секций. Вы просто будете знать, что вас не
завалят, как лоха. В любом случае будет 3-5
вопросов, на которые вы сможете дать
развернутый ответ, каждый из которых вам может
дать 3-8 минут, когда вы будете сиять перед
интервьюером.

Вы вот не знаете, насколько все плохо со


знаниями кандидатов на рынке. Но просто даже
интервьюеры во время созвона жалуются на то,
что кандидаты базовых вещей не знают. Проблема
реально огромная. Если вы внятно сформулируете
концепции, которые стоят за умными

2
указателями, и расскажите, где эти указатели
можно применить и какую проблему решают - вы
сразу же в глазах интервьюера поднимаетесь в
топ-30% людей. Моментально просто.

Эти вопросы - самая базированная и базовая


база из того, что вы видели. Они дают большие
очки. Но незнание ответа на любой из них -
практически стопроцентный провал.

Но очень важно отметить, что здесь не будет


элементарщины, типа чем for от while
отличается и что такое класс. Это даже не для
джуна вопросы, а для школьника. Нужно иметь
уже солидную базу, чтобы изучать вещи, о
которых здесь написано. Однако обсуждаемые в
этом гайде темы - компиляция из того, с чем
разработчику реально приходится иметь дело на
постоянной основе. Причем на любом уровне.
Именно поэтому без знания этих тем вас никуда
не возьмут.

3
Также я сюда не включаю тоже важные вопросы,
но которые не задают на собеседованиях. Для
джунов, возможно, список несколько шире будет,
но более менее все дополнения покрываются этим
списком.

Здесь будет лишь сборник вопросов. Почему без


ответов? Не лишайте нас контента)

Каждый из этих вопросов раскрывается в целую


серию постов. А это время, которое на данном
этапе приоритетнее тратить непосредственно на
постинг.

Гайд абсолютно бесплатный и свободный для


распространения. Но делиться им желательно с
указанием первоисточника)

Гайд будет обновляться, если мы вдруг


обнаружим еще какие-то базовые вопросы.
Энтузиасты могут написать свои варианты на
аккаунт в описании канала.

4
А теперь погнали:

1. RAII. Концепция, для чего используется,

примеры.

2. Принципы ООП: инкапсуляция, наследованние,

полиморфизм. Виды наследования. Виды

полиморфизма в С++.

3. Ромбовидное наследование. Проблемы и

решение.

4. Примитивы синхронизации: спинлок, мьютекс,

условная переменная, семафор, атомики.

Просто иметь представление о том, что это

такое.

5
5. SFINAE. Что такое и практическое

применение.

6. Виды кастов и чем они отличаются.

7. Таблица виртуальных методов. Для чего

нужна и как устроена.

8. Что такое виртуальная функция.

9. Исключения в конструкторе и деструкторе.

10. Фичи новых стандартов. Выше с++17 знать

необязательно. По 3-4 на каждый хоть бы.

11. Мув-семантика.

12. Правые и левые ссылки.

6
13. SOLID.

14. Синглтон

15. Умный указатели. Виды, применение.

16. Как устроены линейные контейнеры: аррэй,

вектор, лист, дек. И чем они друг от друга

отличаются по алгоритмической сложности

вставки, поиска и удаления.

17. Вектор против листа при интернировании по

массиву. В чем различия?

18. Поток и процесс. Что такое и чем

отличаются.

7
19. TCP и UDP. Что такое и в чем отличия.

20. Что такое абстрактный класс и для чего

нужен.

21. Куча и стек. В чем отличия, зачем нужны.

22. Виды контейнеров. 2 большие группы.

23. Ассоциативные контейнеры. 2 вида.

24. Что лежит в основе упорядоченных

ассоциативных контейнеров и неупорядоченных.

25. Что такое хэш таблица.

26. Что такое хэш функция.

8
27. Что такое коллизии и хотя бы один метод

решения коллизий.

28. Зачем нужен виртуальный деструктор.

29. Специальные методы класса. Особенности

генерации.

30. Что такое лямбда выражение и что оно

собой реально представляет.

31. Алгоритмическая сложность программ. О-

нотация.

32. Стек и очередь, чем отличаются, реализация.

33. Отличия new и malloc.

9
10

Вам также может понравиться