Тестовое собеседование С++ разработчика
Запись мок-собеседования на позицию C++-разработчика с разбором резюме, теорией, вопросами по инженерным практикам и двумя задачами live coding. В конце интервьюер даёт кандидату предметную обратную связь по темам для подготовки.
- Опубликовано на YouTube:
- Просмотры на YouTube: 931
- Лайки на YouTube: 31
Таймлайн
Коротко о видео
Это мок-собеседование C++-разработчика: интервьюер разбирает резюме кандидата, задаёт вопросы по базовым конструкциям C++, ООП, тестированию и технологиям проекта, а затем проводит две задачи live coding. В теоретической части обсуждаются указатели, ссылки, умные указатели, RAII, семантика перемещения, классы, наследование, полиморфизм и специальные функции-члены. В практической части кандидат реализует аналог strlen и разбирает задачу Two Sum, переходя от квадратичного перебора к решению через хеш-таблицу; в конце получает рекомендации по подготовке к реальным интервью.
Затронутые темы
Что взять на заметку
- В резюме стоит отдельно указывать желаемую зарплатную вилку, измеримые результаты на каждом месте работы и технологии, привязанные к конкретному опыту, а не только общий список библиотек.
- Нужно уметь чётко объяснить: указатель хранит адрес, ссылка должна быть инициализирована; умные указатели управляют не только памятью, но и другими ресурсами, например файловыми дескрипторами.
- Подготовить ответы по RAII, unique_ptr/shared_ptr/weak_ptr, перемещению, глубокому и поверхностному копированию, а также правилам трёх, пяти и нуля.
- Повторить ООП: различие класса и объекта, class и struct по умолчанию, инкапсуляцию как сохранение согласованного состояния, динамический полиморфизм через virtual-функции и статический в том числе через перегрузку функций.
- Для тестирования полезно различать unit-, интеграционные и системные тесты, владеть Google Test и Google Mock; процент покрытия сам по себе не доказывает большую надёжность проекта.
- Для C-строк нужно уметь получить длину проходом до нулевого терминатора, в том числе вариантом с двумя указателями и вычитанием адресов.
- Для Two Sum сначала можно назвать brute force со сложностью O(n²), затем предложить хеш-таблицу «значение → индекс» и одно прохождение с поиском complement за ожидаемое O(1), не используя один элемент дважды.