ok, więc to zabrzmi, jakbym się przechwalał, ale obiecuję, że jest dokładnie odwrotnie. 400 zadań z LeetCode. cztery miesiące. miałem arkusz z kolumnami na tag tematu, czas rozwiązania, czy pierwsza próba była na tak czy nie, i oznaczałem wszystko na zielono, kiedy zrobiłem zadanie poprawnie. 85 procent accepted na mediumach. przed pracą otwierałem ten arkusz i po prostu się na niego gapiłem, co teraz, kiedy to piszę, uświadamia mi, jak totalnie odjechane to było lol. rocznik 2024, okropny rynek, Blind i reddit zgodnie darły się, że 300 do 500 minimum dla jakiejkolwiek oferty z FAANG. zawsze zawyżam sobie cele, więc padło na 400. dwa mediumy codziennie przed pracą, jeden hard po kolacji, wszystko zalogowane.
w trzecim miesiącu byłem gdzieś przy 280 i już się spinałem. przebiłem 400 pod koniec czwartego miesiąca i rano, w dzień mojego on-site w Google, siedziałem i patrzyłem na 400 zielonych wierszy, myśląc, że nie ma opcji, żebym to oblał. totalna pewność siebie. właściwie to urojona pewność siebie.
potem Marcus napisał do mnie jakieś trzy dni po moim odrzuceniu. mówi, że dostał się do Meta. piszę mu gratki, ile zrobiłeś. mówi 150. położyłem telefon ekranem do dołu na kuchennym blacie i przez pełne dwa dni mu nie odpisałem, bo kompletnie nie wiedziałem, co powiedzieć. zrobiłem trzy razy więcej niż on, dostałem rejecta, a ten typ jedzie do Menlo Park. szczerze dalej źle się czuję z tym ghostowaniem, nie zasłużył na to, po prostu byłem wtedy w naprawdę ciemnym miejscu psychicznie przez tę całą sytuację.
w mailu z odrzuceniem było napisane: "strong on coding fundamentals but could not extend solutions past the initial approach." znajomi rekruterzy powiedzieli mi potem, co to znaczy po ludzku. rozwiązał podręcznikową wersję bez problemu i kompletnie się zablokował, kiedy zmieniliśmy jeden jedyny constraint. jeden.
screening telefoniczny był spoko. sliding window, wyłapałem edge case, osiem minut, nieważne, ta część nie ma znaczenia. runda pierwsza problem z grafami, luz. runda druga to ta, która rozwaliła wszystko, i muszę dokładnie wyjaśnić, co się stało, bo to zmieniło moje myślenie o całym tym procesie. pytanie o drzewo. skojarzyłem je z czymś, co rozwiązywałem dosłownie tydzień wcześniej, więc szybko napisałem kod, miałem ten mały uśmieszek na twarzy, interviewerka pewnie też to zauważyła. a potem ona mówi: ok, spoko, ale teraz twoje drzewo ma miliard węzłów i nic z tego nie mieści się w pamięci.
mój mózg się zaciął. siedziałem tam, robiło mi się gorąco na twarzy, gapiłem się na kod, który napisałem trzydzieści sekund wcześniej, i nagle nawet sam sobie nie potrafiłem go wyjaśnić. przez czterysta problemów w tym pięknym arkuszu ani razu, dosłownie ani jednego razu, nie pomyślałem o tym, co się dzieje, kiedy dane nie mieszczą się w RAM-ie. sędzia LeetCode zakłada, że wszystko się mieści. zawsze. w każdym pojedynczym zadaniu. przez cztery miesiące trenowałem na tym założeniu, a Google zadało to jedno pytanie, którego LeetCode nigdy nie zadaje, i nie miałem nic lol.
w końcu zadzwoniłem do Marcusa po tym, jak go zghostowałem, i ta rozmowa szczerze zmieniła wszystko. on rozwiązał może z 50 unikalnych problemów. pięćdziesiąt. ale nigdy po nich nie szedł dalej. rozwiązywał coś tablicą, potem input staje się streamem, potem potrzebujesz współbieżnego dostępu, potem przestawiasz się z optymalizacji czasu na optymalizację pamięci. te same pięćdziesiąt problemów mutowało raz za razem, aż był w stanie poradzić sobie z czymkolwiek, co ktoś na niego rzucił. powiedział, że znalazł jakiś blog, który przeanalizował coś około 200 opisów rozmów FAANG, i główny wniosek był taki, że interviewerzy zmieniają constrainty w trakcie zadania w mniej więcej 80 procentach rund. follow-up questions. rzecz, której nie ćwiczyłem ani razu przy wszystkich 400 zadaniach z LeetCode. dosłownie zero. rozwiązałem, zielony check, scroll do następnego. jak trenowanie do walki przez obijanie worka, który nie może oddać, a potem zastanawianie się, czemu prawdziwy człowiek od razu cię kładzie.
Jake dostał Google z jakimiś 180. inny znajomy zrobił 120, ale spalił cały miesiąc na system design i behavioralach. ja zrobiłem 400 i dostałem maila z odrzuceniem. nie ma żadnej korelacji między surową liczbą a tym, czy przejdziesz, kiedy przekroczysz może ze sto zrobionych porządnie, wtedy to zamienia się w coś kompletnie innego od tego, co reddit każe ci myśleć.
po tej rozmowie przestałem robić nowe zadania. wyciągnąłem 50 ze swojej listy rozwiązanych i Marcus wskakiwał ze mną na Zoom dwa razy w tygodniu i totalnie mnie masakrował. pamięć jest teraz ograniczona, co robisz. to ma działać w trzech regionach, co się zmienia. duplikaty są wszędzie, a twój kod zakładał unikalne wartości. ciągle oblewałem rzeczy, przy których miałem zielone checki, co było autentycznie upokarzające w pierwszym tygodniu, ale najwyraźniej o to właśnie chodzi. wcisnąłem też dwa tygodnie system designu, który całkowicie olałem podczas tego grind’u, bo gapiłem się na licznik LeetCode jak na swoje GPA czy coś. Google waży system design tak samo jak kodowanie. oddałem cały ten czas przygotowań za ładniejsze formatowanie arkusza. patrząc wstecz, od początku powinienem był rozłożyć przygotowanie do rozmów równiej na wszystkie typy rund.
przy drugim podejściu miałem odpalone InterviewMan podczas samych rozmów. mikrofon łapie rozmowę i wyrzuca podpowiedzi na overlayu, którego nikt na callu nie widzi. podpowiedzi do follow-upów były wszystkim, interviewer zmienia constraint i zamiast martwej ciszy miałem się czego złapać. dwanaście dolców miesięcznie i prawie się roześmiałem na tę cenę, biorąc pod uwagę, ile kosztowały mnie czasowo te cztery miesiące samotnego grind’u. zadziałało tylko dlatego, że zrobiłem wcześniej tę głębszą pracę z Marcusem, bo hinty to po prostu losowe słowa, jeśli nie masz kontekstu, żeby nadać im sens.
dwie oferty. sześć tygodni. zero nowych zadań z LeetCode. dalej mam 400 na swoim profilu i ta liczba już nic dla mnie nie znaczy. te pięćdziesiąt, w które naprawdę wszedłem głęboko, to one mnie przez to przeprowadziły. jeśli jesteś teraz przy setce i panikujesz, jak dobić do trzystu, to po prostu przestań i wróć. zacznij zmieniać zadania, które już rozwiązałeś. to właśnie naprawdę sprawdzają i prawie nikt tego nie robi.
Ready to Ace Your Next Interview?
Join 57,000+ professionals using InterviewMan to get real-time AI assistance during their interviews.
