Вопросы на собеседовании C++-разработчика
143 вопроса с реальных собеседований, чаще всего — в компаниях Московский метрополитен, OpenSolutions и Цифровые решения.
Все вопросы
- Как оператор new определяет размер выделяемой памятиSeniorOpenSolutions
- Есть ли особенности итераторов в зависимости от контейнера в C++SeniorМосковский метрополитен
- Каковы плюсы и минусы обработки ошибок с использованием исключений и без них в C++SeniorOpenSolutions
- С какими инструментами для отладки работалиSeniorЦифровые решения
- Как inline функции влияют на производительность и размер бинарника в C++SeniorOpenSolutions
- Какая сложность вставки, удаления и поиска элементов в структурах set и unordered_set и как они реализованы в C++MiddleDelta_Solutions
- В чем разница malloc и new в C++SeniorOpenSolutions
- В чем разница между перегрузкой и виртуальными функциями в C++ при изменении поведения функцииSeniorLesta Games
- Какие IDE предпочитаете для кодингаSeniorOpenSolutions
- Какие бывают типы конструкторов в C++SeniorМосковский метрополитен
- Ответь на такие вопросы вслухMock-интервью с ИИ: вопросы голосом и разбор каждого ответа.Попробовать
- С какой системой контроля версий работали?SeniorOpenSolutions
- Как удалить элементы из вектора in-place, сохраняя порядок без копирования и релокации?SeniorLoudplay
- Работали ли вы с Linux и с какими дистрибутивами?SeniorLoudplay
- Какой опыт работы с базами данных, включая JOIN, подзапросы и оконные функцииSeniorOpenSolutions
- Сколько памяти занимает пустой класс в C++ и зачем он занимает памятьMiddleМосковский метрополитен
- Какие виды кастов существуют в C++ и какое применение у dynamic_castSeniorЦифровые решения
- Какие операции можно выполнять с итераторами в C++, применимы ли арифметические операции и сравненияSeniorМосковский метрополитен
- В чем разница между статическим и динамическим полиморфизмом в кодеSeniorLesta Games
- Какой у вас опыт работы с фреймворком BoostSeniorDelta_Solutions
- Что такое умные указатели в C++, чем отличаются unique_ptr, shared_ptr и weak_ptr, как они реализованы и когда использоватьJuniorDelta_Solutions
Как проходит собеседование
Собеседование на C++-разработчика обычно состоит из скрининга, одного или двух технических интервью и встречи с командой. На многих позициях обязательна задача на код с разбором сложности. Рекрутер обычно уточняет область: игры, финансы, встраиваемые системы или высоконагруженные сервисы, — потому что вопросы на техническом этапе сильно зависят от неё. Стоит заранее вспомнить, какой стандарт языка ты использовал в работе.
Больше всего вопросов про управление памятью и ресурсами: стек и куча, RAII, умные указатели и их отличия, правило пяти, семантика перемещения. Часто спрашивают про виртуальные функции и таблицу виртуальных методов, неопределённое поведение, шаблоны. По стандартной библиотеке — контейнеры, их устройство и сложность операций, инвалидация итераторов. Для системных и высоконагруженных позиций добавляются многопоточность, атомарные операции и модель памяти.
Чтобы готовиться прицельно, отфильтруй вопросы по своему уровню и начни с тех, что спрашивали чаще всего: счётчик стоит у каждого вопроса. Ответь на несколько из них вслух в mock-интервью, так видно, где ответ разваливается, ещё до настоящего созвона.
Другие направления
Прорепетируй собеседование C++-разработчика
Голосовой ИИ-интервьюер задаст вопросы твоего стека, переспросит и разберёт каждый ответ.