В этой статье я хочу поговорить об этапах отбора в FAANG (он же MAANG) компании. Сразу оговорюсь, что к таким компаниям я отнесу не только компании, которые входят в аббревиатуру, но и все компании, которые проводят собеседования по такой же системе.

И так, как выглядит типичное собеседование в такие компании (в зависимости от компании/позиции набор секций может отличаться, я опишу наиболее часто встречающиеся). Первое, что происходит везде - созвон с рекрутером. Тут в целом все стандартно, задаете друг другу пару вопросов и дальше рекрутер минут 10 дает описание проектам, которое улетает у тебя из головы сразу как только ты покинешь звонок. Вторым этапом идет технический скрининг, который может провести рекрутер, тогда это будет сделано в пункте 1, либо отдельным звонком технический специалист. Дальше начинается самое интересное: общение по твоему языку и стеку, алгоритмическая секция, сис дизайн, behavioral (она же поведенческая) секция. На этих этапах остановимся поподробнее. 

Вы только вдумайтесь, чтобы с нуля подготовиться к собеседованию (с нуля, это не значит, что ты решил "вайти в айти", а хочешь пройти собеседование в FAANG like компанию первый раз, либо после долгого перерыва) приходится как минимум год решать алгоритмические задачки с LeetCode, HackerRank или любого другого аналога. Это напоминает мне подготовку к экзамену. Просто подумайте, что успешное прохождение этой секции может сказать о кандидате? По мне так то, что он успешно может решать задачки с LeetCode, так что если для позиции важен такой навык, то это безусловно плюс.

Потом начинается подготовка к сис. дизайну, на котором обычно просят спроектировать какую-нибудь популярную соц. сеть или что-то около того, поэтому логично будет заняться изучением и запоминанием этого процесса, например, с помощью всем известной книге Grokking the system design interview. Этот этап выглядит более полезным, чем предыдущий, но только лишь с первого взгляда. Во-первых нужно понимать, а действительно ли от кандидата будут требоваться навыки построения таких систем или он будет сидеть и фиксить пару багов за спринт? Даже если и нужно, опять же, далеко не всегда прохождение секции сис дизайна в таком виде даст понимание о навыках кандидата. Он может не иметь вообще никакого реального опыта проектирования сложных систем, но заучивание и получение навыка прохождения таких секций вполне достаточно для получение апрува.

Третьим этапом идет поведенческая секция. Тут я даже не знаю, что сказать. Для тех, кто не знает, на этой секции обычно у тебя  спрашивают про разные ситуации, которые могут возникнуть в ходе работы (например, конфликты/споры и тд) и как ты их решал. Хм, что можно на такое ответить? Наверно, вспомню какую-нибудь ситуацию, где условный джун Вася, которого я менторил, создал пр, я его поревьювил, а у Васи возникли вопросы к моим комментам и вместо того, чтобы конструктивно поговорить с Васей, я ему сказал иди в лес и иди переделывай, ведь я синьор? Конечно нет. Я просто придумаю парочку историй с небольшими конфликтами и как мы с коллегами это все хорошо разрулили, сделали выводы и обещали больше так никогда не делать. Амазон даже сформировал принципы лидерства Leadership Principles, на которые нужно опираться отвечая на такие вопросы. В итоге на этой секции от кандидата можно узнать, насколько хорошо он придумывает конфликтные ситуации и выходы из них. 

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

И так, вот ты прошел такой путь подготовки и дальше… правильно, можно начинать проходить мок интервью и только после этого уже можно аплаиться на реальные вакансии. Итого получаем, что подготовка к собеседованию может занять где-то 1.5-2г (безусловно есть и те, кто это делает гораздо быстрее и те, у кого уходит еще больше времени). Много это или мало и стоит ли того, каждый для себя решает сам, но у меня напрашивается такой вывод.

