no więc Jake ciągle mi to powtarzał. przy kolacji. w wiadomościach około 1 w nocy. w barze, gdzie miałem queso na palcach i ledwo zwracałem uwagę. "przygotowujesz się do FAANG, jakby to była jedna firma, a to nie jest jedna firma." kiwałem głową, a potem wracałem do domu i robiłem dokładnie odwrotnie. 350 zadań z leetcode. cztery miesiące. jedno podejście do wszystkich pięciu firm. pewnie domyślacie się, jak to się skończyło.
Runda z system design w Amazon. ona mówi "system routingu zamówień magazynowych", a ja odpalam aplikację do tablicy. load balancer, Postgres, Redis do cache'owania, strzałki wszędzie. po piętnastu minutach patrzę na własny diagram i myślę sobie szczerze, że to całkiem niezłe. (nie było całkiem niezłe lol.) "co się stanie, jeśli dwóch pickerów chwyci ten sam przedmiot dokładnie w tej samej sekundzie." pustka. kompletna pustka. distributed locking, miałem na to fiszkę w Anki, powtarzałem ją minimum pięćdziesiąt razy. usta nie chciały mi się ruszyć. playlisty o system design na YouTube przez cztery miesiące nauczyły mnie, jak rysować boxy na ekranie. nie jak myśleć, kiedy ktoś zmienia pytanie. dała mi trzydzieści sekund. trzydzieści sekund ciszy na rozmowie kwalifikacyjnej to jest gruba sprawa, nie wiem, czy to przeżyliście. siedzisz przy biurku w dresach i chcesz wyparować. westchnęła do mikrofonu i tak. wiedziałem. Amazon wysłał odmowę dwa dni później. dziewięć słów. "did not demonstrate depth in system design." przeczytałem to o 7 rano, trzymając zimnego pad thaia w kuchni, bo nie mogłem spać. mój współlokator Kevin przeszedł obok, a ja udawałem, że sprawdzam pogodę.
mój kumpel Jake dostał się do Google jakieś sześć miesięcy przed tym, jak dostałem tę odmowę, a ja zareagowałem jak najgorszy przyjaciel świata. nie oddzwaniałem. tygodniami. pisał "kolacja?", a ja zostawiałem bez odpowiedzi, bo siedzenie naprzeciwko kogoś, kto się dostał, kiedy ja miałem otwartą odmowę na telefonie, było czymś, z czym nie umiałem sobie poradzić. okropne, wiem. kiedy w końcu powiedziałem mu o Amazon, ROZEŚMIAŁ SIĘ. nie takim współczującym śmiechem. prawdziwym. bo zaciął się na pytaniu o cache podczas swojej pierwszej pętli w Google. czterdzieści sekund martwej ciszy, podczas gdy interviewer patrzył. odmowa. dostał się za drugim razem po tym, jak wyrzucił całą swoją strategię do kosza i zbudował ją od zera. Jake czyta podręczniki do CS na wakacjach (prawdziwe podręczniki, nie jakieś artykuły na Medium, tylko prawdziwe książki z dowodami) i jego mózg też się wyłączył podczas rozmowy na żywo. więc to jednak problem z przygotowaniem. a nie z wiedzą.
jest jedna rzecz w leetcode, która dalej mnie wkurza. reddit mówi minimum 300. zrobiłem 350. potrafiłem rozpoznać sliding window, zanim jeszcze zadziałała kawa. bezużyteczne. a powód jest taki, że każda runda w tych firmach ma follow-up, w którym zmieniają ograniczenia po tym, jak rozwiążesz część pierwszą. nagle input nie mieści się w pamięci. albo usługa musi obsłużyć dziesięć tysięcy requestów na sekundę i batching odpada. albo masz trzy regiony zapisujące jednocześnie i sam rozkminiasz konflikty. część pierwsza to tylko "czy ta osoba umie pisać kod", a follow-up to właściwa ocena. zrobiłem 350 zadań po jednym razie. nigdy do nich nie wracałem. nigdy żadnego nie rozszerzałem. tylko odhaczanie pól. beep, zrobione, następne zadanie, jedziemy dalej.
to Jake naprawił moje przygotowania i kłóciłem się z nim o to jak idiota. jego pomysł wydawał mi się wtedy kompletnie odjechany. "przestań robić nowe zadania." tyle. kiedy reddit spamował postami o dobiciu do 500, on cofał mnie do rzeczy, które już kiedyś rozwiązałem. wziął pięćdziesiąt starych zadań i co wieczór dorzucał mi follow-upy przez Zoom. jego żona usypiała dziecko w pokoju obok, a on rzucał "dobra, teraz masz dwa miliardy elementów i cztery giga RAM-u, no i co". chwilę później dorzucał "trzy centra danych, eventual consistency, co ci się sypie?" i wtedy zwykle robiłem tę minę, którą Kevin nazywa "oho, zaraz eksploduje". cisza. patrzenie w bok. drapanie się po szyi. kupowanie sobie dwóch sekund, których i tak nie miałem. przez pierwsze dwa tygodnie prawie po każdym takim callu pisałem Jake'owi, że mam dość, a on odpisywał coś w stylu "super, jutro znowu". wkurzało mnie to strasznie lol. ale około trzeciego tygodnia zacząłem słyszeć follow-up, zanim on kończył zdanie. domykałem bazowe rozwiązanie i od razu sam sobie zadawałem pytanie, co się wysypie przy większym inputcie albo przy dwóch writerach naraz. wtedy dopiero dotarło do mnie, że oni nie oceniają pierwszej odpowiedzi. patrzą, co robisz w drugim ruchu, kiedy grunt nagle znika ci spod nóg. trzy tygodnie z Jake'iem dały mi więcej niż cztery miesiące samotnego tyrania.
drugą katastrofą były źródła do system design i tutaj to już było czyste lenistwo z mojej strony. uczyłem się wyłącznie z YouTube. URL shortener, chat app, news feed. ten sam przerobiony content, który wszyscy oglądają od 2022. w mojej rundzie w Amazon interviewer zapytał o pipeline'y usuwania zgodne z GDPR. audit logging. data residency między regionami. słowo compliance dosłownie nigdy nie pojawiło się w mojej głowie w kontekście projektowania. ani razu. mówię śmiertelnie serio. Jake powiedział mi po swojej odmowie, że jego runda w Google przez pełne dwadzieścia minut kręciła się wokół cache invalidation i split brain recovery. nie wiedziałem, co znaczy split brain. siedziałem potem w swoim Civicu na parkingu i googlowałem terminologię baz danych na telefonie. ciepły telefon. zimne ręce. to było dla mnie dno. pytania w tych firmach poszły do przodu, a ja wszedłem tam z odpowiedziami sprzed dwóch lat.
behavioral. ok, ta część jest żenująca. runda behavioral jest chyba najbardziej przewidywalną rundą w całym procesie, a ja ją olałem, bo założyłem, że moje doświadczenie zawodowe samo się obroni. Amazon publikuje swoje leadership principles na stronie. Glassdoor mówi ci, które z nich się pojawiają. mapujesz swoje historie do każdej zasady. teoretycznie wszystko to rozumiałem, a potem i tak przygotowałem osiem historii, z których wszystkie były o tym, że to ja miałem rację i uratowałem sytuację. historie bohatera. każda jedna. Meta używa CAR zamiast STAR i moje historie były źle ułożone pod ich format. straciłem punkty przez coś tak głupiego. Google rzuciło we mnie "opowiedz o sytuacji, kiedy zrozumiałeś, że myliłeś się w czymś ważnym" i nie miałem dosłownie ani jednej historii, w której to ja się myliłem, bo czemu miałbym ćwiczyć swoje najgorsze momenty. Jake mówił mi tygodnie wcześniej, żebym przygotował historie o porażkach. powiedziałem nie. Google ma na ten temat inne zdanie lol. kiedy w końcu przebudowałem te historie i wrzuciłem do nich twarde liczby, "skróciłem czas wdrożenia z trzech tygodni do czterech dni" stało się moim pewniakiem w dwóch różnych firmach. te same fakty co wcześniej, dosłownie nic nowego, tylko inaczej opakowane. zadziałało oba razy.
samo planowanie terminów też prawie mnie wykończyło, oprócz całej reszty. Google miało pięć tygodni od telefonu z rekruterem do decyzji komitetu. Amazon trzy tygodnie. moja znajoma Sarah dostała onsite do Meta dziesięć dni po screenie telefonicznym. DZIESIĘĆ DNI. nie da się przygotowywać do jednej firmy naraz, to pułapka, w którą wpadłem. próbowałem iść sekwencyjnie i zanim poczułem się gotowy na Amazon, pętla Google już siedziała w kalendarzu, a ja miotałem się między leadership principles i głębią system design i formatem CAR, i jakimkolwiek jeszcze frameworkiem, którego chciała dana firma. Jake i ja zrobiliśmy wspólny dokument z listą wszystkich tematów, które sprawdzają wszystkie trzy firmy. zaznaczyliśmy to, co się pokrywa. najpierw wałkowaliśmy wspólne rzeczy, a firmowe zostawialiśmy na wieczór przed rozmową jak zakuwanie w tygodniu egzaminów. siedząc o północy na podłodze w jego salonie, z fiszkami rozłożonymi po stoliku kawowym. bałagan. ale zadziałało.
zacząłem odpalać InterviewMan podczas właściwych pętli po tym, jak Jake o nim wspomniał. nakładka na ekran, której nie widać, kiedy udostępniasz ekran, łapie audio przez mikrofon, wrzuca sugestie na ekran w parę sekund. w jednej rundzie z system design podsunął mi wątek z cache'owaniem tuż przed tym, jak interviewer o to zahaczył, i wyglądałem na przygotowanego zamiast spanikowanego. dwanaście dolców miesięcznie. nic w porównaniu z setkami, które przepaliłem na kursy uczące mnie rysować ładne diagramy, na których nikomu nie zależało. to jednak nie zastępuje faktycznej wiedzy. i tak musiałem obronić każdą odpowiedź, kiedy dopytywali o szczegóły. ale powstrzymywało mój mózg przed wejściem w pełny tryb blokady, jak to było w Amazon, i samo to było warte swojej ceny.
gdybym miał powiedzieć jedną rzecz komuś, kto zaczyna przygotowania do FAANG właśnie teraz. przestań traktować to jak jedną firmę. pięć firm. pięć różnych struktur tego, jak prowadzą rozmowy i jak oceniają ludzi. przygotowywałem się ogólnie i zostałem zniszczony. Jake za drugim razem wybrał konkretnie Google i się dostał. wybierz dwie firmy, które naprawdę cię interesują, naucz się, jak te dwie prowadzą swój proces, a wszędzie indziej aplikuj po to, żeby nabrać obycia i zebrać doświadczenie. to zadziałało u nas. zajęło mi to jedną odmowę i cztery zmarnowane miesiące, żeby to zrozumieć, ale proszę bardzo.
Ready to Ace Your Next Interview?
Join 57,000+ professionals using InterviewMan to get real-time AI assistance during their interviews.
