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

Собеседование C++

Тренировочное C++-собеседование с техническими вопросами и задачей на проектирование файловой абстракции. В конце — разбор ответов и советы по подготовке к интервью.

Источник: Ambushed Raccoon

Открыть на YouTube

Таймлайн

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

Тренировочное собеседование Станислава на позицию Middle+ C++ Developer: он рассказывает о работе с платёжными терминалами, интерфейсами для аппаратуры, SQLite и своём пути в C++. Основная часть посвящена памяти, исключениям, проектированию расширяемого интерфейса для работы с файлами, принципам SOLID, C++11, хеш-таблицам и сборке мусора. В финале интервьюер положительно оценивает проектную часть и рассуждения кандидата, но рекомендует увереннее формулировать принципы SOLID и фундаментальные изменения C++11, а также подробнее презентовать свой стек на реальных интервью.

Затронутые темы

Что взять на заметку

  • Подготовьте короткий рассказ о своём опыте с конкретными технологиями и доменами: интервьюер отдельно подчёркивает, что на senior-уровне это заметно влияет на восприятие кандидата.
  • Повторите различия стека и кучи: ограничение стека, локальность данных и кэширование, а также причины фрагментации кучи.
  • Разберите гарантии исключений: no-throw, strong, basic и отсутствие гарантий; отдельно проговорите, что происходит при исключении в конструкторе и почему деструкторы не должны бросать исключения.
  • На задаче по проектированию не ограничивайтесь интерфейсом с Connect/Disconnect/Read/Write: проверяйте единственную ответственность, возможность расширения и необходимость разделения интерфейсов.
  • Освежите ключевые возможности C++11, в том числе std::thread и move-семантику, и умейте объяснить, какие практические проблемы они решили.
  • Для unordered-контейнеров повторите bucket_count, max_load_factor, коллизии и условие rehash; средняя сложность доступа — O(1), а не безусловная константа.
  • Умейте объяснить, почему перемещающий объекты сборщик мусора плохо сочетается с произвольными указателями C++, и как уплотнение кучи связано с устранением фрагментации.

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