TGViewer
Илья Шишков: код, собесы, IT Илья Шишков: код, собесы, IT @imhired · 5.34K subscribers
Post #164 2.53K
Уверен, среди вас есть много любителей сериалов. Специально для таких людей, а также для всех остальных подписчиков канала мы продолжаем наш сериал про неудачное собеседование в стартап 😃.

Список предыдущих серий:
Первая часть здесь
Вторая часть здесь
Третья часть здесь

Следующим этапом моего собеседования стала секция по С++. У меня было два дня после разговора с CEO, и их я потратил на подготовку. Конечно, я мог подумать: «Да легкотня, я целую специализацию на Coursera по плюсам сделал, зачем мне вообще готовиться?». Но я решил отнестись к этому серьёзно.

В прошлом посте я обратил ваше внимание на слова основателя стартапа о том, что им нужны разработчики, которые понимают, как работают аллокаторы памяти. Я, конечно, в теории знал, как это происходит, но явно не мог назвать себя большим специалистом в этой теме. Так что я решил повторить её и сделал это с помощью доклада Фёдора Короткого на C++ Russia 2018. Я слышал его выступление на конференции офлайн, и оно мне запомнилось. Ещё я почитал статьи про аллокаторы на Хабре.

И вот настал день собеседования. Мы созвонились с членом команды стартапа и общались примерно 45 минут. Он показал мне код на C++, в котором заполнялся map из строки в число. И каждую новую пару «строка-значение» в map помещали каким-то новым способом. Нужно было посмотреть на эти способы и про каждый из них сказать, как код отработает.

Там, в этих разных способах, были заложены всякого рода ошибки: проезды по памяти, возвращения ссылок на локальные переменные, появление лишних копирований и многое другое. То есть большинство способов заполнения этого map приводили к некорректной работе программы, и нужно было объяснить, что именно будет происходить неправильно.

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

Когда мы закончили с этой частью, интервьюер начал задавать вопросы. Первым стал вопрос, связанный с тем, как работает оператор new в C++ и как он выделяет память в двух разных процессах. Вот тут и пригодились знания об аллокаторах, которые я освежил в памяти за день до собеседования!

Дальше я ответил ещё на несколько стандартных вопросов: про умные указатели, про make_shared и make_unique. По итогам общения мне сказали: «Илья, спасибо, мы ещё раз посмотрим на результаты и с вами свяжемся».

P.S. Пример вопроса с собеседования:

Как отработает код?
const char* str3() {
char x[] = "test5";
return x;
}

map<const char*, int> m;
m[str3()] = 42;
Telegram Алгоритмический фундамент Чтобы построить карьеру в IT, нужно пройти много собеседований — что практически невозможно без получения отказов. Это неприятный, но полезный опыт. Я считаю, что отказы мотивируют нас больше всего, именно они показывают, в какую сторону стоит развиваться…
  • 👍 1
More from @imhired
  1. Sep 23, 2026Как пользоваться AI и не отупеть Продолжаю отвечать на ваши вопросы. В прошлый раз разбира…
  2. Sep 20, 2026😢 Просто соринка в глаз попала В этот день 10 лет тому назад мы начали работать над «Белы…
  3. Sep 18, 2026Код стал дешёвым. Что осталось программисту? Продолжаю отвечать на ваши вопросы. Сегодня р…
  4. Sep 14, 2026Senior — это не набор технологий Продолжаю цикл постов с ответами на вопросы подписчиков.…
  5. Sep 10, 2026Как я потратил 3 часа на анимации, которые пришлось выкинуть Привет! Я обещал ответить на…
  6. Sep 4, 2026Post #588
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →