Wsparcie nas

Białorusin przeszedł rozmowy kwalifikacyjne w firmach FAANG (i nie tylko) i zgarnął trzy oferty. Oto jego wrażenia

Nasz czytelnik (który wolał pozostać anonimowy) nie tracił czasu — aktywnie uczestniczył w rozmowach kwalifikacyjnych w firmach z grupy FAANG. I zdobył więcej niż jedną ofertę! Opowiedział devby o swoich doświadczeniach.

Białorusin przeszedł rozmowy kwalifikacyjne w firmach FAANG (i nie tylko) i zgarnął trzy oferty. Oto jego wrażenia

Nasz czytelnik (który wolał pozostać anonimowy) nie tracił czasu — aktywnie uczestniczył w rozmowach kwalifikacyjnych w firmach z grupy FAANG. I zdobył więcej niż jedną ofertę! Opowiedział devby o swoich doświadczeniach.

Firmy, w których przeszedł rozmowy kwalifikacyjne:

  • Amazon
  • Google
  • Meta
  • Databricks
  • Waymo
  • Kilka firm HFT (High Frequency Trading).

Przez pewien czas ignorowałem zaproszenia na rozmowy, a potem zacząłem chodzić na wszystkie naraz.

Aplikowanie tylko do jednej firmy wydało mi się głupie: można nie dostać oferty i się rozczarować. Albo dostać, ale stracić 10-15% wynagrodzenia przez brak kontrpropozycji od innej firmy.

Ostatecznie przeszedłem 25-30 rozmów w różnych firmach (nie licząc wstępnych kontaktów z rekruterami). Otrzymałem trzy oferty, więc o porady dotyczące pomyślnego przejścia przez rekrutację lepiej pytać kogoś innego. Ja po prostu podzielę się swoimi wrażeniami.

Część techniczna

W dużych firmach IT rozmowy oparte na LeetCode wyglądają mniej więcej podobnie: w niektórych proponują uruchomienie kodu, w innych trzeba zapisać go w notatniku i przekonać rekrutera, że działa. Zazwyczaj proszą o dry-run kodu (co jest częścią oceny), czyli wykonanie go linia po linii. Tutaj można stracić dużo czasu, jeśli nie przećwiczy się tego wcześniej.

Wydaje mi się, że algorytmiczne przygotowanie studenta 1-2 roku studiów wystarczy do przejścia tego etapu: nie pytają o jakieś skomplikowane algorytmy, tematy są znane z wyprzedzeniem i można je przećwiczyć na LeetCode. W przypadku całkowitego zawieszenia się, rekruter podpowie, i nie będzie to oznaczać porażki. Rozwiązałem nieco ponad 50 zadań na LeetCode i patrząc wstecz, rozumiem, że warto byłoby rozwiązać drugie tyle, aby zwiększyć swoje szanse.

Główną trudnością jest to, że podczas rozmowy masz ograniczony czas. Meta na przykład oczekuje, że spędzisz tylko 15-20 minut na jednym zadaniu, włącznie z przejściem przez kod. Google jest bardziej rozsądny: daje 40 minut na zadanie o podobnej złożoności. Jeśli rozwiążesz je szybciej, rekruter prawdopodobnie zaproponuje dodatkowe pytanie lub zadanie za dodatkowe punkty, które mogą zrekompensować potknięcia z poprzedniej rozmowy.

W pracy piszę w C++ i w tym języku przechodziłem rozmowy. Okazało się to bardzo złym pomysłem: pisanie kodu wymaga dużo czasu, obciążenie poznawcze jest ogromne. Szczególnie bolesne było, gdy kod trzeba było jeszcze uruchamiać (przekonanie rekruterów, że kod w C++ działa, jest łatwiejsze niż faktyczne napisanie działającego kodu).

Dlatego poradziłbym programistom piszącym w C++ (i być może również w Javie) przejście podczas rozmów na Pythona. Oczywiście, jeśli taka opcja w ogóle istnieje. Miałem rozmowy w firmach spoza FAANG, gdzie naciskano wyłącznie na C++.

