Вернуться в видеотеку

Тестовое собеседование С++ разработчика

Запись мок-собеседования на позицию C++-разработчика с разбором резюме, теорией, вопросами по инженерным практикам и двумя задачами live coding. В конце интервьюер даёт кандидату предметную обратную связь по темам для подготовки.

Источник: Uproger / Machine Learning / Ai

Открыть на YouTube

Таймлайн

Коротко о видео

Это мок-собеседование 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), не используя один элемент дважды.

Рекомендуем посмотреть