Mock - собеседование программиста: секция С++
Учебное мок-собеседование по C++ с вопросами по языку и стандартной библиотеке, разбором ошибок и короткими задачами на чтение и написание кода.
Vladimir Balun - Programming
Открыть на YouTube- Опубликовано на YouTube:
- Просмотры на YouTube: 18,7 тыс.
- Лайки на YouTube: 381
Таймлайн
Коротко о видео
Это мок-собеседование по C++, где интервьюер последовательно проверяет знания кандидата по const-указателям, умным указателям, контейнерам, ООП, исключениям и многопоточности. В практической части разбирают вывод кода с наследованием, устраняют race condition при работе с очередью и пишут упрощённый аналог shared_ptr. Интервьюер уточняет и исправляет ответы: например, обсуждает гарантию исключений при релокации vector, опасность исключений из деструктора и устройство control block у shared_ptr.
Затронутые темы
Что взять на заметку
- Повторить четыре сочетания const с указателями: отдельно константность указателя и объекта, на который он указывает.
- Уметь объяснить unique_ptr, shared_ptr и weak_ptr: перемещение unique_ptr, счётчики сильных и слабых ссылок, циклические зависимости и границы потокобезопасности shared_ptr.
- Подготовить сравнение vector и list по размещению данных, релокации, инвалидированию и асимптотике вставки, удаления и доступа по индексу.
- Разобраться, почему move-конструктор и move-оператор, помеченные noexcept, важны для безопасной релокации элементов vector.
- Отработать порядок вызова конструкторов и деструкторов в иерархии, необходимость виртуального деструктора при удалении через базовый указатель и особенности виртуальных вызовов в конструкторах и деструкторах.
- Повторить исключения в конструкторах и деструкторах: объект считается созданным только после успешного завершения конструктора; исключение из noexcept-функции приводит к std::terminate.
- Уметь находить race condition между front() и pop() очереди, объяснять deadlock и предлагать работу с локальной копией элемента после освобождения mutex.