Как свалить из сраной рашки

Как свалить из сраной рашки

Доброжелатель

Короче, мне надоело в очередной раз в месенджере отвечать, как пройти интервью в западную компанию, и я решил написать эту заметку.



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

Подготовка к интервью

CCI

Gayle Laakmann McDowell написала крутейшую книжку — Cracking the Coding Interview.

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

Я, честно говоря, сначала думал, что это читерство, overfitting, и нечестно вообще. Но книжку всё равно прочитал. И вам советую. Поэтому постараюсь не повторять то, что в этой книжке написано.

Потом уже выяснил, что эту книжку официально рекомендуют к прочтению компании, которые нанимают. То есть прямо в приглашении к интервью пишут — прочитайте эту книжку.

Всё, что написано в этой книжке — правда.

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

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

leetcode

Для прохождения интервью надо уметь очень хорошо решать задачи. Я порешал чуть-чуть задач с hackerrank, и очень много с leetcode.

leetcode удобен тем, что там задачи классифицированы по сложности, по компаниям, по предметной области. То есть, если вы путаетесь в связанных списках, надо продолжать и продолжать решать задачи до тех пор, пока решения не будут получаться идеально.

Я решил пару сотен задач. Каждый день после работы по несколько часов я решал эти задачи. Нужно было решить тысячу.

Кстати, я заметил, что после того, как я решил эти задачи, я начал лучше писать код. То есть, когда надо написать какой-то простой алгоритм по работе (какую-то простую структуру данных, типа двусвязного списка), я стал делать меньше ошибок. То есть leetcode стоит решать даже, если вы никуда собеседоваться не собираетесь.

Английский язык

На интервью не смотрят на ошибки (иногда интервьюеры говорили хуже меня), но очень важно говорить свободно. Не нервничать, и не запинаться вспоминая слова. Поэтому полезно взять несколько уроков по Skype, чтобы разговаривать свободно.

Паспорт

Скорее всего вы будете проходить интервью в Соединённом Королевстве и в континентальной Европе. Если повезёт, то ещё в США и в Японии. Вам будет гораздо проще, если в тот момент, когда вам назначат параллельно интервью, у вас будет два загранпаспорта. Вы сможете один паспорт оставить в визовом центре, пока поедете на интервью в другую страну.

Ну и плюс, если вы как и я попадёте в лондонский Facebook, чтобы выйти на работу, вам нужно будет иметь паспорт в визой США.

Поэтому второй паспорт лучше сделать заранее.

Планирование поездок

У меня есть чёткая уверенность, что лучше потратить два месяца на интенсивную подготовку, потом в течение пары недель провести несколько скайп-интервью, и потом в течение месяца съездить на онсайты.

Растягивать на несколько месяцев не стоит. Во-первых, первые оферы могут экспайриться, и вы можете пролететь совсем. Во-вторых, это психологически и физически очень утомительно. Один стремительный рывок гораздо проще. На время поездок может быть даже стоит взять отпуск на работе.

И не упускайте возможность посмотреть мир. Например, до Японии лететь 10 часов, если вас приглашают на интервью, попросите купить вам билеты на субботу, а интервью назначить на понедельник. Тогда вы сможете и посмотреть на красивейший Токио, и адаптироваться к другому часовому поясу.

Интервью

Мне как русскому православному человеку было очень тяжело из-за культурной разницы.

Люди за границей, представьте себе, общаются совсем иначе.

Как дела?

Например. Интервьюер в начале интервью спрашивает, как дела?

Русский человек на русском интервью отвечает, отлично, давай решать задачи, и это правильный ответ.

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

На западе всё совсем иначе.

Если на английском интервью ответить, что всё отлично, давай решать задачи, то решат, что это грубиян, с которым будет тяжело общаться в дальнейшем.

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

Однако очень важно, чтобы это всё было искренне. Если заученно повторять текст про красивый город и офис, то получится фальшиво и плохо. Лучше уж ничего не говорить.

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

Слишком простые задачи

Другая ошибка — это говорить что-либо о сложности задач.

На русском интервью, если задали простую задачу, и кандидат об этом сказал, ему ответят, молодец, вот тебе сразу +2 балла, переходим к следующей задаче.

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

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

Я бы не писал об этом так подробно, если бы на интервью в одной компании сразу три иньервьюера написали мне, что я arrogant, хотя я изо всех сих старался притворяться иностранцем.

Обычные задачи

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

Поэтому, во-первых, нужно решать задачи без ошибок. Как ни банально это звучит.

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

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

Интервьюеры часто задают вопрос: а как бы вы стали тестировать этот алгоритм. Это вопрос не о том, какие бывают методологии и фреймворки тестирования. Этот вопрос значит, что нужно придумать нескольо примеров — на граничные случаи и один нетривиальный, и вслух выполнить программу на этих входных данных. Этот вопрос означает, что интервьюеру лень проверять вашу задачу, и он хочет, чтобы вы его убедили, что решение правильное.

Design

Одна из секций интервью — про дизайн (придумайте архитектуру сервиса Twitter). Для тех, кто работал в Яндексе, эта секция обычно не составляет проблем. Иначе, не знаю, для меня эти вопросы всегда были самыми простыми.

Но есть важный момент. Эту секцию надо всегда начинать и заканчивать с цифр. То есть в начале интервью спросить (или предложить самому), какие требования (сколько запросов в секунду, какой объём базы и т. п.), а в конце обязательно сказать, сколько на это всё потребуется серверов в какой конфигурации (например, для фронтенда понадобится 20 серверов без дисков с 50 Гб памяти и гигабитными сетевыми карточками).

Behavioral

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

Это очень важная и сложная секция, несмотря на то, что она кажется простой.

Сложнее всего эта секция происходит в компании Amazon, они там на интервью реально про свой leadership спрашивают больше, чем задачи.

Офер

Если вы получите офер, то прежде, чем соглашаться, чуть-чуть поторгуйтесь.

Вот и всё. Если вы примете офер, вам подробно напишут, что делать дальше.

Report Page