Najlepsza odpowiedź
Kilka tygodni temu rozmawiałem o stażu. Zwykle robią ekran telefonu, ale najwyraźniej go dla mnie pominęli. Zostałem zaproszony do ich biura na rozmowy kwalifikacyjne na miejscu.
Pierwsza rozmowa odbyła się z kierownikiem technicznym, który skupił się na rozmowie technicznej, więc rozmawialiśmy o technologiach, z którymi pracowałem, o zaletach i wadach każdej z nich, jak wybrałbym stos technologii itp. Czułem, że ma to na celu ocenę tego, jak dużo wiesz poza programem nauczania. Następnie zadano mi pytanie o algorytmy wzorowane na serwerach równoważących obciążenie.
Drugi wywiad dotyczył całkowicie kodowania. Pytania były proste, ale mój rozmówca powiedział, że szukają sposobu, w jaki napisałbym kod produkcyjny. Podczas wywiadu rozwiązałem około 3-4 pytań.
Ostatnie z nich było najtrudniejsze i skupiało się na skryptach powłoki, podstawach systemu operacyjnego, debugowaniu segfaultów itp., A także poproszono mnie o zakodowanie działającego rozwiązania dla NP-trudnego problemu. Wydawało się, że ankieter próbował mnie naciskać, bym zobaczył, ile mogę zrobić w każdym obszarze. Na koniec nadal nie byłem do końca pewien, jak to poszło.
(Kiedy wychodziłem z biura, dostałem darmową bluzę z kapturem Ubera: D)
Mój rekruter zadzwonił mnie za kilka dni i powiedzieli, że chcą złożyć mi ofertę, ale wcześniej Uber przeprowadza rozmowę z menedżerem konkretnego zespołu. Miałem z nim rozmowę przez Skypea, która dotyczyła głównie moich wcześniejszych doświadczeń i obszarów zainteresowań, a także średnio trudnego pytania o kodowanie w Kombinacjach.
Niedługo potem otrzymałem formalną ofertę. Mam nadzieję, że to pomoże 🙂
Odpowiedź
Miesiąc temu przeprowadziłem rozmowę kwalifikacyjną na pełnoetatowe stanowisko inżyniera oprogramowania w Uber. Dostałem możliwość rozmowy kwalifikacyjnej dzięki poleceniu znajomego.
Po raz pierwszy miałem zaplanowaną jedną rundę przeglądu telefonicznego, którą przeprowadził kierownik techniczny Ubera. Zapytano mnie o moje zaplecze techniczne, moją pracę, a także dwa problemy z kodowaniem. Poszło bardzo dobrze i godzinę po rozmowie telefonicznej zaproszono mnie na rozmowę kwalifikacyjną.
Rozmowa na miejscu odbyła się 2 tygodnie później i trwała około 4,5 godziny. Cztery osoby rzuciły mi wiele pytań technicznych, takich jak kodowanie tablicy i pytania dotyczące projektowania systemu. Wszyscy byli bardzo przyjaźni i przychodzili punktualnie, więc między nimi nie było zbyt wielu przerw. Ostatnia rozmowa techniczna miała charakter praktyczny – poproszono mnie o rozwiązanie rzeczywistego problemu, a następnie zaimplementowałem go. Przed rozpoczęciem pracy nad kodowaniem, prowadzący rozmowę szczegółowo omówił ze mną szczegóły na wszystkich poziomach, aby upewnić się, że jest to rozsądne rozwiązanie, które można zrobić w ciągu kilku minut. Problem nie był zbyt trudny, a rozwiązanie może być nieoptymalne, ale musisz sprawić, by działało. Dlatego lepiej być praktycznym inżynierem w pracy i pisać rzeczywisty kod w efektywny sposób (wybór edytora, wyszukiwanie API, umiejętności debugowania, itp). Dla siebie używam Vima codziennie i to mi bardzo pomogło. Po czwartej rundzie wywiadu technicznego miałem również okazję porozmawiać z rekruterem i menedżerem ds. rekrutacji na różne pytania i wątpliwości, które bardzo dobrze rozwiązali.
Następnego dnia po rozmowie na miejscu otrzymałem ofertę, którą po kilku negocjacjach z radością zaakceptowałem. Jedną z rzeczy, na które chciałbym zwrócić uwagę, jest to, że byłem zdumiony wydajnością firmy podczas całego procesu rekrutacji. menadżer ds. rekrutacji i kilku rekruterów, z którymi pracowałem, zawsze odpowiadało bardzo szybko w ciągu kilku minut. Przy okazji, mieszkam w South Bay i dojazdy do / z San Francisco były oczywiście pokryte za pomocą Ubera, dzięki czemu rozmowa kwalifikacyjna była jeszcze przyjemniejsza 🙂