Перейти к содержанию
Языки

C++ на собеседовании: вопросы о памяти и производительности

В C++ похожий код может различаться lifetime, ownership и гарантиями исключений. Готовьте объяснения на компилируемых примерах.

3 мин чтенияРедакционный гайдОбновлено
Главная мысль

Всегда называйте владельца ресурса, срок жизни объекта, стоимость копирования и поведение при ошибке.

План

Пройдите этапы по порядку

  1. 01

    Объектная модель

    RAII, special members, value categories, references, smart pointers и undefined behavior.

  2. 02

    Templates

    Deduction, concepts, static/dynamic polymorphism и compile-time цена.

  3. 03

    STL

    Complexity, locality, invalidation и выбор контейнера под access pattern.

  4. 04

    Concurrency и profiling

    Memory model, atomics, locks, races, sanitizers и measured optimization.

Что обычно мешает

Частые ошибки

  • Цитировать правила без примера.
  • Злоупотреблять shared_ptr.
  • Оптимизировать до корректной версии.

Перед следующим этапом

Чек-лист готовности

  • Могу уверенно пройти практический разбор: объектная модель.
  • Могу уверенно пройти практический разбор: templates.
  • Могу уверенно пройти практический разбор: stl.
  • Могу уверенно пройти практический разбор: concurrency и profiling.

Коротко

Частые вопросы

Это список реальных закрытых вопросов?

Нет. Это редакционный план по открытым материалам работодателей и официальной документации. Конкретные секции зависят от команды, вакансии и грейда.

Как лучше закрепить материал?

Для тем, представленных в каталоге RecallDeck, отвечайте на карточки до открытия разбора. Если нужной технологии нет в каталоге, используйте указанные источники и собственные заметки; наличие этой статьи не означает наличие отдельной колоды. Проверяйте понимание практическими задачами.

Источники

Источники и редакционная политика

Ссылки на источники помогают изучить тему глубже. Если для ответа опубликована техническая проверка, рядом указаны её дата и область. Мы не связаны с упомянутыми работодателями и не продаём места в подборках. Источники, функции сервисов и формат найма могут меняться.

От чтения к воспроизведению

Отрепетируйте полный цикл интервью.

RecallDeck возвращает сложные темы по расписанию и помогает удерживать в памяти язык, SQL, архитектуру и поведенческие истории.

Начать подготовку

Продолжить подготовку

Языки4 мин

nil interface в Go: почему err != nil при nil-указателе

Почему error в Go не равен nil, хотя содержит nil-указатель: рабочий пример, динамический тип интерфейса, безопасный возврат и проверка результата.

Разбор с источниками