JavaRush /Blog Java /Random-PL /Akrobacja w rozmowie technicznej: jak dostałem się do Goo...

Akrobacja w rozmowie technicznej: jak dostałem się do Google, Microsoftu i nie tylko

Opublikowano w grupie Random-PL
Tłumaczenie i adaptacja artykułu As Your Technical Interview: What Got Me Into Google, Microsoft and More w społeczności startupowej na Medium. Akrobacja w rozmowie technicznej: jak dostałem się do Google, Microsoftu i nie tylko - 1Przed pierwszą rozmową kwalifikacyjną nie miałam pojęcia, że ​​będą zadawane także pytania techniczne. Zakładałam, że czeka mnie już tylko masa pytań typu „opowiedz mi o sobie”. Jednak też nie byłem na nie odpowiednio przygotowany. Dwie godziny spędziłam w poradni zawodowej, próbując wyciągnąć od wszystkich cenne rady, a kolejne dwie godziny w domu, ćwicząc odpowiedzi na różne pytania. Ale kiedy przyszedłem na rozmowę kwalifikacyjną, osoba przeprowadzająca rozmowę nie zapytała o moje mocne i słabe strony. Zamiast tego wręczono mi marker i kazano podejść do tablicy. I nawet nie przypuszczałam, że jako pierwsi sprawdzą moje umiejętności techniczne! To mnie zaskoczyło. Nie wiedziałem, jak poprawnie odpowiedzieć na pytania i kilka godzin później otrzymałem e-mail z uprzejmą odmową. Na szczęście po tym incydencie odbyłem wiele udanych rozmów kwalifikacyjnych. Brałem udział w pięćdziesięciu rozmowach kwalifikacyjnych i przygotowałem do nich wielu moich znajomych. Wydaje się, że moje podejście sprawdza się całkiem nieźle, ponieważ pomogło mi i innym odnieść sukces podczas rozmów kwalifikacyjnych w firmach takich jak Google, Microsoft, Apple, Amazon itp. Chciałbym pomóc każdemu osobiście, ale po prostu nie ma na to czasu. Jedyne, co mogę zrobić, to udostępnić przewodnik krok po kroku, jak przeprowadzić rozmowy kwalifikacyjne techniczne. Metodą prób i błędów dowiedziałam się, co można, a czego nie można zrobić w takich sytuacjach. Oto lista przydatnych wskazówek, które przygotowałem przez kilka lat praktyki.

1. Nie wdawaj się od razu w pozorowane rozmowy kwalifikacyjne.

Ludzie zazwyczaj radzą przeprowadzić jak najwięcej próbnych wywiadów – i mają rację. Jeśli jednak nie jesteś przygotowany, próbna rozmowa kwalifikacyjna może być nieskuteczna, zastraszająca, a nawet demoralizująca. Mogę powiedzieć z doświadczenia: jeśli przeprowadziłem wywiad z kimś, kto był całkowicie nieprzygotowany pod względem praktycznym, ostatecznie poczuł się on zdemotywowany, ponieważ „pływał” w pytaniach i nie odpowiadał zbyt dobrze. Poświęć trochę czasu, aby lepiej się przygotować i zrozumieć, jak wygląda rozmowa techniczna. Oto dobry przykład próbnej rozmowy kwalifikacyjnej w Google:

2. Umiejętności komunikacyjne > poziom wyszkolenia technicznego