System design i Behavioral

System design nie mogę powiedzieć nic mądrego: w Google na poziomach L3/L4 i w Waymo na L4 tego typu rozmów nie ma, w Meta nie doszedłem do tego etapu, a w Amazon jest dość formalny, około 20 minut. Coś tam zaprojektowałem i tyle.

Do części behawioralnej zazwyczaj zaleca się przygotowanie historii w formacie STAR, ale rekruterzy sami zadawali pytania. Kiedy opowiadałem jakąś historię, po prostu obserwowałem reakcję i informację zwrotną rekruterów, starając się dostosować sposób prezentacji. To było coś w rodzaju testów A/B.

Z tego, co zrozumiałem, podczas części behawioralnej nie sprawdza się tyle umiejętności miękkich kandydata (wystarczy nie być psychopatą), ile zakres jego odpowiedzialności w poprzedniej pracy. Zasadniczo: jeśli opowiadasz historie o malowaniu jednego przycisku — ocenią cię jako juniora, jeśli odpowiadasz za duży projekt od początku do końca — raczej jako seniora. Największy nacisk na część behawioralną wydaje się być w Amazon. Na każdej rozmowie 20 minut jest przeznaczone na pytania behawioralne.

Nieoczywista wskazówka przy tworzeniu CV: zewnętrzny headhunter doradził mi, by dodać do każdego punktu technologię/język, w której/którym zrealizowany został projekt. Posłuchałem i dosłownie do każdego wiersza na stronie dopisałem C++, i to naprawdę zadziałało: rekruterzy zaczęli mówić «you have a lot of C++» i liczba odpowiedzi wzrosła.

W jakich firmach miałem rozmowy, co tam zauważyłem i jaki był rezultat

Do Meta aplikowałem przez polecenie. Lista zadań jest tam znana (około 100), ale wymagają idealnego ich rozwiązania w 15-20 minut. Sprawdzają raczej zdolność do monotonnego przygotowywania się. Ale jednocześnie to najbardziej przewidywalne rozmowy — zadania są znane i można rozwiązać wszystkie z wyprzedzeniem.

Zacięłem się podczas rozmowy + nie udało mi się nawiązać komunikacji z rekruterem (był z Indii i trudno mi było zrozumieć akcent), w rezultacie nie przeszedłem screeningu. Właściwie zaproponowano mi kontynuowanie rozmowy na niższym poziomie (E5->E4), ale odmówiłem. Nie pozbawiało mnie to możliwości ponownej próby na E5 po pół roku.

Google byłem w bazie od 4. roku studiów (po prostu wysłałem tam CV) i zaczęli mnie okresowo zapraszać na rozmowy. Ta firma wydaje się bardziej sprawdzać umiejętność myślenia (moje wrażenie). Zadania są bardziej losowe (rekruterzy mogą pytać o cokolwiek w ramach algorytmów i struktur danych z listy), a wyciekłe zadania szybko usuwają.

Przyjąłem zaproszenie tylko raz i otrzymałem ofertę.

Amazon skontaktował się ze mną manager zatrudniający — porozmawialiśmy, opowiedział o zespole, ogólnie mi się spodobało, więc umówiliśmy rozmowę. Wydaje się, że w tej firmie wszystko zależy od zespołu. U mnie było dość łatwo, pod względem trudności wydają się być na dole stawki. Dostałem ofertę. Mój znajomy w C3, przeciwnie, miał bardzo trudno — więc to także loteria.

Databricks skontaktował się ze mną manager z jednego z ich biur. Ale w końcu go zawiodłem. To była najtrudniejsza rozmowa pod względem oceny (miało być osiem etapów).

Samo zadanie nie było trudne, ale kod musiał koniecznie działać i trzeba było wymyślić testy. Szybko zaprogramowałem, a potem przez 10-15 minut łapałem różne segfaulty w kodzie, aż skończył się czas. Po rozwiązaniu rekruterzy (było ich dwóch i obaj brali udział) powiedzieli «looks good to me», a potem dostałem odmowę z informacją zwrotną, że kod nie działa, co automatycznie oznacza «no hire». Ogólnie oczekują idealnego rozwiązania.

Waymo rozmowa przypomina tę z Google, ale kod trzeba uruchamiać (zadania były bardziej związane z implementacją niż algorytmami). Zadania były nieco ciekawsze (bardziej otwarte). Dostałem ofertę.

Netflix nie próbowałem: w Europie chyba nie ma wakatów.

Microsoftu nie rozważałem.

Apple otrzymałem odmowę na etapie CV.

Czy kryzys pogorszył oferty FAANG?

Kryzys objawia się tym, że oferty pracy są umieszczane w krajach o niskich wynagrodzeniach. Rekrutację przenoszą do Serbii, Polski, Rumunii, Indii itp. Wcześniej mogły to być Niemcy, Szwajcaria, Wielka Brytania, Irlandia, Holandia. Tam wynagrodzenia są znacznie wyższe, a ponadto łatwiej byłoby przenieść się do USA po roku pracy.

Od razu dostanie się do amerykańskiego biura jest trudne, ale po roku pracy można spróbować przenieść się na wizę L1.

Kim trzeba być, aby otrzymać ofertę od FAANG w czasie kryzysu

Rozmowa kwalifikacyjna to loteria: zarówno trudność zadań, jak i styl zachowania rekruterów są zmienne. Są tacy, których interesuje twój tok myślenia, wtedy rozmowa bardziej przypomina dialog, w trakcie którego wspólnie rozwiązujecie trudne zadanie. A bywa, że rekruter po prostu daje zadanie i patrzy, czy je rozwiążesz. Jeden z nich tak mi właśnie powiedział: «Nie mów, tylko rozwiązuj». Rozwiązałem — postawił mi «hire».

Myślę, że gdybym miał teraz przejść je wszystkie ponownie, to prawdopodobnie niektórych ofert bym nie otrzymał, ale zamiast nich dostałbym inne. Zwiększyć szanse pomaga praktyka rozwiązywania zadań (dziesiątki podobnych) i praktyka samych rozmów.

Uważam, że po przejściu filtra CV i praktyki LeetCode każdy przeciętny programista może realnie otrzymać ofertę w Amazon, Meta lub Google — nie trzeba być geniuszem. Wystarczy być studentem/początkującym programistą. Tak, LeetCode wymaga czasu i motywacji, ale tutaj juniorzy mają przewagę. Kiedy już się wyszkolisz, dobrze byłoby odbyć staż w jakiejkolwiek dużej firmie produktowej na Białorusi + mieć GitHub z realnymi projektami (to z jakiegoś powodu pomaga przejść filtr rekruterów, chociaż i tak nie mogą ocenić zawartości). Potem można ubiegać się o stanowiska juniorskie — L3 w Google i L4 w Amazon w Polsce. Po 2-3 latach dobrego doświadczenia można starać się o stanowiska mid-level w FAANG.

Chcesz przekazać ważne wydarzenie? Napisz do Telegram-bota

Główne wydarzenia i przydatne linki w naszym kanale Telegram

Обсуждение
Комментируйте без ограничений

Релоцировались? Теперь вы можете комментировать без верификации аккаунта.

8

К сожалению, зарплаты в Польском FAANG для людей с партнером/семьей становятся интересными только с L5 (Senior) (учитывая, что работа на UoP) . Остальное легко достигается на b2b без ненужной для работы акробатики.

В Netflix я не пробовал: в Европе вроде нет вакансий.

Какого года статья? В Варшаве вроде все есть.

Как проработавший в Польском FAANG почти 3 года, пока отбило желание возвращаться.

Люди, которые до сих пор защищают и считают литкод на собесах "фановым" и "важным" для разработчика не в домене, где это необходимо, могут высказаться более детально в ответах, будет интересно почитать аргументацию (ни разу еще не слышал ни от кого, просто реальность биг теха)