Прохождение собеседования не имеет практически ничего общего с реальным опытом работы. Это такой же навык как и владение java/c++. И тогда возникает вопрос, а для чего все это вообще нужно, если таким количеством этапов отбора проверяется не технический уровень кандидата, а его умение проходить эти этапы?

P.S.

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

Комментарии (48)


  1. middle
    00.00.0000 00:00
    +2

    Просто подумайте, что успешное прохождение этой секции может сказать о кандидате?

    Хм, что он (само-)обучаем?


    1. Wrench_IT
      00.00.0000 00:00
      +5

      Вообще, если на собесе дают задачки с литкода, решения которых 100500 раз обсосаны в сети, и кандидат их решает с закрытыми глазами, это может говорить банально о том, что у него хорошая память, но вот вообще не факт, что у него есть именно понимание алгоритмов (а самообучаемость все же именно про понимание того, что изучаешь). Шутка про красный от стыда диплом не на пустом же месте появилась: человек с такой корочкой может быть как реально мотивированным спецом с отличной соображалкой, так и всего лишь счастливым обладателем хорошей памяти — просто учит билеты, просто сдает и получает "отлично", даже не особо понимая, а что он, собственно, только что рассказывал экзаменатору. Из таких потом, конечно, могут получиться неплохие кодеры, но уж никак не программисты.


      1. middle
        00.00.0000 00:00
        +7

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


        1. Wrench_IT
          00.00.0000 00:00

          всегда требуют озвучивать свои мысли

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

          P.S. Неужели вам никогда не доводилось сталкиваться на собесах с подобным формализмом?


          1. middle
            00.00.0000 00:00

            Видимо, мне везло. Но если кто-то неправильно применяет метод, обычно виноват не метод.


        1. vedenin1980
          00.00.0000 00:00

          всегда требуют озвучивать свои мысли. И если их нет, то это заметно.

          Но ведь заучить алгоритм, заучить какие мысли нужно озвучивать тоже не сложно.

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

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


          1. middle
            00.00.0000 00:00
            +1

            Ну, всё вы не выучите.

            Но и в данном случае -- вы продемонстрировали, что обучаемы.


      1. Chvanikoff
        00.00.0000 00:00
        +5

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


        1. ugenk
          00.00.0000 00:00
          +1

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


          1. VFaland
            00.00.0000 00:00

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


      1. lolekaheheka
        00.00.0000 00:00
        -5

        решения которых 100500 раз обсосаны в сети

        Очередная рефлексия второкурсника, которого не взяли на стажировку в яндекс? А про то, что если ты знаешь задачу, то нужно сказать, что ты знаешь решение и попросить другую... Нет, так нельзя? И попросить реально хорошую задачу на подумать...

        > Шутка про красный от стыда диплом не на пустом же месте появилась
        На пустом. 60% советских и российских инженеров - троечники и тугодумы. Оставшиеся 40% - свалили. Я как-то работал с чуваком, который 10 лет С++ Синьёр. И он тупа "забыл", что shared_ptr при передаче в функцию копируется. Он думал всё время, что С++, как C#. Такой ор дикий был... Скажешь, что все совершают ошибки. Но не в каждой строчке кода же...


    1. Jaive Автор
      00.00.0000 00:00

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


      1. qqrm
        00.00.0000 00:00

        Ах, если бы. Обычно у ремесленников как раз-таки база хромает. Так как знания полученные практикой чаще всего поверхностные, но достаточные для решения конкретных задач.


        1. Jaive Автор
          00.00.0000 00:00
          +1

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


          1. qqrm
            00.00.0000 00:00

            Чем выше требования к производительности кода - тем больше требуют понимания алгоритмов, структур данных, методов оптимизаций, низкоуровневых языков. Но в большинстве случаев база не нужна чтобы дёргать апи/слать json'ы, благо все уже написано для этого. Но фаанги обобщили найм, чтобы общая инженерная культура была повыше, так как задачки решают самые разные. Но там и зп соответствует. Так что культ карго в собесах не приветствую.


  1. stackjava
    00.00.0000 00:00

    Нужно просто признаться, что мы не умеем проводить собеседования.

    Не все идеально в процессе собеседования, но вывод какой-то панический, мне кажется.


    1. Ivan22
      00.00.0000 00:00

      и это загадочное "мы" применительно к FAANG :)))


  1. Skykharkov
    00.00.0000 00:00
    +18

    За много лет в IT и собеседовал и был собеседуем. IMHO, фигня это все. Собеседование, всегда стресс для обеих сторон. Ни кандидат не получает знаний о работодателе, ни собеседующий ничего не получает от кандидата. Ну насколько же проще дать примитивное тестовое задание и дать пару суток времени на его выполнение... Намного лучше узнаешь как человек работает не в стрессе, не в панике и бинарные деревья сортирует за O2, прости господи... Стрессоустойчивость, социальность и все такое прочее, что якобы собеседование должно выявить, ничего не говорит о кандидате. Лучшие, с кем я работал, никогда бы не прошли никакое собеседование (в текущем понимании этого слова). Все чуть аутисты, никакой социальной составляющей, но если дать им время и просто не трогать, то выдавали результат в разы превосходящий ожидаемый. Да я и сам такой. Оставьте меня на пару суток с проблемой, я разорву её как тряпочку. А задайте вопрос на собеседовании - буду "мэкать" и "бэкать".


    1. Arhammon
      00.00.0000 00:00

      "но если дать им время и просто не трогать" "Оставьте меня на пару суток с проблемой, я разорву её как тряпочку." в плане собеседований и социально составляющей, всё то же самое, десяток другой раз попрактиковаться и уже не бе, ме - а Цицерон)


      1. KongEnGe
        00.00.0000 00:00
        +1

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


    1. Jaive Автор
      00.00.0000 00:00

      Полностью согласен за исключением тестового. Ну кажется тестовое тоже не очень (да и кто в нынешних реалиях будет вообще его делать, а не возьмет вакансию дальше по списку?). Я тоже не понимаю, вот забыл я ответ на X (придумай любой) вопрос, после собеса я загуглил и через 10 сек вспомнил и что незнание ответа на 10 таких вопросов должна сказать обо мне? По мне так лучший способ понять подходит кандидат или нет - просто на месяц брать всех подряд без отбора и если человек справляется - подходит, но это невозможно.


      1. Skykharkov
        00.00.0000 00:00
        +1

        Кстати, да. Еще до все этой "модной моды" чуть ли не по знакам зодиака отсеивать кандидатов, людям давали тупо пару недель поработать. С какой-то оплатой минимальной. Я сам так сисадминов набирал. Собеседование было в формате "А витую пару обжать сможешь?", "Винду переставить?", "Блок питания в компе поменяешь?"... Даже если нет, но огонь в глазах виден - брали... И давали людям время освоится и понять специфику. Это большая сеть, действительно больших магазинов, в большом городе. Кто-то уходил сам, кто-то (но это прям клинический случай) вообще необучаем оказывался. Но те кто оставался, с лихвой перекрывали все затраты на таких "стажеров".


    1. GigaLORDex
      00.00.0000 00:00
      +1

      Согласен. Тоже самое у меня.

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


      1. ilia_bonn
        00.00.0000 00:00

        И Вы, получается, автоматом 12 фирм отсеяли. Раз у них так кадровое дело поставлено, то éсть вероятность, что и будущие условия труда для Вас были бы не такими комфортными, как это было бы возможно и уместно ;)


    1. Antern
      00.00.0000 00:00
      +1

      Диаметрально противоположный опыт. Когда собесили меня - всегда получал +/- цельное представление о том, чем является контора: степень "галерности", отношение к сотрудникам, подход к рабочим процессам. Если говорят недостаточно - можно ведь всегда задавать вопросы.

      С другой же стороны - когда собесил к себе на проекты - фолз-позитив = 0, возможно, ценой некоторого количества фолз-негатив. Хорошим результатом считаю понимание того, сработаемся ли, потянет ли кандидат задачи, а так же, удастся ли заонбордить в разумные сроки.

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

      А вот на тестовые задания - аллергия. Просить бесплатно делать работу за несколько дней у кандидата - это, как минимум, не очень красиво, как максимум - глупо: у кандидата выбор работодателей шире, чем наоборот. А давать два дня на выполнение работы на полчаса - не понятно как оценивать. Я предпочитаю задавать вопросы вида: "вот такие код/условия есть, нам нужно добавить это и это, опишите, на словах, что и куда будете делать". Как мне кажется, тут важно знать, в правильную ли сторону человек будет копать, верно ли оценивает ситуацию, а не способность человека руками закодить сотню-другую строк, с чем справится любой, ответивший на вышеприведённый вопрос.

      Вопросы по алгоритмике - избирательно, с какого-нибудь литкода, но прошу не накодить рабочий вариант, а описать словами решение, и почему оно. Какие возможны пути оптимизации. Насколько хорошо решается проблема из задачи - достаточно/уместно ли.

      Вопросы по стеку - по тому же принципу. Общее описание структуры/архитектуры библиотек-фреймворков, цели, возможности и плюсы-минусы (личное отношение). Что куда и с чем сообщается. То бишь, не "что" проиходит, а "почему". Личное отношение к деталям хорошо показывает глубину погружённости, как и абстрактное знание.

      И последнее. Стресс, обычно, очень сильно влияет возможности писать код по таймеру, когда над тобой нависают собеседующие, которые скучающе поглядывают на часы и отвлекаются в телефоны при первой же возможности. Когда же человек погружается в собственные мысли, участвует в диалоге и "захвачен" решением проблемы, а не судорожной попыткой вспомнить фрагмент из RFC, - влияние стресса не так значительно.


  1. akorobko
    00.00.0000 00:00
    +7

    О чем статья то? Как инсайдер со стороны FAANG (проводил много собеседований и сам), могу сказать, что вы абсолютно не разобрались в процессе и его смысле.


    1. skywalk7
      00.00.0000 00:00
      +4

      Да, согласен - заметка бред.


    1. hardtop
      00.00.0000 00:00
      +2

      А можно коротко, зачем такое количество вопросом на собесе, которые так слабо соотносятся с конечной работой?


  1. skywalk7
    00.00.0000 00:00
    +4

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

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

    Ну это тоже самое, что придумать c нуля работающий код, который раньше никогда не писал. Удачи :)

    приходится как минимум год решать алгоритмические задачки с LeetCode,
    HackerRank или любого другого аналога. Это напоминает мне подготовку к
    экзамену

    Бред, максимум 2-3 недели чтобы освежить кое-какие алгоритмы, что не писал со студенческой скамьи. А так то все постоянно встречается.


    1. Jaive Автор
      00.00.0000 00:00

      Проблема в том, что продемонстрировать-то не знания, а то как ты подготовился к собесу.


    1. event1
      00.00.0000 00:00

      Бред, максимум 2-3 недели чтобы освежить кое-какие алгоритмы, что не писал со студенческой скамьи. А так то все постоянно встречается.

      Это для квалифицированных специалистов, которые не прогуливали пары по алгоритмам и структурам данных.


  1. kuznetsovkd
    00.00.0000 00:00
    +1

    Это простой тест ваших когнитивных способностей.

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

    Даже просто учитывая факт что вся инфа есть в открытом доступе и человек смог всё найти, подготовиться и "сдать экзамен" говорит очень о многом.


  1. Tuxman
    00.00.0000 00:00
    +2

    Аффтора, скорее всего обломали на интервью в FAANG aka MAANG, поэтому это очередной пост про то, что программисты каждый день не пишут деревья и сортировки, и вообще скил решать задачки на Leetcode не имеют ничего общего с реальной работой, скажем в Google (данные туда-сюда в protobuf передавать).

    По мне так то, что он успешно может решать задачки с LeetCode

    Вот ты собеседуешь, и у тебя есть 45 минут, как проверить кандидата? Пусть какую-нибудь задачку решит. Задачки на LeetCode и задачки на работе - параллельные реальности? Может быть. Но если приходит кандидат в филармонию, проходит прослушиванием, его спросят сыграть что-то, а он будет говорить, что играет уже на скрипке/дудке 20 лет, и сейчас ему это ваше тестовое задание не комфортно играть, но так то он умеет ни вопрос. А когда тебя наймут, ты что будешь делать? Может быть код писать, может быть дизайны писать?

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


    1. SquareRootOfZero
      00.00.0000 00:00
      +2

      Вот ты собеседуешь, и у тебя есть 45 минут, как проверить кандидата?

      Откровенно говоря, никак.
      Пусть какую-нибудь задачку решит.

      «Ну что-то же делать надо!» (с) анекдот


    1. Dmitri-D
      00.00.0000 00:00

      Вот ты собеседуешь, и у тебя есть 45 минут, как проверить кандидата? 

      Ну нет. Какие 45 минут? Автор не в теме. В амазоне и в гугле onsite собеседование 1 и 2 дня соответственно. Врочем, в гугл - на позицию staff engineer sde, не знаю как на более низких, может и 1 день. В амазоне всегда 1 день. Это пять собеседований и из них половина на кодинг и половина на LP. Собеседования ведут сами сотрудники, программисты, того отдела куда собеседуемый собирается и bar raiser, всегда из другого отдела. Сотрудников тренируют на проведение собеседований и переодически проверяют знания.


      1. Tuxman
        00.00.0000 00:00

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

        А то, что там on-site interview длится день или два - это просто выставляют много интервьюеров против кандидата. Причём, до смешного доходит. Указал что есть опыт Linux kernel - шестерёнки повернулись, и выставили против кандидата такого, что может по ядру погонять. Ведь FAANG, в отличие от других компаний, они градусник делают, против тебя всегда выставят на одну степень больше, чем ты, чтобы тебя grill на том самом subject matter. А после тебя берут в гугл писать Address Book ;-) с ты думал, что если и по кернелу прошлись, и по плюсам, и по базам, и по.. то что же за зверь такой им нужен :-)


        1. Dmitri-D
          00.00.0000 00:00

          Я такого ни разу не видел ни в одной компании. Собеседуемый уровень, действительно слегка выше, чем типовые рабочие проекты в начале. Но это в начале. А дальше соответствует или даже заметно ниже. Но если вы не тянете и не можете продемонстрировать даже заявленный в начале уровень и даже на более простых проектах, то просто уволят и всё, или, в лучшем случае, поставят на development plan.
          И еще - onsite собеседования в амазон всегда 1 день. Ни больше ни меньше. Не они выставляют много интервьюеров, а так прописан процесс. Нет никаких они. Решение давно принято, процесс расписан интервьеры откалиброваны, натренированы и знают что ожидать от интвервьируемого.
          Аналогично в гугле, только еще жестче, хотя могут освободить от technical assesment и между рекрутером и onsite никого не будет.


          1. PahanMenski
            00.00.0000 00:00

            И еще - onsite собеседования в амазон всегда 1 день. Ни больше ни меменьше

            Хм, в моей орге чаще всего 2 дня, по 2 этапа в день. Но это тупо из-за недоступности всех инженеров в один день.


    1. micronull
      00.00.0000 00:00
      +2

      Вот ты собеседуешь, и у тебя есть 45 минут, как проверить кандидата?

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


      1. VFaland
        00.00.0000 00:00

        Если 5-6 секций - то да, отличный тип вопроса на проверку определенного типа навыков, в одной из секций, для отсеивания "чукча не читатель". Встречал и сам давал вне ФААНГов, в ФААНГах тоже бывает но редко.


    1. Jaive Автор
      00.00.0000 00:00

      Я конкретно в сам FAANG никогда не собесился)


  1. KivApple
    00.00.0000 00:00

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

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


    1. Dmitri-D
      00.00.0000 00:00

      Я согласен с тем, что решать на leetcode и ограничиваться этим не стоит.
      Задачи такие разные за пределами leetcode. Кроме того, проходящий может и не узнать причину. Реально ведь не скажут что и почему. В правилах компании это не разглашать.
      И потом, почти любую простую, на первый вгляд задачу, можно завалить, если забыть поинтересоваться всеми условиями. К примеру -- это только пример для наглядности -- то что решается lookup массивом для ASCII алфавита, где 1 элемент -- 1 байт, совсем не может решаться для случая, если элемент 128 бит. Нет таких еще объмов памяти во всем мире ни на дискках, ни тем более RAM. А если не спросить, а тупо написать, то и результат будет неприемлем для соответствующих уровней. По-моему на leetcode этому не научат, а в гугле, например, на это очень обращают внимание - как задача масштабируется.


  1. mentin
    00.00.0000 00:00
    +3

    Что надо отметить первым - MAANG большой, а интервью очень вероятностный процесс. Как шутят, для любого человека в любой компании есть interview loop, который его бы в эту компанию не взял :).

    Но если уж писать статью про вещи специфичные именно для MAANG, то надо отметить что

    общение по твоему языку и стеку

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

    как минимум год решать алгоритмические задачки с LeetCode

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

    Оцениваются много сторон, далеко не только скорость кодирования. Однажды олимпиадника не взяли. Я был первым интервьюером, мою задачу он решил (в той версии как он ее интерпретировал), проблема была только в том, что задача не олимпиадная, а "из жизни", не четко определенная, и требовала выяснения подробностей условия, чего не было вообще (подозреваю он привык что на олимпиадах ничего кроме написанного условия нет, а опыта реальных задач нет). Я написал hire, но подробно объяснил интервьюемому наши ожидания и с чего стоит начинать решение, а следующих интервьюеров попросил обратить внимание. В конце концов его не взяли - хоть код писал он быстрее и лучше любого из интервьюеров, но к нему пришлось бы приставить на 100% времени коллегу следить что он пишет :( Но опять же, другие люди спрашивают задачи типа leetcode, и они его могли бы с радостью взять в ту же компанию.


  1. panzerfaust
    00.00.0000 00:00
    +2

    В этой статье я хочу поговорить об этапах отбора в FAANG

    ...

    Нужно просто признаться, что мы не умеем проводить собеседования.

    Так мы или фаанг? Вы определитесь со своей карьерной целью для начала. Если вы хотите красивую строчку в резюме, уникальный технический опыт, причастность к чему-то большому и потенциально большие бабки, то будьте готовы плясать под дудку фаанга. Кто платит, тот и музыку заказывает.

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


    1. Jaive Автор
      00.00.0000 00:00

      Мы - считай вся индустрия. Я в начале писал, что буду рассматривать не только FAANG, но и все компании, которые проводят собесы в таком стиле (и компании РФ в том числе).


  1. andreyds95
    00.00.0000 00:00
    +1

    Весь подход настроен на тех, кто может сосредоточиться и подготовиться. Навыки второстепенны


  1. event1
    00.00.0000 00:00

    И тогда возникает вопрос, а для чего все это вообще нужно, если таким количеством этапов отбора проверяется не технический уровень кандидата, а его умение проходить эти этапы?

    Тут есть два аспекта:

    1. всё-таки, если кандидат умеет проходить этапы, у него часто есть соответствующий технический уровень

    2. если делать в один этап с одним интервьюером, то последний будет виноват, если кандидат оказался не тем, кем казался. А ответственность — это то, чего в крупной иерархической структуре надо избегать. Если же интервью провели 15 человек, а кандидат оказался плох, то никто не виноват. Потому что 15 человек не могут быть виноваты одновременно