Подготовка к собеседованиям по С++

Средний уровень

О курсе

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

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

 

Автор курса:

  • Ведущий разработчик в Ozon, до этого работал в Mail.ru Group (VK), Тинькофф и Kaspersky Lab;

  • Ведущий преподаватель в GeekBrains на кафедре С++, а также автор курса по С++ в университете Синергия;

  • Побывал на огромном количестве собеседований в роли собеседуемого в маленьких и крупных компаниях;

  • Провел не один десяток собеседований в Тинькофф по алгоритмическим и С++ секциям, также собеседовал людей в свою команду в VK.

 

Содержание:

  • Динамическая память

    • внутреннее устройство malloc и new

    • new с исключением в конструкторе

    • new для массива с нулевой длиной

    • разница malloc/new и free/delete

    • виртуальная память и swapping

    • placement new

  • Основы

    • mangling имен

    • бинарные операции

    • арифметика указателей

    • разница ссылок и указателей

    • константность с указателями

    • внутренняя и внешняя линковка

    • преобразование знакового типа к безнаковому

    • поряд инициализации и разрушения переменных

  • Макросы

    • макрос без скобок

    • макрос с инкрементом и декрементом

    • условие внутри макроса

  • ООП

    • перегрузка префиксного и постфиксного инкремента

    • пергрузка метода для lvalue и rvalue объекта

    • поряд инициализации полей в классе

    • виртуальное наследование

    • правило нуля, трех и пяти

    • виртуальные функции

    • разница struct и class

    • move семантика

    • сокрытие имен

    • pure virtual call

    • EBO

  • Шаблоны

    • сокрытие имен в шаблонном базовом классе

    • процесс инстанцирования шаблонов

    • ошибки специализации

  • Исключения

    • исключение, не перехваченное в программе

    • исключение в конструкторе и деструкторе

    • порядок перехвата исключения в catch блоках

    • перехват исключения по ссылке и по значению

  • Умные указатели

    • проблемы auto_ptr

    • утечки ресурсов с unique_ptr

    • утечки ресурсов с shared_ptr

    • внутреннее устройство shared_ptr

  • Контейнеры
    • внутреннее устройство vector

    • внутреннее устройство priority_queue

    • внутреннее устройство list / forward_list

    • внутреннее устройство map / multimap / set / multiset

    • внутреннее устройство unordered_map / unordered_multimap / unordered_set / unordered_multiset

    • структура или класс в качестве ключа ассоциативных контейнеров

    • перемещение объектов во время реаллокации внутри вектора

    • индексация элементов внутри вектора

    • инвалидация итераторов

  • Многопоточность
    • некорректное завершение потока

    • data race и локальный мьютекс

    • дедлок с двумя мьютексами

    • различные виды примитивов синхронизации

    • различные виды мьютексов

  • Реализация потокобезопасного синглтона с миксинами

  • Реализация умного указатели со стратегией deleter-a

  • Реализация вектора с использованием vector_base

 

Популярные вопросы:

  • Подойдёт ли мне этот курс? Курс предназначен для разработчиков, которые уже знают основы С++ и планируют проходить собеседования. Материалы будут полезны разработчикам независимо от уровня знания С++.

  • Достаточно ли курса для того, чтобы с нуля разобраться в C++? К сожалению, нет. Курс помогает только подготовиться к собеседованию по С++.

  • Смогу ли я пройти собеседования по С++ после курса? Знания из курса повысят ваши шансы на успешное прохождение собеседований. В курсе я сфокусировался на том, что нужно для подготовки к собеседованиям, а также поделилюсь своим опытом проведения и прохождения собеседований. Помимо этого собрал список материалов для самостоятельной подготовки.

Для кого этот курс

Для тех, кто готовится к прохождению собеседований по С++ или для тех, кто хочет узнать много нюансов и подводводных камней языка С++

Начальные требования

Необходимы основополагающие навыки в С++ (указатели, ООП, шаблоны, умные указатели и контейнеры из стандартной библиотеки) и программировании

Наши преподаватели

Программа курса

загружаем...

Сколько стоит обучение

Price: 10 000 
Вы попробовали и поняли, что вам сейчас не подходит этот курс? Ничего страшного, мы вернём вам деньги в течение 30-ти дней после покупки.

Часто задаваемые вопросы

Расскажите о курсе друзьям

Price: 10 000