Wiele osób przygotowuje się do rozmów kwalifikacyjnych, spędzając godziny w witrynach takich jak LeetCode i Hackerrank. To świetne platformy do ćwiczeń. Ale najlepiej jest wziąć trochę wolnego, zanim zmarnujesz kilka godzin na przypadkowe rozwiązywanie problemów, które Twoim zdaniem spotkasz podczas rozmowy kwalifikacyjnej. Jest to podejście nieskuteczne: podczas rozmowy kwalifikacyjnej natkniesz się na co najmniej jedno pytanie, którego nigdzie wcześniej nie widziałeś. Niektórzy z moich znajomych mają lepszych programistów ode mnie i często byłem zaskoczony, dlaczego ja pomyślnie przeszedłem testy z mojej wiedzy technicznej, podczas gdy oni (czasami) nie. Największą różnicą między nami jest prawdopodobnie to, że spędziłem dużo czasu ćwicząc swoje umiejętności komunikacyjne. Poważnie: wiedza, jak rozwiązać 100 najważniejszych zadań technicznych, nie pomoże, jeśli nie będziesz w stanie jasno wyjaśnić logiki rozwiązania. Bardzo ważne jest, aby nauczyć się formułować myśli. Na początku wszystko to może wydawać się trudne, niezręczne i nienaturalne, ale praktyka pomaga. Aktualizowanie wiedzy technicznej jest ważne, ale rozwijanie umiejętności komunikacyjnych jest być może jeszcze ważniejsze. Jeśli brakuje Ci czasu przed zbliżającą się rozmową kwalifikacyjną, lepiej skupić się na komunikacji, niż próbować powtarzać w dwa dni materiał, którego uczyłeś się przez dwa lata na informatyce. Przed następną rozmową techniczną spróbuj nauczyć się tego:

2.1 Naucz się zadawać pytania wyjaśniające

Jedną z głównych zalet rozmowy kwalifikacyjnej jest możliwość wyjaśnienia postawionego pytania. Zwykle osoby przeprowadzające wywiady nie przekazują wszystkich informacji, dlatego trzeba z nich wydobyć dodatkowe szczegóły. Nie da się rozwiązać problemu bez pełnego zrozumienia, co to jest! Aby poćwiczyć, możesz odpowiedzieć na kilka pytań z rozmów technicznych i wymyślić dla nich serię pytań wyjaśniających. Na przykład, jeśli zostaniesz poproszony o posortowanie listy, możesz zapytać:
  • Jak posortować listę - rosnąco czy malejąco?
  • Jakiego rodzaju dane zawiera lista?
  • Czy możesz podać przykład tego, jak powinno wyglądać wprowadzanie i wyprowadzanie danych w przypadku tego typu zadania?
  • Itp.
Pytań może być znacznie więcej – to tylko kilka przykładów. Pamiętaj, aby wyjaśnić różne niuanse: Poproś o przykład wejścia i wyjścia
  • Określ typ danych
  • Sprawdź, czy są jakieś ograniczenia dotyczące zakresu wartości
  • Zapytaj, czy masz do czynienia z przypadkami Edge
  • Dowiedz się, czy możesz korzystać z określonych bibliotek i funkcji języka, w którym programujesz

2.2 Naucz się wyrażać myśli

Kiedy już zadałeś wszystkie wyjaśniające pytania i wiesz dokładnie, czego potrzebujesz, aby rozwiązać problem, czas nauczyć się, jak prawidłowo przekazać istotę rozwiązania. Jeśli zaczniesz po prostu pisać kod, nie wyjaśniając po drodze, dlaczego to robisz, osobie przeprowadzającej rozmowę kwalifikacyjną będzie trudno ustalić, czy masz rację, czy nie. Nie otrzymasz za to punktów, nie mówiąc już o tym, że możesz napisać błędne rozwiązanie. Kiedy po drodze wyjaśnisz logikę swojej decyzji, osoba przeprowadzająca rozmowę może wskazać ci właściwy kierunek, jeśli trochę zboczysz z kursu. Zanim napiszesz jakikolwiek kod, spróbuj tego:
  • Opowiedz swojemu rozmówcy o możliwym rozwiązaniu – czy uda Ci się rozwiązać problem „od ręki” i czy jest to możliwe lub czy da się to jakoś poprawić?
  • Przeanalizuj rozwiązanie krok po kroku, korzystając z przykładu, aby zrozumieć, jak powinno ono działać.
  • Podziel rozwiązanie na kilka kroków i napisz pseudokod lub „szkielet”, aby rozmówca zrozumiał Twój tok myślenia
  • Przetestuj swoje rozwiązanie z różnymi przypadkami Edge, aby sprawdzić, czy uwzględniłeś wszystko. Zapytaj o opinię ankietera.
Aby poćwiczyć, odpowiedz na sprawdzone pytanie na rozmowie kwalifikacyjnej i spróbuj podać znajomemu poprawną odpowiedź (rozwiązanie). Jeśli nie możesz znaleźć przyjaciela, weź pluszowego zwierzaka lub inny przedmiot i poćwicz z nim.