Пользователь отредактировал комментарий 20 декабря 2024, 12:31

2

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

5

так другого способа проверить адекватность инженера нет

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

Вопросы задавать исходя из опыта кандидата (!)

Пользователь отредактировал комментарий 20 декабря 2024, 15:21

1

может я не считал иронию

Если она там была то я тоже как инженер её не увидел.

А дальше комент по делу

2

так другого способа проверить адекватность инженера нет.

Серьёзно?

0

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

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

0

но ведь чат гпт так же может легко обьяснить код)

-1

А что там по уровню зарплат на Senior по UoP?

1

У меня коллега недавно собесился - предлагают на сеньера ЗП+опционы меньше чем в Польских офисах международных банков.

2

Чтоб я ещё знал, сколько платят в польских банках )

toshnila
toshnila Смузихлебатель в Polska Strong Development
2

Google - 25-40к злотых брутто на умове база + опционы.

-1

А что там по уровню зарплат на Senior по UoP?

А какой .нью заниматься придётся вообще не интересно?

toshnila
toshnila Смузихлебатель в Polska Strong Development
0

А вот *ни хватает. Могут посадить колупать код 20-летней давности на собственном языке. Или чего похлеще на каком-нибудь Visual Basic (как в Visa, например)

2

Люди, которые до сих пор защищают и считают литкод на собесах "фановым" и "важным" для разработчика не в домене, где это необходимо

Плюс 1. Полный блер этот литкод. Человечешки не понимают что человек и так в стрессе на собесе, он не думает в привычных рамках и не с привычными ему инструментами, чего от него ждать? Трата времени и простое неуважение к человеку. Для чего это всё? Собственное ЧСВ повысить потому что ты то уже знаешь решение а чел в стрессе нет? Ну так себе достижение. А дальше что? А дльше у нас испытательный срок в который тебя могет без объяснения причин просто выставить. Так зачем эта хрень? Давайте его сразу на испытательны на реальные задачи и смотрите как он работает. Не трогайте, дайте человеку поработать и оцените результат. Но об этом я уже какое-то время назад писал. Если кому интересно могу более развёрнуто рассказать про личный опыт всего этого ауна. И в том числе как нафик меня это взбесило и чем закончилось

-1

не понимают что человек и так в стрессе на собесе

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

0

кто с опытом фаанг польши, буду благодарен за ответы:

мне кажется, что levels fyi неправильно показывает тотал комп, учитывая весь пакетов стоков как приход в год...

по levels fyi:
база - 96.8K | сток - 101.9K | бонус - 21.6K => тотал - $220,348 (топовый спец из гугл польша - https://www.levels.fyi/t/software-engineer/locations/poland?search=google&sortBy=total_compensation&sortOrder=DESC)

но правильнее:
база + сток/4 + бонус/4 = тотал в год
так? (про бонус понятно, что он одноразовый при принятии офера)

стоки никак не связаны с обычной зп и налоги с них платятся тоже другие? (отдельный пит? можно оплатить налоги прямо перед подачей пита? ставка 19%)?

спасибо

5

В Meta я подавался через рекомендацию. Список задач там известен (порядка 100), но требуется идеальное их решение за 15-20 минут. То есть проверяют скорее способность сидеть и монотонно решать для подготовки. Но при этом самые предсказуемые собесы — задачи известны и можно решить все заранее.

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

Пользователь отредактировал комментарий 20 декабря 2024, 12:36

0

То есть проверяют скорее способность сидеть и монотонно решать для подготовки

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

А я представил себе ботоферму. Где по методе надо клепать одни и те-же сообщения про кавалерки, панов и кости с определённой частотой. Иначе пойдёшь зубной счёткой туалеты чистить. А смысла в это НИКАКОГО

Пользователь отредактировал комментарий 20 декабря 2024, 18:09

-1

А я представил себе релоферму. Где по методе надо клепать одни и те-же сообщения про ротоботов, СИЗО, казармы и сырки с определённой частотой. Иначе пойдёшь зубной счёткой бедронку чистить. А смысла в это НИКАКОГО

0

Просим автора огласить список задач, пожалуйста! Кстати, а шпорами пользоваться в мета ещё не разрешили?

1

в штатах во всех тех же компаниях гораздо сложней интервью. А тут такое впечатление что все задачи были не выше leetcode middle. Но и зарплата в разы меньше.

2

кому как повезет
задача зависит только от интервьюера, нет никаких ограничений по сложности кроме как настроение интервьюера

но в целом тоже слышал не раз, что в Польшу проще.

Пользователь отредактировал комментарий 20 декабря 2024, 15:14

-4

Конечно. Тот же Google в Штатах и в Польше решают не сравнимые по уровню/ сложности задачи. Естественно и требуемый профессиональный уровень разработчиков разный.
Я работал в Северной Америке в Oracle, IBM Toronto Lab., CGI, Target. Уровень профессионализма ключевых членов команды впечатляет. А также сама рабочая среда/ обстановка.

3

Тот же Google в Штатах и в Польше решают не сравнимые по уровню/ сложности задачи.

Да, объём json лапшы не сравним это 100%

-7

А ты кроме Польши видел что нибудь?

-3

полегче, товарищ. на наше все наезжаете?

3

А ты кроме Польши видел что нибудь?

А что вы всё время мне Польшу приписываете? Не надоело? Польша хорошая страна, бывал, и по делам (и много) и у друзей. Отличная страна. Но я к ней никакого отношения не имею.

toshnila
toshnila Смузихлебатель в Polska Strong Development
4

Конкуренция выше в США. Там надо тонны индусов отсеять, в Польше такой проблемы не стоит. Индусов только сами гуглы наперевозили в Варшаву.

1

Так в США и своих хватает после Harvard, Stanford или канадского University of Waterloo. К тому же у этих студентов есть возможность пройти годичную стажировку (intern semester) за время учёбы в компаниях FAANG.
И вот с такими надо конкурировать.

toshnila
toshnila Смузихлебатель в Polska Strong Development
-1

Ну так а о чём мы говорим? Штаты - другой мир. Европа нам более понятна.

zabelarus14
zabelarus14 Инженер в НИИ им. Баца
1

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

3

судя по минусам не многие знают про добкин-дробкин или как-там его

zabelarus14
zabelarus14 Инженер в НИИ им. Баца
0

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

еще часто про айфоны-плафоны пересматриваю выпуски.

Комментарий скрыт за нарушение правил комментирования.

Правила тут, их всего 5

Anton Abrosov
Anton Abrosov hqd'шка в iqos
2

наш зубр

2

Вопросы автору статьи:
** Сколько у вас лет опыта в индустрии ?
** Интересно было бы послушать про собеседование в HFT. Например, было ли оно, например, самым зубодробительным по части знаний в Computer Science ?
** Какой способ поиска приглашений на собеседование оказался самым эффективным: нетворк, рассылка резюме, пассивное размещение резюме на джоб бордах, личка нанимающих менеджеров, др. ?
Спасибо.

Пользователь отредактировал комментарий 21 декабря 2024, 10:45

1

Спасибо, интересно, нужно не забывать решать что-то на leetcode время от времени

0

Интересно что будет с алгоритмическими собесами в эпоху когда абсолютно все задачи такого плана будет решать гпт за 1 секу и на собесах куча людей будет этим пользоваться

0

Идти в FAANG сразу после универа (как автор) - самый лучший путь.

Алгоритмы ещё свежи в памяти после курсов университета, а отсутсутсутствие опыта даёт большую скидку на design и behavioral interview (у джуна по сути нечего спрашивать из-за отсутствия опыта).

На позиции Senior и выше пройти сложнее, т.к. алгоритмы забываются и опыта в leetcode не прибавляется, а вот требования к design и behavioral растут.