C++ — Вопросы для собеседований
Алгоритмы
Сложность, сортировка, поиск, строковые и графовые алгоритмы, алгоритмы STL и распространённые структуры данных.
101 вопросов
Касты
Приведения типов C++, RTTI, const-correctness и ловушки с неопределённым поведением.
17 вопросов
Контейнеры
Выбор STL-контейнеров, сложности, итераторы и инвалидация.
31 вопросов
Корутины
C++20 корутины — co_await/co_yield/co_return, coroutine frame, promise_type, awaitable-объекты, генераторы и symmetric transfer.
30 вопросов
Отладка
Системный подход к отладке, аппаратные и программные точки останова, отладчики (gdb, lldb, Visual Studio), санитайзеры и стратегия логирования.
4 вопросов
Паттерны проектирования
SOLID, паттерны GoF, RAII, DRY/KISS/YAGNI, Singleton, Factory, Observer, Visitor, State и PIMPL.
31 вопросов
DevOps
Контейнеры и виртуальные машины, Docker, оркестрация контейнеров и развёртывание C++ сервисов.
7 вопросов
Исключения
Разворачивание стека, noexcept, конструкторы, деструкторы и гарантии безопасности исключений.
25 вопросов
Функции
Объявления, перегрузка, аргументы по умолчанию, inline, лямбды и callable-объекты.
32 вопросов
Память
Стек и куча, RAII, выравнивание, умные указатели и placement new.
34 вопросов
Модули
C++20 модули — export/import, интерфейсные и реализационные единицы, Binary Module Interface, разделы и миграция с
17 вопросов
Move-семантика
Rvalue-ссылки, move-операции, forwarding, RVO и передача владения.
26 вопросов
Многопоточность
Потоки, синхронизация, атомики, future и типичные ошибки конкурентного кода.
43 вопросов
Сети
Сокеты, модели OSI и TCP/IP, IP-адресация, порты, TCP и UDP, HTTP/HTTPS и TLS handshake.
31 вопросов
ООП
Виртуальная диспетчеризация, vtable, срезка объектов, правило пяти и полиморфный дизайн.
60 вопросов
ОС / Linux
Процессы Linux, файловые дескрипторы, IPC, каналы, права доступа, сигналы и менеджеры пакетов.
34 вопросов
Производительность
Инструменты профилирования (perf, VTune, callgrind), техники оптимизации CPU, идентификация горячего кода и дисциплина бенчмаркинга.
6 вопросов
Процесс и методологии
Гибкие методологии (Scrum, Kanban), соглашения о коде и практики код-ревью.
7 вопросов
Сборка программы
Препроцессинг, компиляция, линковка, видимость, связывание и вычисления на этапе компиляции.
31 вопросов
Контроль версий (Git)
Основы Git — индекс, коммиты, ветки, конфликты слияния, удалённые репозитории, stash и просмотр истории.
7 вопросов
Git-воркфлоу и CI/CD
Переписывание истории (rebase, amend), продвинутые инструменты (reflog, bisect, cherry-pick, hooks), командная работа, сабмодули и CI/CD-пайплайны.
15 вопросов
Стандарты C++
Ключевые возможности C++11, C++14, C++17, C++20, C++23 и то, что готовится в C++26.
2 вопросов
Шаблоны
Инстанциация шаблонов, специализация, SFINAE, CRTP, вариадические шаблоны и метапрограммирование.
35 вопросов
Тестирование
Unit-тесты, интеграционные тесты и TDD, mocks vs fakes vs stubs, метрики покрытия кода, фреймворки GTest и Catch2, тестирование приватных методов.
5 вопросов
Переменные
Типы, lvalue/rvalue, const, constexpr и формы инициализации.
47 вопросов