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

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

Демо-собеседование Junior C++ Developer с вопросами по языку, ООП и STL, а также несколькими короткими задачами на код. В конце интервьюер даёт кандидату развёрнутую обратную связь.

Источник: Ambushed Raccoon

Открыть на YouTube

Таймлайн

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

Это демо-версия собеседования на позицию Junior C++ Developer с Данилом, а не подтверждённое реальное интервью в конкретную компанию. После краткого рассказа кандидата о себе интервьюер проверяет основы ООП, наследования, virtual и pure virtual, static, передачу параметров, const и контейнеры STL. Практическая часть включает ромбовидное наследование, удаление элементов из std::vector, запрет копирования и перемещения класса, std::sort и пузырьковую сортировку; в финале интервьюер отмечает хорошую теоретическую подготовку, но указывает на заминку в задаче удаления.

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

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

  • Подготовьте чёткие объяснения инкапсуляции, наследования и полиморфизма; отдельно различайте перегрузку на этапе компиляции и переопределение виртуального метода во время выполнения.
  • Умейте на коде разобрать ромбовидное наследование: откуда берётся неоднозначность, зачем нужно virtual inheritance и как меняется число базовых подобъектов.
  • Повторите virtual-деструкторы, чисто виртуальные методы, абстрактные классы и риск вызова виртуальных функций при конструировании объекта.
  • Знайте различия передачи по значению, указателю, ссылке и const-ссылке: копирование, возможность nullptr и изменение исходного объекта.
  • Разберите static на уровне файла и альтернативу в виде анонимного namespace, а также назначение const-методов и способы изменить кэшируемое состояние.
  • Повторите std::vector и std::list: O(1) произвольный доступ у vector, линейный обход list, стоимость вставок и сдвигов элементов, а также инвалидирование ссылок и итераторов при реаллокации vector.
  • Потренируйте типовые задачи без готового алгоритма: удалить совпадающие элементы из vector, запретить копирующие и перемещающие операции класса, отсортировать данные через std::sort с компаратором и реализовать пузырьковую сортировку.

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