To są oczyszczone notatki, które robiłem podczas przygotowań do rozmowy na stanowisko inżyniera oprogramowania w Google (czyli ta cała pętla w stylu LeetCode, z komisją rekrutacyjną na samym końcu). Przeszedłem przez całą ścieżkę, od screeningu telefonicznego, przez rundy kodowania, projektowanie systemów, aż po część behawioralną, więc notatki obejmują też sam proces, nie tylko pytania.
Do rozmów w Google ludzie podchodzą bardzo różnie. Jedni bronią tego procesu, inni go nie znoszą. Moja taktyka była dość prosta: możesz narzekać, że to wszystko jest loterią, albo możesz wziąć się w garść i nauczyć się, jak działa ta cała maszyna.
Tym, co odróżnia Google od zwykłej rozmowy, jest jedna rzecz, którą rekruterka powiedziała mi już na pierwszym telefonie. Masz trzy podejścia w ciągu pięciu lat, a potem przestają cię w ogóle rozpatrywać. Trzy podejścia na całą karierę. Kiedy powiedziałem to znajomemu z poprzedniej pracy, zamilkł na jakieś pięć sekund, a ja odczytałem tę ciszę jako "tylko tego nie spieprz".
Notatki podzieliłem na kilka części:
- Screening telefoniczny
- Kodowanie
- Projektowanie systemów
- Googleyness i przywództwo
- Komisja rekrutacyjna
- Próbne rozmowy (i narzędzia, których używałem)
- Dopasowanie do zespołu
Screening telefoniczny
Google robi screening telefoniczny we wspólnym dokumencie Google Docs. Nie w żadnym IDE, tylko w zwykłym dokumencie tekstowym, bez kolorowania składni, bez podpowiedzi. Przez czterdzieści pięć minut piszesz tam prawdziwy kod, a ktoś patrzy, jak go wystukujesz. Mnie trafiła się jedna sliding window i wariant binary search, obie na poziomie medium.
Ready to ace your next interview?
InterviewMan gives you real-time AI answers during live interviews — undetectable on Zoom, Meet, and Teams.
Try InterviewMan FreeKiedy programuję normalnie, dużo eksperymentuję i poprawiam rzeczy na bieżąco. To zupełnie nie działa, gdy masz czterdzieści pięć minut, goły dokument Google i parę oczu śledzących każdą literę. Naprawdę żałuję, że nikt mi wcześniej nie powiedział o tym dokumencie.
Pewien szczegół procesu, który załapałem dopiero później: jeśli osoba prowadząca screening się waha, zamiast cię odrzucić, daje ci drugi screening telefoniczny. Znam dwie osoby, którym się to przytrafiło (jedną z Discorda jakiegoś bootcampu programistycznego), i obie przeszły za drugim razem.
Kodowanie
Przed pętlą przerobiłem 200 zadań z LeetCode. Pomogło to mniej, niż powinno, i wcale nie dlatego, że zadania były zbyt trudne.
Najtrudniejsze przy zadaniach z Google jest w ogóle dostrzeżenie, o co naprawdę chodzi w pytaniu. Osoby rekrutujące w Google celowo upychają w treści dodatkowy kontekst i fałszywe tropy. Znajomy z poprzedniej pracy ostrzegał mnie dokładnie przed tym, a ja go nie posłuchałem. Był jeden taki moment, kiedy rzuciłem się na pewien wzorzec, żeby osiem minut później zorientować się, że rozwiązuję zupełnie inne zadanie i muszę wrócić do punktu wyjścia.
Pytanie brzmiało dokładnie jak sliding window, które ćwiczyłem poprzedniej nocy. A jednak nim nie było. Osoba rekrutująca przez całe te osiem minut siedziała w kompletnej ciszy i tylko patrzyła. Zadzwoniłem potem do znajomego z parkingu, a on rzucił tylko: no, mówiłem ci.
Mój wniosek z tego:
- Myśl na głos przez cały czas, dosłownie co sekundę
- Ćwicz zadania łączone
- Nie ufaj dopasowywaniu wzorców z wczorajszego wieczoru
Tej części o myśleniu na głos nie da się przecenić. Komisja czyta to, co napisała osoba rekrutująca, a osoba rekrutująca pisze to, co ty powiedziałeś. Przesiedziałem w milczeniu całe zadanie z grafami, a w feedbacku napisali, że rozumowanie było niejasne. Wiedziałem, co robię, tylko nikt poza mną tego nie wiedział, bo tego nie powiedziałem. Znajomy czytał później ten raport i stwierdził: rozwiązałeś to, a opisali cię, jakbyś strzelał na ślepo.
A co do zadań łączonych: Google dało mi graf z programowaniem dynamicznym w jednej rundzie i drzewo z hashmapą w drugiej. Czysty binary search albo samo BFS prawie nigdy nie pojawia się w pojedynkę. Pięćset osobnych zadań medium jest mniej warte niż pięćdziesiąt zadań łączonych. Zmarnowałem trzy weekendy na mielenie pojedynczych tematów, zanim do mnie to dotarło.
Projektowanie systemów
Projektowanie systemów to jedna runda, a cała ta runda potrafi zawisnąć na jednej decyzji projektowej. Mój trener od przygotowań nazywa to kluczowym spostrzeżeniem, tym jednym, na którym wszystko się opiera. Brzmiało to dla mnie patetycznie, ale miał rację. U mnie chodziło o unieważnianie cache w systemie rozproszonym i o włos, jakieś trzydzieści sekund, nie wpadłem na to. Jak to przegapisz, rozmowa nigdy nie wyjdzie poza poziom rysowania diagramów, a jedno z trzech podejść idzie na marne.
Googleyness i przywództwo
Googleyness i przywództwo brzmi tajemniczo, ale w praktyce to rozmowa behawioralna o konfliktach w zespole, o porażkach projektowych i o braniu odpowiedzialności. Jedna z osób rekrutujących powiedziała mi, że niektórzy członkowie komisji ledwie zaglądają do tej części raportu. I tak ją przygotuj, bo nie ty wybierasz swoją komisję.
Komisja rekrutacyjna
Rozmowa w Google to loteria (komisja dba o to, żeby tak właśnie było). Czterech czy pięciu inżynierów, których nigdy nie spotkałem, zdecydowało o moim losie na podstawie raportów od osób, które mnie przepytywały. Obcy ludzie czytający notatki innych obcych ludzi na mój temat. Znajomy znał kogoś, kto przeszedł przez Google dwa razy, za każdym razem z inną komisją, i przy mniej więcej takim samym występie wyniki były kompletnie różne.
Próbne rozmowy
Próbne rozmowy pomagają z całą tą proceduralną wiedzą bardziej niż jakakolwiek lista pytań. Jako prowadzącego wykorzystałem znajomego z poprzedniej pracy i odbywaliśmy pełne rundy przez Google Meet.
Tu trochę oszukiwałem. Pracuję nad InterviewMan, więc podczas tych próbnych rozmów odpalałem nasze narzędzie tak samo, jak zrobiłby to prawdziwy kandydat. Wyłapuje ono zadanie po dźwięku i wyświetla podpowiedzi co do podejścia na nakładce, którą widzisz tylko ty. Znajomy spędził pięć minut, próbując to namierzyć, sprawdzał współdzielony ekran, mojego docka, nagranie sesji, i nie zobaczył nic. Podczas próbnej rundy Googleyness narzędzie wyciągnęło z rozmowy historię o konflikcie, o której zupełnie zapomniałem, dokładnie taką, jaką komisja niby ledwie czyta, a która i tak musi się znaleźć w raporcie. Podczas próbnego projektowania systemów zwróciło mi uwagę na pewien szczegół dotyczący cache, który okazał się tym kluczowym spostrzeżeniem dla całego zadania.
A jeśli chodzi o narzędzia w ogóle: te wspierające wyłącznie kodowanie, jak Interview Coder, kosztują dwa dziewięćdziesiąt dziewięć miesięcznie. Obsługują trzy z pięciu rund i zostawiają cię samego przy projektowaniu systemów i części behawioralnej. InterviewMan ogarnia wszystkie pięć za dwanaście dolarów miesięcznie w planie rocznym. Trzy miesiące przygotowań kosztowały mnie trzydzieści sześć dolarów, czyli mniej niż jeden tydzień Interview Coder. Mamy pięćdziesiąt siedem tysięcy użytkowników i ponad dwadzieścia ukrytych funkcji, i z tego, co mi wiadomo, jeszcze nikogo nie przyłapano.
Dopasowanie do zespołu
To, że komisja powie tak, to jeszcze nie oferta. Potem przychodzi dopasowanie do zespołu, gdzie i ty, i menedżer zatrudniający musicie się zgodzić, a twoja akceptacja zachowuje ważność przez mniej więcej rok. Więc nie ma się co spieszyć. Najlepsza i trochę przewrotna rada, jaką dostałem przez całą tę historię, brzmiała: poczekaj na zespół, dla którego naprawdę chce ci się wstawać rano.
Ready to Ace Your Next Interview?
Join 57,000+ professionals using InterviewMan to get real-time AI assistance during their interviews.

