Беларус сумовіўся ў некалькі кампаній FAANG (і не толькі) і атрымаў тры оферы. Расказвае пра ўражанні
Наш чытач (ён пажадаў застацца ананімным) у 2024 не губляў часу дарма — актыўна сумовіўся ў кампаніі FAANG. І атрымаў не адзін офер! Як гэта было, ён расказаў dev.by.
У якія кампаніі сумовіўся:
- Amazon
- Meta
- Databricks
- Waymo
- Некалькі HFT-кампаній (High Frequency Trading).
Пэўны час я ігнараваў запрашэнні на сумоўі, а потым пачаў хадзіць адразу на ўсе.
Сумовіцца ў адную кампанію мне падалося недарэчным: можна не атрымаць оферу і знервавацца. Або атрымаць і страціць 10-15% праз тое, што няма контроферу.
У выніку я прайшоў 25-30 сумоўяў у розныя кампаніі (размовы з рэкруцёрамі не лічацца). Офераў было тры, так што парад па паспяховым праходжанні сумоўяў лепш пытацца ў кагосьці іншага. Я раскажу проста пра свае ўражанні.
Тэхнічная частка
У буйных ІТ-кампаніях LeetCode-сумоўі плюс-мінус аднолькавыя: дзесьці прапаноўваюць запусціць код, дзесьці трэба запісаць яго ў нататніку і пераканаць інтэрв’юера, што ён працуе. Як правіла, просяць dry-run кода (і гэта ідзе ў ацэнку), то-бок выканаць яго парадкова. І тут можна страціць шмат часу, калі не патрэніравацца загадзя.
Мне здаецца, алгарытмічнай падрыхтоўкі студэнта 1-2 курса дастаткова для праходжання гэтага этапу: нейкіх складаных алгарытмаў не пытаюць, тэмы загадзя вядомыя, іх можна патрэніравацца на LeetCode. У выпадку глабальнага затупу інтэрв’юер падкажа, і гэта не будзе азначаць правал сумоўя. Я нарашаў крыху больш за 50 задач на LeetCode, і, азіраючыся, разумею, што варта было б вырашыць яшчэ столькі ж, каб паменшыць дысперсію.
Галоўнае складанасць у тым, што на сумоўі ты абмежаваны ў часе. Meta, напрыклад, чакае, што ты выдаткуеш усяго 15-20 хвілін на адную задачу разам з прагонам кода. Google адэкватнейшы: даюць 40 хвілін на задачу аналагічнай складанасці. Калі вырашыць хутчэй, інтэрв’юер хутчэй за ўсё прапануе дадатковае пытанне або задачу за дадатковыя балы, якія могуць кампенсаваць затуп на папярэднім сумоўі.
Я на працы пішу на C++, на ёй жа праходзіў сумоўі. Выявілася, гэта вельмі дрэнная ідэя: часу на напісанне кода патрабуецца шмат, кагнітыўная нагрузка вельмі вялікая. Асабліва балюча было тады, калі код патрабавалася яшчэ і запускаць (пераканаць інтэрв’юераў у тым, што плюсавы код працуе, прасцей, чым напісаць яго сапраўды працоўным).
Таму я параіў бы распрацоўшчыкам, якія пішуць на С++ (і яшчэ, можа быць, джавістам) перайсці ў часе інтэрв’ю на Python. Вядома, калі такая опцыя наогул ёсць. Так, у мяне былі сумоўі ў кампаніях па-за FAANG, дзе настойвалі толькі на C++.
System design і Behavioral
Пра System design нічога разумнага сказаць не магу: у Google L3/L4 і ў Waymo на L4 гэтага віду інтэрв’ю няма, у Meta я да яго не дайшоў, а ў Amazon ён даволі фармальны, хвілін на 20. Я штосьці задызайніў, і ўсё.
Да Behavioral-секцыі звычайна рэкамендуюць падрыхтаваць гісторыі ў фармаце STAR, але мае інтэрв’юеры самі задавалі пытанні. Калі я расказваў нейкую гісторыю, то проста глядзеў на рэакцыю і фідбэк інтэрв’юераў і стараўся карэктаваць падачу. То-бок гэтакае A/B тэсціраванне.
Як я зразумеў, на Behavioral правяраюць не столькі софтскілы кандыдата (дастаткова не быць маньякам), а скоўп, які ў яго быў на працы. Умоўна: расказваеш гісторыі пра афарбоўку адной кнопкі — ацэняць на джуна, адказваеш за буйны праект пад ключ — хутчэй на сеньёра. Самы вялікі фокус на Behavioral, здаецца, у Amazon. На кожным сумоўі 20 хвілін адведзена на паводзінныя пытанні.
З невідавочнага ў складанні рэзюмэ: вонкавы хэдхантар параіў мне дадаваць у кожны булет-пойнт тэхналогію/мову, на якой рэалізаваны праект. Я прыслухаўся і літаральна ў кожны радок на старонцы дапісаў С++, і гэта рэальна спрацавала: рэкруцёры сталі казаць «you have a lot of C++», і водгукаў стала больш
У якія кампаніі сумовіўся, што там заўважыў і які вынік
У Meta я падаваўся праз рэкамендацыю. Спіс задач там вядомы (каля 100), але патрабуецца ідэальнае іх рашэнне за 15-20 хвілін. То-бок правяраюць хутчэй здольнасць сядзець і манатонна вырашаць для падрыхтоўкі. Але пры гэтым самыя прадказальныя сумоўі — задачы вядомыя і можна вырашыць усё загадзя.
Я затупіў на сумоўі + не атрымалася наладзіць камунікацыю з інтэрв’юерам (ён з Індыі, і мне цяжка было зразумець акцэнт), у выніку не прайшоў скрынінгу. Дакладней, мне прапанавалі працягнуць сумоўе на ніжэйшы ўзровень (E5->E4), але я адмовіўся. Гэта не пазбаўляла мяне магчымасці зноў паспрабавацца на E5 праз паўгода.
У Google я быў у базе з 4-га курса (проста адправіў туды рэзюмэ), і мяне сталі перыядычна запрашаць на сумоўі. Кампанія быццам бы больш правярае здольнасць думаць (маё ўражанне). Задачы больш рандамныя (інтэрв’юеры могуць пытацца, што заўгодна ў рамках алгарытмаў і структур даных са спіса), злітыя задачы хутка выдаляюць.
Прыняў запрашэнне на адзіны раз і атрымаў офер.
У Amazon на мяне выйшаў менеджар наймання — стэлефанаваліся, ён расказаў пра каманду, мне ў цэлым спадабалася, таму прызначылі сумоўе. Здаецца, у гэтай кампаніі ўсё залежыць ад каманды. У мяне было даволі лайтова, па складанасці з усіх сумоўяў яны як быццам унізе. Атрымаў офер. У майго знаёмага ў C3, наадварот, было вельмі складана — бо таксама рандам.
У Databricks на мяне выйшаў менеджар аднаго з іх офісаў. А я яго падвёў у выніку. Гэта было самае складанае ў плане ацэнкі сумоўе (мелася быць восем этапаў).
Сама задача нескладаная, але код павінен абавязкова выконвацца і трэба прыдумаць тэсты. Я хутка запрогаў, а потым хвілін 10-15 лавіў розныя сэгфолты ў кодзе, пакуль не скончыўся час. На рашэнне інтэрв’юеры (іх было двое, і яны як быццам абодва ўдзельнічалі) сказалі «looks good to me», а потым я атрымаў адмову з фідбэкам, што код не запускаецца: гэта аўтаматычна азначае «no hire». Карацей, яны чакаюць ідэальнага рашэння.
У Waymo сумоўе падобнае да гуглаўскага, але код трэба запускаць (задачы былі больш на рэалізацыю, чым алгарытмы). Задачы крыху цікавейшыя давалі (больш open-ended. Атрымаў офер.
У Netflix я не спрабаваў: у Еўропе, здаецца, няма вакансій.
Microsoft не разглядаў.
У Apple я атрымаў адмову на этапе рэзюмэ.
Ці сапсаваў крызіс оферы FAANG?
Крызіс выяўляецца ў тым, што вакансіі размяшчаюць у краінах з нізкімі заробкамі. Найманне пераносяць у Сербію, Польшчу, Румынію, Індыю і да т. п. Раней гэта маглі быць Германія, Швейцарыя, Вялікабрытанія, Ірландыя, Нідэрланды. Там нашмат вышэйшыя зп, а акрамя таго, адтуль было б прасцей перавесціся ў ЗША праз год працы.
З ходу ў амерыканскі офіс уладкавацца складана, але праз год працы можна паспрабаваць перавесціся па візе L1.
Кім трэба быць, каб атрымаць офер ад FAANG ў крызіс
Сумоўе — гэта рандам: вар'іруецца як складанасць задач, так і стыль паводзін інтэрв’юераў. Ёсць такія, якім цікавы твой ход думкі, тады сумоўе больш падобнае да дыялогу, у часе якога вы разам вырашаеце складаную задачку. А бывае, інтэрв’юер проста дае задачу і глядзіць, ці вырашыш, ці не. Адзін мне так і сказаў: «Не гавары, а вырашай». Я вырашыў — ён мне паставіў «hire».
Думаю, калі б цяпер мне далі яшчэ раз іх усе перапрайсці, то, хутчэй за ўсё, нейкіх офераў я б не атрымаў, але замест іх атрымаў бы іншыя. Павялічыць шанцы дапамагае практыка рашэння задач (дзясяткаў аналагічных) і практыка саміх сумоўяў.
Думаю, што пасля праходжання фільтра рэзюмэ і практыкі LeetCode любому сярэдняму распрацоўшчыку рэальна атрымаць офер у Amazon, Meta або Google — геніем для гэтага быць не трэба. Дастаткова студэнтам/распрацоўшчыкам-пачаткоўцам. Так, LeetCode патрабуе часу і матывацыі, але тут у джуноў ёсць перавага. Калі натрэніруецеся, добра было б прайсці стажыроўку ў любой буйной прадуктовай кампаніі ў Беларусі + GitHub з рэальнымі праектамі (гэта чамусьці дапамагае прайсці фільтр рэкруцёраў, хоць яны ўсё роўна не могуць ацаніць змест). Пасля гэтага можна прэтэндаваць на джуноўскія вакансіі — L3 ў Google і L4 у Amazon у Польшчы. Пасля 2-3 гадоў добрага вопыту можна прэтэндаваць у FAANG на мідла.
Ці памятаеце вы, як беларускае ІТ ператварылася ў феномен? Мы вучыліся адно ў аднаго, дзяліліся першымі поспехамі, разам радаваліся, калі нашыя кампаніі, прадукты і каманды атрымлівалі сусветнае прызнанне. Сёння многія з нас — у розных краінах, таму яшчэ важней захоўваць сувязі і працягнуць развіццё. 16 гадоў dev.by — «дэфолтная» крыніца інфармацыі пра беларускае ІТ, пляцоўка для камунікацыі і абмену вопытам. Разам мы пераадольваем крызісы, трымаем удары, радуемся поспехам, спадзяемся.
Цяпер вы можаце дапамагчы dev.by. Калі ўсе спосабы манетызацыі беларускіх медыя амаль зніклі, рэгулярныя данаты дазваляюць плаціць заробкі рэдактарам і аўтарам, рыхтаваць важныя матэрыялы.
Калі вы маеце магчымасць і лічыце нашую працу важнай, падтрымайце dev.by.
Читать на dev.by