🔥

Тред (Рома Мирзоян)


Сейчас расскажу вам о том, как меня позвали в Facebook, об интервью и общем процессе

Забегая наперёд: нет, я не прошёл и я не знаю причину, потому что моя ленивая задница не потрудилась позвонить и спросить (может пройдёт ещё полгодика, меня осенит и я им напишу). Но созвон с фидбеком предусмотрен, если что, выпрашивать ничего не придётся

Мне кажется, я сильно часто забегаю наперёд...

Всё началось с того, что меня нашли на LinkedIn и их HR написала мне имейл и предложила пройти интервью. Я согласился и первым этапом был созвон по телефону – скрининг

Мы пообщались по поводу моего опыта работы, достижений, спрашивали, готов ли я переехать в Лондон, если всё будет чётко. В общем ничего особенного, но нужно "продать" себя на этом этапе

Далее мне дали 3 недели на подготовку, скинули несколько видео и pdf с описанием следующего этапа - coding interview. Через 3 недели мы созвонились с парнем из ФБ (тоже iOSник)

Вот документ, который мне прислали перед интервью: dropbox.com/s/izldq285rdbf…

А вот немного оффтопик, но тоже интересно. Документ, который присылают Android разработчикам при подаче в Lyft: dropbox.com/s/ypzp6phfrwg0…

Возвращаемся в FB. Всё интервью длится около часа. На алгоритмическую часть дают 35-40 минут. До неё вы знакомитесь, после – задаёте свои вопросы

Интервью проходит на сайте coderpad.io. Там вам даётся текстовый редактор, подсветка кода, но компиляция отключена. Задание написано прямо в редакторе в качестве комментария

У задачи есть примеры + вы можете уточнять, если не поняли чего. Это не проблема

Мой задача на интервью была следующей: даны два бинарных числа в виде строк. Вернуть сумму этих чисел в виде строки

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

После того, как я закончил, мы прошлись по коду, я провёл тест кода вслух: говорил, какие строки передаю в функцию, что с ними происходит и убеждаюсь, что ответ вышел верным.

Пока проверял, я нашёл баг. Не уверен, хорошо ли это. С одной стороны ты ошибся, с другой – молодец, потому что без компиляции смог найти ошибку... Пофиксил и пошли дальше

По-хорошему меня должны были спросить о сложности алгоритма. Но меня не спросили
notion image

Вообще я начал писать код после вопроса: "Не против, если я напишу так, как у меня в голове, а потом будем оптимизировать?". Он сказал, что не против. Рассказчик: "Они не оптимизировали..."

Мне кажется, что именно тут и была моя проблема. Я, как кандидат в ФБ должен был придумать оптимальный вариант сразу. Но я не очень хорош в алгоритмах и архитектурах на скорость. Я всё пойму и могу прийти к отличному решению, но мне нужно времени по-больше, чем настоящим технарям

Такой вот у меня склад ума. У меня в семье не без урода. Мама с папой – музыканты, 2 поколения до них – художники. Не знаю, чего мне вдруг IT пригляделось. Потом я ещё сделал ход конём и подсадил на него младшего брата :D @savvasenok, прости

В общем после моего кодинга он предложил мне задать ему вопросы и потом мы попрощались. Увы, рассказать, как оно – проходить третье интервью – я не смогу, но накидаю немного материалов

Вот тут можете глянуть видео, которое Facebook присылает кандидатам для подготовки: vimeo.com/158532188 Пароль: FB_IPS Тут речь идёт о том, как подходить к алгоритмической части интервью

А вот ещё одно видео, которое присылают кандидатам: vimeo.com/357608978 Пароль: fbprep Тут речь идёт о том, как проходит само интервью

Одна из самых крутых штук, которые я узнал о них - это то, что ты, придя в компанию, имеешь около месяца онбоардинга, где ты узнаёшь о компании, как там всё работает итд, а потом сам решаешь, в какую команду хочешь пойти: будь то Инстаграм, Вотсап, Мессенджер итд

Безусловно, каждое приложение ещё делится на множество подкоманд, к примеру: магазином внутри Инстаграма занимается одна команда, лентой - другая итд.

Рома МирзоянРома Мирзоян