C++: вопросы на собеседовании
Вопросы и ответы по C++: подготовка, примеры и типичные ошибки.
Проверьте себя по C++: 5 вопросов, ~10 минут
Вопросов: 42. Частые идут первыми, сложные возвращаются на повторение.
- Для каких задач C++ является сильным выбором, а где лучше честно выбрать другой язык?Middle· спрашивают почти всегда
- Что такое move semantics и rvalue references в C++11?Middle· спрашивают почти всегда· полный разбор — Jobs/Boost
- В чём разница между
new/deleteиmalloc/free?Junior· спрашивают почти всегда· полный разбор — Jobs/Boost - Что такое RAII (Resource Acquisition Is Initialization) и почему это важно?Junior· спрашивают почти всегда· полный разбор — Jobs/Boost
- Что такое правило трёх / правило пяти / правило нуля (Rule of Three / Five / Zero)?Middle· спрашивают почти всегда· полный разбор — Jobs/Boost
- Что такое smart pointers в C++? Объясните
unique_ptr,shared_ptrиweak_ptr.Junior· спрашивают почти всегда· полный разбор — Jobs/Boost - Что такое undefined behavior в C++ и приведите примеры?Senior· спрашивают почти всегда· полный разбор — Jobs/Boost
- Как сравнить C++ с ближайшими альтернативами по производительности, поддерживаемости, найму и экосистеме?Middle· полный разбор — Jobs/Boost
- Каковы четыре типа приведения типов в C++ (
static_cast,dynamic_cast,const_cast,reinterpret_cast)?Middle· полный разбор — Jobs/Boost - Как понять, что команда использует C++ идиоматично, а не переносит привычки из другого языка?Senior· полный разбор — Jobs/Boost
- Представьте, сервис на C++ стал медленнее или нестабильнее после релиза. Какие language/runtime-specific причины вы проверите?Senior· полный разбор — Jobs/Boost
- Какие ошибки делают разработчики, переходящие на C++ с другого языка или стека?Middle· полный разбор — Jobs/Boost
- Какие особенности runtime, type system или memory model C++ реально влияют на архитектуру приложения?Middle· полный разбор — Jobs/Boost
- Какие production-риски чаще всего возникают в проектах на C++: производительность, зависимости, конкурентность, деплой или observability?Senior
- Каковы основные различия между C и C++?Junior· полный разбор — Jobs/Boost
- Что такое lambda expressions в C++ и как они захватывают переменные?Middle· полный разбор — Jobs/Boost
- Что такое move constructor и оператор move assignment?Middle
- Что такое чисто виртуальная функция (pure virtual function) и абстрактный класс?Junior· полный разбор — Jobs/Boost
- В чём разница между выделением памяти на стеке (stack) и в куче (heap)?Junior· полный разбор — Jobs/Boost
- Что такое
std::moveиstd::forward?Middle· полный разбор — Jobs/Boost - Что такое STL? Назовите ключевые контейнеры и их характеристики производительности.Middle
- В чём разница между
std::string_viewиstd::string?Middle· полный разбор — Jobs/Boost - Что такое templates в C++ и что такое template specialization?Middle
- Каковы возможности параллелизма, представленные в C++11 и позже (
std::thread,std::mutex,std::atomic)?Senior· полный разбор — Jobs/Boost - В чём разница между
std::vector,std::list,std::dequeиstd::array?Middle· полный разбор — Jobs/Boost - Что такое виртуальная функция (virtual function) и как работает vtable?Middle· полный разбор — Jobs/Boost
- Что такое вывод типа
autoв C++ и как он работает сdecltype?Middle - Что такое concepts в C++20 и как они улучшают шаблонный код?Senior· полный разбор — Jobs/Boost
- Что такое
constexprиconstevalи чем они отличаются?Senior - Что такое C++20 modules и почему миграция на них сложна?Middle· полный разбор — Jobs/Boost
- Расскажите о случае, когда особенности C++ повлияли на архитектурное решение, производительность или сопровождение проекта.Middle· полный разбор — Jobs/Boost
- Что такое memory model C++ и как работают
std::atomicmemory orderings?Senior· полный разбор — Jobs/Boost - Как использовать sanitizers: ASan, UBSan, TSan, LSan?Middle
- Какие версии, возможности или изменения экосистемы C++ важно учитывать на собеседованиях в 2026 году?Middle
- Что такое iterator и каковы различные категории итераторов?Middle
- Каковы наиболее распространённые ошибки работы с памятью в C++ (dangling pointers, утечки памяти, buffer overflow) и как их обнаруживать?Senior· полный разбор — Jobs/Boost
- В чём разница между
overrideиvirtualв C++?Junior - Что такое принципы SOLID и как они применяются в C++?Middle
- Что такое variadic templates?Senior
- Что такое coroutines в C++20?Senior· полный разбор — Jobs/Boost
- Что такое range-based for loops и structured bindings?Junior
- В чём разница между
structиclassв C++?Junior· полный разбор — Jobs/Boost