3. Popraw swoją wiedzę techniczną i umiejętności

Kiedy już nauczysz się, jak poprawnie komunikować się podczas rozmowy kwalifikacyjnej, możesz włożyć całą swoją energię w doskonalenie swojej wiedzy technicznej. Pamiętaj, aby odświeżyć algorytmy i struktury danych. Upewnij się, że rozumiesz kluczowe tematy, takie jak struktury danych, sortowanie, praca z algorytmami, operatory bitowe, notacja Big O itp. Lista rzeczy, które musisz wiedzieć, różni się w zależności od stanowiska, na które aplikujesz.

4. Ćwicz!

Teraz, po zdobyciu niezbędnych umiejętności i wiedzy, możesz włożyć całą swoją energię w praktykę.
Kurs JavaRush zawiera wiele zadań typu „puzzle” oraz całe projekty służące do tworzenia rozwiązań aplikacyjnych.
Spróbuj nie tylko napisać rozwiązanie, ale przemyśleć poszczególne kroki: w myślach zadaj pytania wyjaśniające, przemyśl strukturę i dopiero wtedy napisz rozwiązanie. Dzięki temu poczujesz się pewniej podczas rozmowy kwalifikacyjnej, a pewność siebie jest najważniejsza!

5. Co zrobić, jeśli „utkniesz” w rozmowie kwalifikacyjnej?

A teraz wyobraźmy sobie, że wziąłeś udział w prawdziwej rozmowie kwalifikacyjnej i nagle zdałeś sobie sprawę, że to pytanie cię zaskoczyło. Nie masz pojęcia, co należy zrobić i jak rozwiązać problem. Masz ochotę po prostu wybiec z pokoju i nie wracać. Rozumiem – zdarzały mi się sytuacje, o których do dziś śnię w koszmarach. Ale nie martw się – nie wszystko jeszcze stracone. Zdarzało się to nie raz podczas rozmów kwalifikacyjnych, ale zwykle kończyły się ofertą. To trudne, działa ci na nerwy, ale wszystko jest możliwe. Zrób sobie przerwę i pomyśl. Weź oddech, uporządkuj swoje myśli. Być może będziesz miał „wskazówkę”. Przetestuj swoje rozwiązanie na prostym przykładzie. Spróbuj stworzyć uproszczoną wersję rozwiązania podobnego problemu, ale prostszą, zwracając uwagę na działania krok po kroku. Na przykład, jeśli chcesz posortować listę, co robisz? Znajdujesz najmniejszą liczbę i umieszczasz ją na początku. Jak zaimplementowałbyś to rozwiązanie w kodzie? Opowiedz nam o rozwiązaniu prywatnym. Jeśli nie pojawi się pełne rozwiązanie, nie ma problemu. Powiedz to rozmówcy, ale także wpuść go w swój tok myślenia. Czy to wyzwanie przypomina inne, z którymi się spotkałeś? Czy wydaje się, że do rozwiązania tego problemu potrzebujesz użyć określonej struktury danych? Podziel się logiką, która Cię prowadzi. Bądź szczery. Jeżeli masz pewność, że zadane Ci pytanie pochodzi z nieznanej Ci dziedziny wiedzy, powiedz o tym osobie przeprowadzającej rozmowę kwalifikacyjną. Powiedz, że jesteś gotowy szukać rozwiązania, ale nie masz jeszcze niezbędnych umiejętności. Kiedyś zadano mi pytanie związane z bezpieczeństwem sieci. Nie miałem wówczas praktyki w tej dziedzinie, o czym opowiadałem ankieterom. Wyjaśnili mi niezbędne podstawy, abym mógł podołać zadaniu. Rozmowy z Tobą przeprowadzą prawdziwi ludzie :) Doskonale Cię rozumieją, bo sami byli w podobnej sytuacji. To wszystkie wskazówki, które wypracowałem w ciągu kilku lat rozmów kwalifikacyjnych. Pomogli mi i moim przyjaciołom dostać się do najlepszych firm. Powodzenia w szukaniu!
Komentarze
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION