Итак, в предыдущей статье я рассказал о Skype-скрининге в компанию NetworkOptix, а в этой расскажу о том, какие знания и навыки проверяли у меня на Skype-собеседовании с одним из специалистов компании.
Disclaimer ❗️ Это статья из цилка рассказов о том, как я проходил собеседования в различные IT-компании. В этих статьях я из этических соображений не раскрываю задачи, которые мне давали. Цель этих статей — сформировать картину того, какие знания и навыки требуют от кандидатов на позицию разработчика современные IT-компании.
1️⃣ Начали с задачки по C++. Если на скрининге больше проверялось знание языка, то здесь условие задачи было максимально приближено к реальности и надо было писать код в онлайн-редакторе. Скажу сразу, это была действительно сложная задача по C++. Мне пришлось применить весь свой 12-летний опыт программирования на этом языке, чтобы реализовать то, что требовал от меня интервьюер. Работа над задачей проходила в диалоге, приходилось довольно быстро соображать, чтобы решить задачу за разумное время.
2️⃣ Когда с этой задачей закончили перешли к другой теме — многопоточности. И здесь снова надо было писать код на C++, решая практическую задачу. Только здесь надо было уже не виртуозно использовать возможности языка, а продемонстрировать понимание того, как работают многопоточные программы. Опять же это была не базовая задача в духе «два потока, один мьютекс». Не знаю, справился бы я с ней, если бы не имел реального опыта многопоточного программирования.
3️⃣ Закончив с этим, неожиданно перешли к задачке на логику. Причём это была не задача типа «сколько шариков для гольфа поместится в школьный автобус», а чисто математическая задача, имеющая точное решение. Насколько я понимаю, она проверяет умение кандидата подходить к задаче с разных сторон и не сдаваться, если первый выбранный путь ведёт вникуда. Во всяком случае, первые два моих подхода к задаче оказались неудачными, и только третья попытка была успешной.
К этому моменту закончился второй час собеседования, и мне казалось, что мы закончили... Но нет. 4️⃣Мы перешли к ещё одной задаче, которую, к сожалению, я забыл и не нашёл в своих записях 😔 Когда мы закончили с ней, мы ещё минут 15-20 пообщались о самой компании, задачах и особенностях трудоустройства.
Суммарно собеседование заняло 3 часа, я оставил в нём все силы и, как выяснилось через пару дней, не зря — меня пригласили на очное собеседование в офис компании, о котором я расскажу в следующей статье.
А пока подведём итог — для успешного прохождения Skype-собеседования в компанию NetworkOptix мне потребовались:
* глубокие знания и богатый опыт применения языка программирования C++
* навыки многопоточного программирования
* умение рассуждать и смотреть на задачу с разных сторон
* выносливость, чтобы непрерывно решать задачи в течение трёх часов в конце рабочего дня :)
Post #27
582