Как устроиться в LinkedIn, Facebook, Google в Кремниевой Долине

    Зачем это читать?


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


    Я работаю в LinkedIn, который был приобретен Microsoft в 2016 году. У меня были предложения от Facebook, Bayer и разных стартапов, плюс множество собеседований с другими компаниями в Долине, включая Google и Tesla.


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


    Я не расскажу, как "переехать в США"


    До меня это на Хабре уже делали неоднократно, и весьма неплохо:



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


    Поэтому, здесь и далее я подразумеваю, что у вас уже есть (или будет) возможность легально работать в США (тип визы не важен). И вы хотите знать, как успешно пройти собеседование в одной из Big Tech компаний, чтобы получить заветный "сток" и возможность поработать над чем-то очень значимым в "IT-столице мира".


    Алгоритм


    Алгоритм приема на работу везде примерно одинаковый:


    • Step 1: Рекрутер связывается с вами
    • Step 2: Телефонный звонок с рекрутером
    • Step 2.5: Телефонный звонок с Hiring Manager
    • Step 3: Техническое телефонное интервью
    • Step 4: On-site интервью
    • Step 5: Оффер (либо "увидимся через полгода-год")

    Роли


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


    • Рекрутер: человек, который находит замечательных кандидатов (вроде вас). Это может быть работающий в компании сотрудник, а может быть нанятый работник сторонней компании, которая специализируется подбором персонала в определенной индустрии.
    • Hiring Manager: босс, который нанимает сотрудников в свою команду. В Big Tech не участвует в процессе напрямую: вас просто "нанимают" и вы потом попадаете в пул нанятых кандидатов, откуда уже Hiring Managers выбирают себе сотрудников (равно как и вы выбираете себе команду).
    • Interviewers: те люди, кто вас собеседуют. В больших компаниях, interviewers назначает автоматическая система. Скорее всего, они не будут с вами работать. Они даже не будут работать в соседней команде.

    Step 1: Рекрутер связывается с вами


    Рекрутер связывается с вами, а не вы с рекрутером. Это важно.


    Можно долго отправлять свои резюме и размещаться на Job Boards, но это уже почти не работает.


    Места, где рекрутеры ищут кандидатов:


    • LinkedIn. Это не само-реклама, это правда жизни — больше 35 млн. человек были наняты через эту платформу. Без хорошего профиля на LinkedIn найти работу куда сложнее.
    • GitHub. Если вы участвуете в значимых Open Source проектах и указываете реальные контакты, вас там найдут.
    • Triplebyte, AngelList Talent и похожие сервисы. Это современный аналог Job Boards, но гораздо более действенный.


    Insider Tip: рекрутеры на LinkedIn очень часто фильтруют по локации. Поэтому, если вы живете в США, но не в Кремниевой Долине, попробуйте на время "виртуально переехать" сюда. Предложений интервью будет больше. А потом вы уже сможете договориться о встрече и в случае успеха — реальном переезде.


    Step 2: Телефонный звонок с рекрутером


    Рекрутер захочет убедиться, что вы реальный человек, и что вы умеете говорить ртом.



    Это будет непринужденная беседа про опыт, про текущие проекты, про то, что вы хотите от новой компании. "Завалиться" на этом этапе почти нереально. Задача одна: установить relationships. Рекрутер вас продает внутри компании, и он должен знать, что за "товар" он предлагает.


    Step 2.5: Телефонный звонок с Hiring Manager


    Этот шаг бывает в небольших компаниях и стартапах, где у Hiring Manager есть время и возможность общаться с кандидатами.



    Это будет почти то же самое, что на Step 2, но чуть более техническое. Менеджер захочет понимать, с кем он имеет дело. Как таковых тестовых заданий на этом интервью не будет — скорее, общее обсуждение технологий, архитектуры и подходов к решению задач.


    Step 3: Техническое телефонное интервью


    "Техническое интервью" в Долине — это игра, в которую все играют. Трудно определить, хороший инженер или нет, не поработав с ним в одной команде. Но это будет очень долго и неэффективно. Поэтому, придумали стандартный формат интервью — вопросы из Computer Science: Algorithms, Data Structures, Big O Notation, вот это все.



    И не важно, что инвертировать графы или писать пузырьковую сортировку вам никогда в этой компании не потребуется. Таковы правила игры. Чтобы регулярно выигрывать в эту игру, почитайте Cracking the Coding Interview и бесплатно попрактикуйтесь на Leetcode и HackerRank.


    Также не могу не порекомендовать замечательную и подробную статью "Подготовка к собеседованиям в IT-гиганты: как я преодолела проклятье алгоритмического собеседования".


    Как видно из скриншота приглашения на такое интервью, вам дадут ссылку на систему, где вы будете писать код. Это может быть как обычный Google Docs, так и что-то более специализированное типа CoderPad.


    Чаще всего, эта система не позволит вам компилировать код или даже проверять синтаксис. Но это и не важно — interviewer смотрит на вашу способность решать проблемы и писать понятный код.


    Обычно, телефонное техническое интервью занимает не более 45 минут, и задачи там не очень сложные:



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


    Step 4: On-site интервью


    Вы приходите в компанию, которая вас хочет нанять, на целый рабочий день. Так как это Big Tech компания, такой on-site само по себе занятное приключение — кампус обычно очень интересный! График плотный, но вас покормят обедом — будет возможность оценить качество местной кухни.



    Расписание выглядит примерно так:


    • 10:00 — 10:30: Рекрутер вас встречает, приободряет, целует (нет)
    • 10:30 — 11:30: Техническое интервью 1 (алгоритмы)
    • 11:30 — 12:30: Техническое интервью 2 (архитектура)
    • 12:30 — 1:30: Обед с одним из сотрудников; не является частью интервью, но это хороший повод неформально пообщаться и узнать больше о компании
    • 1:30 — 2:30: Behavioral interview ("Что вы делали, когда были несогласны с боссом?" или "Какую самую большую ошибку вы допустили?")
    • 2:30 — 3:30: Техническое интервью 3 (дизайн)
    • 3:30 — 3:45: Рекрутер вас провожает

    Не бойтесь Behavioral interview! Ответы на эти вопросы есть в уже рекомендованной мною книге. Но будьте естественны и не придумывайте слишком много. Interviewer будет спрашивать про детали, и поверьте — додумывать их на ходу не так просто.


    В Интернетах ходят варианты решения конкретных тестовых заданий для LinkedIn, Google, Facebook и других Big Tech компаний. Скажу по секрету: компании знают об этом. Тем не менее, продолжают давать эти же задачи: если вы просто "списали" решение, то как только interviewer начнет копать (а он начнет!) глубже, вы будете "плавать".


    Практикуйтесь, и все у вас получится!


    Step 5: Оффер (либо "увидимся через полгода-год")


    "Нет"


    Если ответ "нет", то вам обычно скажут почему, причем довольно подробно: что прошло хорошо, что не очень, и что следует подучить.


    И самое главное — этот же рекрутер с радостью свяжется с вами опять через полгода-год. Вы уже попали "в систему". Например, 60% работников Гугла устроились туда только со второй и более попытки. Так что заваленное интервью — это повод порадоваться приобретенному опыту (теперь вы знаете точно, чего ожидать!) и скорой возможности попробовать снова.


    "Да"


    Это самое время торговаться! Никогда не принимайте первый оффер, даже если он вам кажется просто удивительным и прекрасным, так как:


    • Вы точно не знаете стоимость жизни на новом месте
    • Вы можете получить существенно больше

    Прежде, чем торговаться, важно четко понять, из чего будет состоять ваш "пакет" — ваш Total Compensation, или как здесь говорят: TC.


    Total Compensation


    bSalary: Base Salary. То, что называется "зарплатой" в наших странах.


    sGrant: Stock Grant (RSUs). Выдается в количестве акций, а не по цене. Это важно. Например, сейчас 1 акция стоит $100 и вам дали 4000 акций на 4 года. Это будет $400k всего и $100k в год. Но если цена акций станет $200, то это будет $200k в год. Ну а если они опустились до $50, то увы, только $50k в год.


    vSchedule: Vesting Schedule. Время, в течении которого sGrant выплачивается. Обычно, это 4 года. Обычно, выплаты каждый квартал. Обычно, есть некий "cliff" — чтобы получить sGrant за первый год, нужно проработать весь год, и только потом он начнет выплачиваться поквартально.


    bBonus: Base Bonus. 10-20% от bSalary. Зависит от вашего уровня (level) в компании. Про levels в разных компаниях хорошо написано здесь.


    cpBonus: Company Performance Bonus. Насколько хорошо компания выполнила план по продажам. Важно: если дела идут совсем плохо, он может быть отрицательным! Прибавляет (или вычитает) 0-20%


    ppBonus: Personal Performance Bonus. Ваш личный бонус — насколько хорошо вы наработали за прошедший год. Обычно 0-10%.


    hBonus: Hiring Bonus. Если компания вас очень хочет, и вы еще думаете, то они могут вам дать единоразовую выплату как инициативу. Это обычно от $10k до аж $100k. Также иногда в Hiring Bonus могут быть включены Relocation Expenses — все те затраты, которые вам нужно понести, чтобы переехать в Долину: билеты, временная гостиница, мебель и т.п.


    Формула годового TC: bSalary + (bSalary x (bBonus + cpBonus + ppBonus)) + (sGrant / vSchedule)


    В процентах это будет выглядеть примерно так:


    ОЧЕНЬ ВАЖНО: sGrant является реальными деньгами только в public-компаниях, которые торгуются на бирже. Для private-компаний (все стартапы) sGrant — это бумажка, которая с высокой долей вероятности будет равна нулю.


    Возникает закономерный вопрос: sGrant составляет большую часть TC, но он только на 4 года. Что произойдет после 4 лет? Я буду получать в два раза меньше?


    Такое возможно, но нежелательно. sGrant может быть обновлен (refresher). Это будет зависеть от вашего performance и Annual Reviews. По результатам Reviews может быть принято решение выделить вам дополнительные гранты, и тогда ваш TC не только не уменьшится, но еще и потенциально увеличится.


    Пункты, по которым можно торговаться:


    • bSalary
    • sGrant: компании обычно торгуются более охотно, чем по bSalary
    • hBonus
    • Immigration: спонсорство на Green Card, а не только H-1B; большим компаниям это не сложно
    • Дата начала работы: она может быть чуть ли не через год после успешного собеседования

    Пункты, по которым сложнее торговаться:


    • vSchedule
    • bBonus: он привязывается к level, который на этом этапе обычно четко определен, и если вы хотите выше — вам придется как минимум пройти дополнительное интервью, что не особо приветствуется.

    Есть еще много других деталей, вроде медицинской страховки, 401(k) matching (пенсия), покупка акций со скидкой (ESPP) и прочих perks. Но для целей этой статьи они менее важны.


    Это все хорошо, но как именно торговаться? На Хабре есть перевод отличной статьи разработчика из Долины, получившего оффер на $300k. Там это очень подробно рассказывается: что говорить, а что лучше не стоит.


    Competing Offers


    Если у вас есть несколько предложений от разных компаний (такое бывает довольно часто, если вы активно ходите на интервью), не стесняйтесь рекрутерам об этом говорить и называть конкретные цифры. Только советую говорить цифры близкие к правде — рекрутеры прекрасно знают диапазоны bSalary и sGrant, которые выдаются в других компаниях.


    Рекрутеры будут рады, если вы с ними (уважительно) поделитесь такой информацией. Competing Offers — это сильный козырь для них, чтобы внутри договариваться о повышении вашего оффера. Напомню — рекрутер очень заинтересован в том, чтобы вас взяли и чтобы вы сказали "да".


    COVID-19


    Статья была бы неполной без упоминания COVID-19, и как это повлияло на рынок. Вот, что я сейчас наблюдаю:


    • Некоторые компании (на время) замедлили или прекратили найм
    • Другие компании, типа Facebook, продолжают активно нанимать
    • Компании, кто выигрывает от ситуации, начали нанимать больше
    • Переход к более частой работе из дома уже неизбежен

    Бонус


    Моя очень позитивная коллега Юлия сняла отличное видео про LinkedIn. Только имейте ввиду, что там показан особенный день: InDay. В обычные дни в LinkedIn все усиленно трудятся!

    AdBlock похитил этот баннер, но баннеры не зубы — отрастут

    Подробнее
    Реклама

    Комментарии 36

      +1

      Ваша статья отображается на https://m.habr.com/en, но не отображается на https://m.habr.com/ru

        0

        Спасибо, что заметили — исправлено!

        +4
        К чести фейсбука надо сказать что на кодинг интервью на Production Engineer у них не было никакого трэша типа hackerank/leetcode, вопросов из «Cracking the Coding Interview» и прочего булшита.
        Были пару задач, вполне приличных, без какого-то особенного алгоритмического заворота. По-моему их больше интересовало как человек подходит к задаче, структурирует код и программу, чем знание сортировки пузырьком. На удивление адекватное интервью, одно из немногих таких.
        В гугле, конечно, тебя сразу посылают на leetcode, никто с тобой даже не говорит до этого. При чем неважно на какую должность, хоть баристы.
        Самое интересное, что так же делают и многие другие совсем-не-гугл компании и стартапы. Пытаются даже как можно сложнее сделать интервью, чтобы потом сказать «да мы еще круче чем гугл! видели наше интервью? сеньоры из гугла даже до половины не доходят!». Однако на сложности интервью все сходство с гуглом и заканчивается, все остальное в компании на уровне рога-копыта и код написаный на индусских ободранных коленках, дебилы в менеджменте и никто не компетентен. Карго культ во всей своей красе.
          +1
          Мое интервью в Гугле было самым неприятным из всех. Сначала согласование даты растянулось чуть ли не на месяц, а в конце парень который этим занимался и отвечал на письма неделями ушел (или его ушли). Потом интервью отменили и перенесли меньше чем за сутки из-за непогоды (пошел снег, а в Сиэтле это может быть неприятно, safety!). В день интервью инженеры чудо-фирмы были банально неготовы, первый из них не мог найти комнату на этаже и мы бегали кругами минут 10, он же не знал, что время каждого слота сократили до 45 минут и к нам вдруг вовсю начал стучаться следующий. Другой инженер (не знаю какой) задал не тот вопрос и в результате пришлось решать еще одну задачку, а потом проводить из дома видео сессию по leadership principles (ой, мы забыли). Так что план интервью который мне предоставил рекрутер сильно расходился с действительностью.

          В дальнейшем желания иметь с ними дело нет абсолютно никакого.
            +1
            К чести фейсбука надо сказать что на кодинг интервью на Production Engineer у них не было никакого трэша типа hackerank/leetcode, вопросов из «Cracking the Coding Interview» и прочего булшита.

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

            Что вы подразумеваете под «посылали»? Устраивали online assessment там?
              +1
              Это телефонное или онсайт?
              По видео, вакансия была в Лондоне.
              Что вы подразумеваете под «посылали»? Устраивали online assessment там
              Да, прислали ссылку на задачу, все разговоры после нее. То же самое и с Амазон, кстати.
                0
                Да, прислали ссылку на задачу, все разговоры после нее. То же самое и с Амазон, кстати.

                Действительно, у Фейсбука одного из немногих Big Tech компаний нет этапа online assesment. А сколько у вас было лет опыта на момент разговора с Гугл, если не секрет? По моим данным, Big Tech компании, кроме Амазон, дают онлайн тестирование, только если у кандидата мало опыта. А вот Амазон дает его в качестве первого этапа всем без разбора.
                  0
                  Ну у меня действительно было мало опыта когда в гугл пробовался, года 4 где-то.
            0

            "множество собеседований с другими компаниями в Долине, включая Google и Tesla."
            Множество образовалось в процессе поиска работы или Вы ходили на них фоном, чтобы просто быть в курсе что и как на рынке труда?

              0

              И так, и так. Здесь некоторые регулярно ходят по собеседованиям, даже когда их в текущей компании все устраивает — чтобы оставаться "sharp" и понимать, что сейчас доступно на рынке.

              +1
              1. Скорее всего вы получите 100 звонков от бодишоперов которые будут рассказывать, что вам выпала честь! попробовать поработать за 30 баксов в час в самом гугле! при этом интервью будет назначенно в кампусе гугла. Был забавный опыт в первый месяц после переезда когда попался на бодишопскую удочку и было интервью с «чудом в тапках на босу ногу» в одном из капусов Эппла :-). А вот 101 будет звонок от самой компании
              2. Очень важно внимательно посмотреть на компанию в этот самый первый пробный день. Был второй неудачный опыт с этой же фруктовой компанией — интервью было простое, но насторожило слегка (мягко сказано) скотское отношение к нанимаемым сотрудникам. В итоге яблочное пюре было послано с оффером.
              (ЗЫ возможно мне «везло». так как у супруги было ровно обратное и она получила и теплое место и дружную команду в этой же компании)
              А вот самый интересный опыт пробного старта был в текущей компании: после часа «интервью с белой доской и маркером» был 3х часовой обед с большим количеством махито на ранчо одного из директоров. В итоге — клевый оффер и очень интересные задачи.
                +1
                Не понимаю почему во всех статьях подобного рода так игнорируется визовый вопрос. Компании на это обращают внимание и довольно серьезно, может конечно DevOps инженеры не такие ценные, как Software Engineers, но у меня на визе L-1, которая привязана очень жестко к работодателю без возможности переноса на другого, одна за другой компании FAANG говорят «а давайте вы получите грин карту сначала». Не хотят они заморачиваться с визами, когда сотрудник нужен условно «завтра». В Apple меня сразу прокинули на менеджера, который нанимает себе команду и он визуально сильно разочаровался, что не может меня нанять прямо сейчас из за заморочек с визой. В Facebook обещали прислать опросник для «иммиграционного отдела», по законодательству заявки на H1B можно подавать только раз в год и если вы проходите интервью сейчас, можно рассчитывать на найм только в следующем ноябре (апрель подача заявок, ноябрь фактический найм). Ни в одной статье на хабре это не упоминается. Вечно все в стиле «если очень захотеть», ну вот я тут уже в штатах второй год, очень хочу, а что толку, мимо визы никак не проскочишь.
                  0

                  Что я могу сказать работало: старайтесь обсуждение вопроса с визой отложить на самую финальную стадию (особенно если ваша ситуация "сложная"), когда вам уже готовы дать оффер. На тот момент, рекрутер (и возможно hiring manager) уже committed сильно и будет делать все возможное, чтобы так или иначе этот вопрос решить.

                    +1
                    Так они тоже не дураки, вопрос о визе и спонсорстве обычно задается на ранних этапах. Не узнать это сразу будет большим косяком рекрутера.

                    К нам в Амазон переходил сотрудник с H1B, не получилось. В теории H1B позволяет менять работодателей, а на практике это нудный бюрокатический процесс с негарантированным результатом.
                      0
                      Вчера ответили из facebook, что не готовы спонсировать мне визу. Сегодня читаю вот это. Похоже эра переездов в кремниевую долину закончилась.
                    +2
                    Добавлю чуток из своего опыта (после интервью в Amazon, HBO, Facebook, Apple, Google, Uber).

                    1) Совсем не обязательно фокусироваться на долине. Сиэтл отлично представлен крупными и не только игроками. Жить здесь дешевле, налоги ниже, климат другой и природы на мой взгляд больше. Кому как нравится. Сейчас так вообще все работают удаленно и ожидается что многие фирмы станут более гибкими в этом вопросе, чем раньше. Все понимают, что WFH (work from home) после эпидемии станет более привычным явлением, хотя и раньше с этим проблем обычно не было.

                    2) Если сидеть на Литкоде то лучше на уровне Hard и не тратить время на остальное. Задачи на backtracking (перебрать все варианты), dynamic programming и доска/сетка с ходами по ней (с препятствиями и без) наиболее часто встречающиеся, должны от зубов отскакивать, что называется. В моем случае успех или неудача определяли скорее встречал ты уже эту/похожую задачу или видишь ее впервые. Если встречал, то код писался легко и все складывалось отлично. А если впервые, то за 45 минут (а это обычное время одного слота) и решить задачу и написать весь код будет непросто — можно успеть решить, но не успеть написать код. Так что большой багаж решенных задач будет самым полезным.

                    3) Интервью на system design в моем случае оказались намного проще чем я ожидал. Обычного опыта вполне хватило (а я перелопатил тонну материала от AWS и многих других источников), сильно налегать и готовиться оказалось лишним, лучше было решить еще штук 100 хардов на Литкоде.
                      +1
                      Если сидеть на Литкоде то лучше на уровне Hard и не тратить время на остальное.

                      Сколько процентов задач на собеседованиях из вашего опыта были хард? И на каком этапе телефонное/онсайт? Возможно, в Америке уровень задач на собеседованиях отличается, потому что я проходила собеседования в Европе в Google, Amazon, Facebook, Microsoft, Bloomberg и везде кроме онсайта у Google были задачи easy/medium.

                      И мне кажется, всё-таки сразу начинать с хард не совсем универсальный совет. Хорошо, если у вас получаются задачи медиум, а если нет? Не будет видно прогресса и можно быстро потерять мотивацию. В то время как на телефонное будет скорее всего достаточно уровня медиум. А до онсайта еще будет время перейти к хард.
                        +2
                        На он-сайт хард были не все, конечно. Но по моим ощущениям добрая половина в Эппле, Убере и Фейсбуке. Телефонные интервью обычно легче, согласен. В Гугле, кстати, задачки были менее типичные, т.е все пришлось решать с чистого листа, хотя готовился я несколько месяцев. В Убере, Эппле и Фейсбуке были уже более типичные. Самая халява в плане задач это, конечно, Амазон. Там обычно спрашивают совсем легкие задачи, если готовиться и сложность скорее с LP (leadership principles). Судят строго, сам принимал интервью.

                        Да, конечно, начинать с харда и не получится, я сам начинал с easy, потом перешел к medium и уже потом решал только харды. На самом деле, если войти во вкус, решать ниже харда уже не так и интересно, по крайней мере так было у меня. Да и харды тоже много кода никогда не требовали. Просто хитрее. В результате кода не больше 10-20 строк, больше ж на интервью все равно не успеть.
                        0
                        А на leetcode новую hard задачу Вы сейчас примерно за какое время решаете? Пользуетесь ли интернетом во время решения?
                          0
                          Дома на скорость я не решал. Когда готовился осенью, то одну или две за вечер разбирал, чаще всего одну, так как залипал со скоростью чтобы попасть в топ решений. Литкод требует больше чем на интервью, на самом деле — 1) отработка всех крайних вариантов до полной корректности и 2) скорости. На интервью же этого нет, особенно если код пишется на доске. В Гугле мне давали Хромбук, но только как редактор, код не запускался (самое смешное что интервьюеры тоже доступа к коду не имели и вынуждены были его списывать с экрана).

                          Кстати, я всюду ходил со своим Хромбуком и если меня просили писать код на доске предлагал «А давайте вы сядете рядом и я на лэптопе, так будет удобнее». Некоторые охотно соглашались, и мне потом файлик в коллекцию вопросов.
                            0
                            Не посоветуете что нибудь именно по самому процессу решения? Сам сижу на hackerrank на easy. И простые решаются практически на автомате, а как пытаюсь medium — сразу «слишком сложно» и мыслей никаких.
                              +1
                              Подсматривать ответы, конечно. На Литкоде либо есть ответ, либо форум, где решений полно. Я тоже часто бился часами в полном затыке, пока не лез в решения. Потом перестал мучаться и если задача не шла ни в какую (давал себе час или два) — смотрел решение или гуглил. Важно ж много решений насобирать, совсем не критично ко всем придти самостоятельно. Время дороже. А если на интервью попадется что то зубодробительное, ну значит не судьба. Для этого я шел на интервью с чуть ли не десятком компаний.

                              Полезно еще просматривать чужие решения, на случай если кто придумал что-то классное. Я обычно пролистывал форум на Литкоде и смотрел есть ли что кардинально другое.
                                0
                                Да, из книг (если есть время) как я понимаю хороша «Elements of Programming Interviews in Java: The Insiders' Guide», хотя сам я с ней еще на работал, оставил на след заход. Широко известная и рекомендуемая «Cracking the Coding Interview» мне не очень помогла. И другие люди тоже не очень советовали с ней связываться, слишком банальная.
                                  0
                                  А сколько времени вы тратите на попытку решения medium? На leetcode бывают еще подсказки. На самом собеседовании интервьер обычно пытается направить/подсказать, поэтому возможно имеет смысл тренироваться с кем-то, кто знает решение. Есть даже специальные платформы вроде Pramp. А может просто вы сейчас в процессе накопления подходов к решению medium задач и через какое-то время все начнет получаться. Возможно будет полезным этот разбор наиболее встречаемых паттернов в задачах.
                                    0
                                    Я на хакерранке сижу, там подсказок нет. Может быть и правда стоит тратить побольше времени даже на неудачную попытку решения medium. Но вообще мне кажется, у меня просто с теорией не очень и для начала надо прочитать что-то типа Кормена, медленно и вдумчиво.
                                      0
                                      Ни подсказок, ни решений? Если так, то это сильно уступает литкоду, где мало того, что часто есть решения (и даже несколько) плюс форум на каждую задачу, так еще и бенчмарк на производительность. Где медленное «в лоб» решение просто выкинут через полсекунды с ошибкой «Time Exceeded».

                                      Чтение книг и университетские курсы займут, к сожалению, слишком много времени. Хотя если не хватает базы, то да, без нее не обойтись. Тут поможет любой обычный базовый курс или книга по структурам данных и алгоритмам (Кормен я бы сказал будет слишком большим трудом для цели прохождения интервью). Честно, становиться спецом в алгоритмах и хорошо пройти интервью — это две разные вещи. Тут ведь важно помнить — интервью всегда ограничены по времени и задачи не могут быть очень сложными или запутанными, так как кандидаты должны в своей массе их решить и написать *весь код* минут за 30. Соответственно чисто на код порой остается минут 10-15 (а бывает и того меньше). Там просто не может быть никакого заумного алгоритма.

                                      Поэтому я верю, что очень помогает видеть готовые решения. Не подсказки, а именно *готовые решения*, чтобы в голове в результате начала вырисовываться картина типичных подходов. А они таки довольно одинаковые в результате. Ссылка в пред ответе отлично их суммирует! Рекурсия, проходы по деревьям, хождение по доске, dynamic programming, бектрекинг, сдвигающееся окно в массиве, двойные поинтеры и так далее. Шаблоны решений неизменно выстраиваются в голове с количеством разобранных задач, которые рано или поздно повторяются.

                                      Лучше всего, думаю, получается у чуваков увлеченных competitive programming. Не знатоков множества алгоритмов, а людей, которые уже нарешали сотни и тысячи задач. Это совсем не rocket science. Временной лимит жестко ограничивает размер решения, оно по определнию будет четким и коротким.

                                      Еще есть вариант это платные курсы типа outco.io, interviewhelp.io, techseries.dev/interview но это слишком дорого и на мой взгляд того не стоит (у Outco просто конские цены, в варианте без предоплаты они просят 10% *годовой зарплаты*, если я правильно помню). Несколько месяцев Литкода или любой другой похожей платформы где есть готовые решения должно вполне хватить.

                                      Пара ссылок:



                                        0
                                        Согласна, что литкод лучше для подготовки, сама в какой-то момент на него перешла c хакерранка. Там обычно лучше тестовое покрытие и гораздо больше решений от коммьюнити. Плюс все эти решения оцениваются и комментируются, если есть ошибка, на нее скорее всего укажут. Ещё мне нравится на литкоде читать свежие задачи с собеседований и реальный опыт прохождения в дискуссиях.
                                          0
                                          Я не помню на какой платформе, может это тоже был хакеранк, но во время телефонного и очного интервью мы не просто набивали код и останавливались, а сразу запускали его с разными вводными данными. Это было дико удобно и прогрессивно, хотя и несколько волнительно кликать в Run :) Даже в Гугле на самописной платформе (а как же иначе, все только свое) ничего подобного и близко не было.
                                            0
                                            Да, проверил, это был hackerrank.
                                        0
                                        Кормен, кмк это оверкилл для медиум задач. Возможно, стоит присмотреться к курсу от Седжвика на курсере, там в двух частях рассматривается все необходимое. Ну или как вариант еще пробовать решать задачи по темам подряд.
                              +1
                              Спасибо большое за полезную статью!
                              И самое главное — этот же рекрутер с радостью свяжется с вами опять через полгода-год. Вы уже попали «в систему».

                              А если рекрутер не связывается через год, есть смысл напомнить ему о себе? Или это не работает, так же, как с отправкой резюме?
                                +1
                                Очень даже стоит напомнить о себе, конечно. Это вообще никогда лишним не бывает. Личный контакт с рекрутером на LinkedIn или в почте — уже большой плюс.
                                +1
                                А если рекрутер не связывается через год, есть смысл напомнить ему о себе?

                                Конечно — у вас же будут его прямые контакты! Даже если он уже не работает в компании, кто-то будет мониторить его ящик все-равно, и вам ответят.

                                  0
                                  Какой порядок действий более правильный: сначала устроиться в компанию, а потом переезжать или же наоборот? Некоторые компании не особо хотят брать людей, которые проживают слишком далеко от предполагаемого места работы.
                                    0
                                    Сначала надо будет устроиться. В Штаты без работы и визы просто так не приехать (а приехать туристом и искать работу незаконно), в Германию можно приехать с визой для поиска работы: bit.ly/3dsSOHe

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

                                    Мдя, у нас в Японии все работает немного иначе...

                                    Только полноправные пользователи могут оставлять комментарии. Войдите, пожалуйста.

                                    Самое читаемое