Comments 36
Ваша статья отображается на https://m.habr.com/en, но не отображается на https://m.habr.com/ru
В дальнейшем желания иметь с ними дело нет абсолютно никакого.
К чести фейсбука надо сказать что на кодинг интервью на Production Engineer у них не было никакого трэша типа hackerank/leetcode, вопросов из «Cracking the Coding Interview» и прочего булшита.
Это телефонное или онсайт? Из моего опыта наоборот, только гугл давал свежепридуманные задачи, а все остальные компании, в т.ч. фейсбук давали известные задачи с leetcode.
В гугле, конечно, тебя сразу посылают на leetcode, никто с тобой даже не говорит до этого.
Что вы подразумеваете под «посылали»? Устраивали online assessment там?
Да, прислали ссылку на задачу, все разговоры после нее. То же самое и с Амазон, кстати.
Действительно, у Фейсбука одного из немногих Big Tech компаний нет этапа online assesment. А сколько у вас было лет опыта на момент разговора с Гугл, если не секрет? По моим данным, Big Tech компании, кроме Амазон, дают онлайн тестирование, только если у кандидата мало опыта. А вот Амазон дает его в качестве первого этапа всем без разбора.
"множество собеседований с другими компаниями в Долине, включая Google и Tesla."
Множество образовалось в процессе поиска работы или Вы ходили на них фоном, чтобы просто быть в курсе что и как на рынке труда?
2. Очень важно внимательно посмотреть на компанию в этот самый первый пробный день. Был второй неудачный опыт с этой же фруктовой компанией — интервью было простое, но насторожило слегка (мягко сказано) скотское отношение к нанимаемым сотрудникам. В итоге яблочное пюре было послано с оффером.
(ЗЫ возможно мне «везло». так как у супруги было ровно обратное и она получила и теплое место и дружную команду в этой же компании)
А вот самый интересный опыт пробного старта был в текущей компании: после часа «интервью с белой доской и маркером» был 3х часовой обед с большим количеством махито на ранчо одного из директоров. В итоге — клевый оффер и очень интересные задачи.
Что я могу сказать работало: старайтесь обсуждение вопроса с визой отложить на самую финальную стадию (особенно если ваша ситуация "сложная"), когда вам уже готовы дать оффер. На тот момент, рекрутер (и возможно hiring manager) уже committed сильно и будет делать все возможное, чтобы так или иначе этот вопрос решить.
К нам в Амазон переходил сотрудник с H1B, не получилось. В теории H1B позволяет менять работодателей, а на практике это нудный бюрокатический процесс с негарантированным результатом.
1) Совсем не обязательно фокусироваться на долине. Сиэтл отлично представлен крупными и не только игроками. Жить здесь дешевле, налоги ниже, климат другой и природы на мой взгляд больше. Кому как нравится. Сейчас так вообще все работают удаленно и ожидается что многие фирмы станут более гибкими в этом вопросе, чем раньше. Все понимают, что WFH (work from home) после эпидемии станет более привычным явлением, хотя и раньше с этим проблем обычно не было.
2) Если сидеть на Литкоде то лучше на уровне Hard и не тратить время на остальное. Задачи на backtracking (перебрать все варианты), dynamic programming и доска/сетка с ходами по ней (с препятствиями и без) наиболее часто встречающиеся, должны от зубов отскакивать, что называется. В моем случае успех или неудача определяли скорее встречал ты уже эту/похожую задачу или видишь ее впервые. Если встречал, то код писался легко и все складывалось отлично. А если впервые, то за 45 минут (а это обычное время одного слота) и решить задачу и написать весь код будет непросто — можно успеть решить, но не успеть написать код. Так что большой багаж решенных задач будет самым полезным.
3) Интервью на system design в моем случае оказались намного проще чем я ожидал. Обычного опыта вполне хватило (а я перелопатил тонну материала от AWS и многих других источников), сильно налегать и готовиться оказалось лишним, лучше было решить еще штук 100 хардов на Литкоде.
Если сидеть на Литкоде то лучше на уровне Hard и не тратить время на остальное.
Сколько процентов задач на собеседованиях из вашего опыта были хард? И на каком этапе телефонное/онсайт? Возможно, в Америке уровень задач на собеседованиях отличается, потому что я проходила собеседования в Европе в Google, Amazon, Facebook, Microsoft, Bloomberg и везде кроме онсайта у Google были задачи easy/medium.
И мне кажется, всё-таки сразу начинать с хард не совсем универсальный совет. Хорошо, если у вас получаются задачи медиум, а если нет? Не будет видно прогресса и можно быстро потерять мотивацию. В то время как на телефонное будет скорее всего достаточно уровня медиум. А до онсайта еще будет время перейти к хард.
Да, конечно, начинать с харда и не получится, я сам начинал с easy, потом перешел к medium и уже потом решал только харды. На самом деле, если войти во вкус, решать ниже харда уже не так и интересно, по крайней мере так было у меня. Да и харды тоже много кода никогда не требовали. Просто хитрее. В результате кода не больше 10-20 строк, больше ж на интервью все равно не успеть.
Кстати, я всюду ходил со своим Хромбуком и если меня просили писать код на доске предлагал «А давайте вы сядете рядом и я на лэптопе, так будет удобнее». Некоторые охотно соглашались, и мне потом файлик в коллекцию вопросов.
Полезно еще просматривать чужие решения, на случай если кто придумал что-то классное. Я обычно пролистывал форум на Литкоде и смотрел есть ли что кардинально другое.
Чтение книг и университетские курсы займут, к сожалению, слишком много времени. Хотя если не хватает базы, то да, без нее не обойтись. Тут поможет любой обычный базовый курс или книга по структурам данных и алгоритмам (Кормен я бы сказал будет слишком большим трудом для цели прохождения интервью). Честно, становиться спецом в алгоритмах и хорошо пройти интервью — это две разные вещи. Тут ведь важно помнить — интервью всегда ограничены по времени и задачи не могут быть очень сложными или запутанными, так как кандидаты должны в своей массе их решить и написать *весь код* минут за 30. Соответственно чисто на код порой остается минут 10-15 (а бывает и того меньше). Там просто не может быть никакого заумного алгоритма.
Поэтому я верю, что очень помогает видеть готовые решения. Не подсказки, а именно *готовые решения*, чтобы в голове в результате начала вырисовываться картина типичных подходов. А они таки довольно одинаковые в результате. Ссылка в пред ответе отлично их суммирует! Рекурсия, проходы по деревьям, хождение по доске, dynamic programming, бектрекинг, сдвигающееся окно в массиве, двойные поинтеры и так далее. Шаблоны решений неизменно выстраиваются в голове с количеством разобранных задач, которые рано или поздно повторяются.
Лучше всего, думаю, получается у чуваков увлеченных competitive programming. Не знатоков множества алгоритмов, а людей, которые уже нарешали сотни и тысячи задач. Это совсем не rocket science. Временной лимит жестко ограничивает размер решения, оно по определнию будет четким и коротким.
Еще есть вариант это платные курсы типа outco.io, interviewhelp.io, techseries.dev/interview но это слишком дорого и на мой взгляд того не стоит (у Outco просто конские цены, в варианте без предоплаты они просят 10% *годовой зарплаты*, если я правильно помню). Несколько месяцев Литкода или любой другой похожей платформы где есть готовые решения должно вполне хватить.
Пара ссылок:
- What is the best online data structure and algorithm MOOC, or course in C or C++?
- www.geeksforgeeks.org — хороший сайт, часто читал на нём разборы каких-то алгоритмов
- Мой док по алгоритмам и решениям
И самое главное — этот же рекрутер с радостью свяжется с вами опять через полгода-год. Вы уже попали «в систему».
А если рекрутер не связывается через год, есть смысл напомнить ему о себе? Или это не работает, так же, как с отправкой резюме?
А если рекрутер не связывается через год, есть смысл напомнить ему о себе?
Конечно — у вас же будут его прямые контакты! Даже если он уже не работает в компании, кто-то будет мониторить его ящик все-равно, и вам ответят.
Когда мы вернемся к обычной жизни, можно искать выездные сессии крупных компаний. Фирмы часто летают в другие страны и там интервьюируют кандидатов.
Мдя, у нас в Японии все работает немного иначе...
Как устроиться в LinkedIn, Facebook, Google в Кремниевой Долине