Oto lista 140 pytań na rozmowę kwalifikacyjną w Google. Wielu naszych klientów uczestniczyło w rozmowach kwalifikacyjnych i otrzymało oferty pracy w Google. Skontaktuj się z nami, aby uzyskać bezpłatną 15-minutową analizę rozmowy kwalifikacyjnej przed rozmową kwalifikacyjną w Google.
Pytania na rozmowę kwalifikacyjną Google: Product Marketing Manager
- Dlaczego chcesz dołączyć do Google?
- Co wiesz o produktach i technologii Google?
- Jeśli jesteś menedżerem produktu Google Adwords, w jaki sposób zamierzasz go promować?
- Co powiedziałbyś podczas seminarium produktowego AdWords lub AdSense?
- Kim są konkurenci Google i jak Google z nimi konkuruje?
- Czy kiedykolwiek korzystałeś z produktów Google? Gmail?
- Jaki jest kreatywny sposób promowania marki i produktów Google?
- Jeśli jesteś menedżerem ds. marketingu produktu Gmail firmy Google, w jaki sposób planujesz wprowadzić go na rynek, aby osiągnąć 100 milionów klientów w ciągu 6 miesięcy?
- Ile pieniędzy dziennie zarabia Google na reklamach w Gmailu?
- Wymień technologię, o której ostatnio czytałeś. Teraz opowiedz mi o swojej własnej kreatywnej realizacji reklamy tego produktu.
- Załóżmy, że reklamodawca zarabia 0,10 USD za każdym razem, gdy ktoś kliknie jego reklamę. Tylko 20% osób odwiedzających witrynę klika w reklamę. Ile osób musi odwiedzić witrynę, aby reklamodawca zarobił 20 USD?
- Oszacuj liczbę studentów, którzy są seniorami college’u, uczęszczają do czteroletnich szkół i co roku kończą studia z pracą w Stanach Zjednoczonych.
Pytania na rozmowę kwalifikacyjną w Google: Product Manager
-
- Jak zwiększyłbyś bazę subskrypcji GMail?
- Jaki jest najbardziej efektywny sposób sortowania miliona liczb całkowitych?
- Jak zmieniłbyś ofertę Google, aby przeciwdziałać zagrożeniom ze strony Microsoftu?
- Ile piłek golfowych zmieści się w szkolnym autobusie?
- Zostajesz zmniejszony do wysokości niklu, a twoja masa jest proporcjonalnie zmniejszona, aby zachować pierwotną gęstość. Następnie zostajesz wrzucony do pustego szklanego blendera. Ostrza zaczną się poruszać za 60 sekund. Co należy zrobić?
- Ile powinno kosztować umycie wszystkich okien w Seattle?
- Jak sprawdzić, czy stos maszyny rośnie czy maleje w pamięci?
- Wyjaśnij swojemu ośmioletniemu siostrzeńcowi, czym jest baza danych w trzech zdaniach.
- Ile razy dziennie wskazówki zegara nakładają się na siebie?
- Musisz dostać się z punktu A do punktu B. Nie wiesz, czy uda Ci się tam dotrzeć. Co byś zrobił?
- Wyobraź sobie, że masz szafę pełną koszul. Bardzo trudno jest znaleźć koszulę. Co możesz zrobić, aby uporządkować swoje koszule i łatwo je znaleźć?
- Każdy mężczyzna w wiosce liczącej 100 małżeństw zdradził swoją żonę. Każda żona w wiosce natychmiast wie, kiedy mężczyzna inny niż jej mąż zdradził, ale nie wie, kiedy zrobił to jej mąż. W wiosce obowiązuje prawo, które nie zezwala na cudzołóstwo. Każda żona, która może udowodnić, że jej mąż jest niewierny, musi go zabić tego samego dnia. Kobiety w wiosce nigdy nie złamałyby tego prawa. Pewnego dnia królowa wioski składa wizytę i ogłasza, że co najmniej jeden mąż był niewierny. Co się dzieje?
- W kraju, w którym ludzie chcą tylko chłopców, każda rodzina kontynuuje mieć dzieci, dopóki nie urodzi im się chłopiec. Jeśli mają dziewczynkę, mają kolejne dziecko. Jeśli mają chłopca, przestają. Jaka jest proporcja chłopców do dziewczynek w kraju?
- Jeśli prawdopodobieństwo zaobserwowania samochodu w ciągu 30 minut na autostradzie wynosi 0,95, jakie jest prawdopodobieństwo zaobserwowania samochodu w ciągu 10 minut (zakładając stałe prawdopodobieństwo domyślne)?
- Jeśli patrzysz na zegar i jest godzina 3:15, jaki jest kąt między wskazówkami godzinową i minutową? (Odpowiedź na to pytanie nie jest równa zero!)
-
- Cztery osoby muszą przejść przez chwiejny most linowy, aby wrócić do swojego obozu w nocy. Niestety, mają tylko jedną latarkę, a światła wystarczy im tylko na siedemnaście minut. Most jest zbyt niebezpieczny, aby przejść przez niego bez latarki, a jego wytrzymałość jest wystarczająca, aby utrzymać tylko dwie osoby w danym momencie. Każdy z obozowiczów idzie z inną prędkością. Jeden może przejść przez most w 1 minutę, drugi w 2 minuty, trzeci w 5 minut, a powolnemu pokemonowi przejście zajmuje 10 minut. W jaki sposób obozowicze pokonują most w 17 minut?
- Jesteś na imprezie z przyjacielem i obecnych jest 10 osób, w tym Ty i przyjaciel. Twój przyjaciel proponuje Ci zakład, że za każdą znalezioną osobę, która ma takie same urodziny jak Ty, otrzymasz 1 USD; za każdą znalezioną osobę, która nie ma takich samych urodzin jak Ty, otrzyma 2 USD.
- Ilu stroicieli fortepianów jest na całym świecie?
- Masz osiem piłek tego samego rozmiaru. 7 z nich waży tyle samo, a jedna nieco więcej. Jak można znaleźć piłkę, która jest cięższa, używając wagi i tylko dwóch ważeń?
- Masz pięciu piratów, uszeregowanych od 5 do 1 w porządku malejącym. Najwyższy pirat ma prawo zaproponować, jak podzielić między nich 100 złotych monet. Ale pozostali mogą głosować nad jego planem, a jeśli mniej niż połowa się z nim zgadza, zostaje zabity. Jak powinien rozdzielić złoto, aby zmaksymalizować swój udział, ale jednocześnie przeżyć, aby się nim cieszyć? (Podpowiedź: jeden pirat otrzymuje 98% złota)
- Otrzymujesz 2 jajka. Masz dostęp do 100-piętrowego budynku. Jajka mogą być bardzo twarde lub bardzo kruche, co oznacza, że mogą pęknąć, jeśli zostaną upuszczone z pierwszego piętra lub mogą nawet nie pęknąć, jeśli zostaną upuszczone ze 100 piętra. Oba jajka są identyczne. Musisz obliczyć najwyższe piętro 100-piętrowego budynku, z którego jajko może zostać upuszczone bez rozbicia. Pytanie brzmi, ile zrzutów należy wykonać. Dozwolone jest rozbicie 2 jajek.
- Opisz swój problem techniczny i sposób jego rozwiązania.
- Jak zaprojektowałbyś prostą wyszukiwarkę?
- Zaprojektuj plan ewakuacji dla San Francisco.
- W RPA występuje problem z opóźnieniami. Zdiagnozuj go.
- Jakie są trzy długoterminowe wyzwania stojące przed Google?
- Wymień trzy strony internetowe spoza Google, które często odwiedzasz i lubisz. Co podoba Ci się w ich interfejsie użytkownika i wyglądzie? Wybierz jedną z trzech witryn i skomentuj, nad jaką nową funkcją lub projektem byś pracował. Jak byś go zaprojektował?
- Jeśli w budynku jest tylko jedna winda, jak zmieniłbyś projekt? A gdyby w budynku były tylko dwie windy?
- Ile odkurzaczy produkuje się rocznie w USA?
Pytania na rozmowę kwalifikacyjną Google: Inżynier oprogramowania
-
- Dlaczego pokrywy włazów są okrągłe?
- Jaka jest różnica między muteksem a semaforem? Którego z nich użyłbyś do ochrony dostępu do operacji inkrementacji?
- Mężczyzna pchał swój samochód do hotelu i zgubił jego fortunę. Co się stało?
- Wyjaśnij znaczenie „martwej wołowiny”.
- Napisz program w języku C, który mierzy szybkość przełączania kontekstu w systemie UNIX/Linux.
- Biorąc pod uwagę funkcję, która produkuje losową liczbę całkowitą w zakresie od 1 do 5, napisz funkcję, która produkuje losową liczbę całkowitą w zakresie od 1 do 7.
- Opisz algorytm przechodzenia grafu w głąb.
- Zaprojektuj bibliotekę klas do pisania gier karcianych.
- Musisz sprawdzić, czy Twój znajomy, Bob, ma Twój prawidłowy numer telefonu, ale nie możesz zapytać go o to bezpośrednio. Musisz napisać pytanie na kartce i dać ją Ewie, która zaniesie kartkę do Boba i odeśle odpowiedź do Ciebie. Co należy napisać na kartce oprócz pytania, aby Bob mógł zakodować wiadomość tak, aby Ewa nie mogła odczytać Twojego numeru telefonu?
- W jaki sposób pliki cookie są przekazywane w protokole HTTP?
- Zaprojektuj tabele bazy danych SQL dla bazy danych wypożyczalni samochodów.
- Napisz wyrażenie regularne dopasowujące adres e-mail.
- Napisz funkcję f(a, b), która przyjmuje dwa argumenty w postaci łańcuchów znaków i zwraca łańcuch zawierający tylko znaki znalezione w obu łańcuchach w kolejności a. Napisz wersję, która jest rzędu N-kwadratów i jedną, która jest rzędu N.
-
- Otrzymujesz źródło aplikacji, która ulega awarii podczas uruchamiania. Po uruchomieniu jej 10 razy w debugerze okazuje się, że nigdy nie ulega ona awarii w tym samym miejscu. Aplikacja jest jednowątkowa i korzysta wyłącznie z biblioteki standardowej języka C. Jakie błędy programistyczne mogą powodować tę awarię? Jak przetestować każdy z nich?
- Wyjaśnij, jak działa kontrola przeciążenia w protokole TCP.
- Jaka jest różnica między final, finally i finalize w języku Java?
- Co to jest programowanie wielowątkowe? Co to jest impas?
- Napisz funkcję (w razie potrzeby z funkcjami pomocniczymi) wywoływaną w Excelu, która pobiera wartość kolumny Excela (A,B,C,D…AA,AB,AC,… AAA…) i zwraca odpowiadającą jej wartość całkowitą (A=1,B=2,… AA=26…).
- Masz strumień nieskończonych zapytań (tj. zapytań do wyszukiwarki Google wprowadzanych w czasie rzeczywistym). Opisz, w jaki sposób znalazłbyś dobre oszacowanie 1000 próbek z tego niekończącego się zestawu danych, a następnie napisz dla niego kod.
- Algorytmy wyszukiwania drzewiastego. Napisz kod BFS i DFS, wyjaśnij wymagania dotyczące czasu działania i przestrzeni. Zmodyfikuj kod, aby obsługiwał drzewa z ważonymi krawędziami i pętle z BFS i DFS, spraw, aby kod drukował ścieżkę do stanu docelowego.
- Otrzymujesz listę liczb. Gdy dojdziesz do końca listy, wrócisz na jej początek (lista kołowa). Napisz najbardziej efektywny algorytm znajdowania minimum # na tej liście. Znajdź dowolną liczbę # na liście. Liczby na liście są zawsze rosnące, ale nie wiadomo, gdzie zaczyna się lista kołowa, tj.: 38, 40, 55, 89, 6, 13, 20, 23, 36.
- Opisz strukturę danych używaną do zarządzania pamięcią.
- Jaka jest różnica między zmiennymi lokalnymi i globalnymi?
- Jeśli masz 1 milion liczb całkowitych, jak mógłbyś je efektywnie posortować? (zmodyfikuj konkretny algorytm sortowania, aby rozwiązać ten problem)
-
- W Javie, jaka jest różnica między static, final i const (jeśli nie znasz Javy, zapytają o coś podobnego dla C lub C++)
- Porozmawiaj o swoich projektach klasowych lub projektach w pracy (wybierz coś łatwego)… a następnie opisz, w jaki sposób możesz uczynić je bardziej wydajnymi (pod względem algorytmów).
- Załóżmy, że masz macierz NxN liczb całkowitych dodatnich i ujemnych. Napisz kod, który znajdzie podmacierz z maksymalną sumą jej elementów.
-
- Napisz kod odwracający ciąg znaków.
- Zaimplementuj dzielenie (oczywiście bez użycia operatora dzielenia).
- Napisz kod znajdujący wszystkie permutacje liter w danym ciągu znaków.
- Jakiej metody użyłbyś do wyszukania słowa w słowniku?
- Wyobraź sobie, że masz szafę pełną koszul. Bardzo trudno jest znaleźć koszulę. Co możesz zrobić, aby uporządkować swoje koszule i łatwo je znaleźć?
- Masz osiem piłek tego samego rozmiaru. 7 z nich waży tyle samo, a jedna nieco więcej. Jak można znaleźć piłkę, która jest cięższa, używając wagi i tylko dwóch ważeń?
- Jakie polecenie w języku C służy do otwierania połączenia z obcym hostem przez Internet?
- Zaprojektuj i opisz system/aplikację, która najefektywniej wygeneruje raport z 1 miliona najpopularniejszych zapytań w wyszukiwarce Google. Oto szczegóły: 1) Masz do dyspozycji 12 serwerów. Są to dwuprocesorowe maszyny z 4 GB pamięci RAM, 4 dyskami twardymi o pojemności 400 GB i połączone w sieć. (Zasadniczo nic więcej niż wysokiej klasy komputery PC) 2) Dane dziennika zostały już dla Ciebie wyczyszczone. Składają się one ze 100 miliardów wierszy dziennika, podzielonych na 12 plików o pojemności 320 GB z 40-bajtowymi wyszukiwanymi hasłami w każdym wierszu. 3) Możesz używać tylko aplikacji napisanych na zamówienie lub dostępnego bezpłatnego oprogramowania open-source.
- Istnieje tablica A[N] zawierająca N liczb. Należy utworzyć tablicę Output[N] taką, że Output[i] będzie równe iloczynowi wszystkich elementów A[N] z wyjątkiem A[i]. Na przykład Output[0] będzie mnożeniem A[1] do A[N-1], a Output[1] będzie mnożeniem A[0] i od A[2] do A[N-1]. Rozwiąż to zadanie bez operatora dzielenia i w O(n).
- Istnieje połączona lista liczb o długości N. N jest bardzo duże i nie znasz N. Musisz napisać funkcję, która zwróci k losowych liczb z listy. Liczby powinny być całkowicie losowe. Wskazówka: 1. Użyj funkcji losowych rand() (zwraca liczbę z przedziału od 0 do 1) i irand() (zwraca 0 lub 1) 2. Powinno to zostać wykonane w czasie O(n).
- Znaleźć lub określić nieistnienie liczby na posortowanej liście N liczb, gdzie liczby mają zakres M, M>> N i N jest wystarczająco duże, aby objąć wiele dysków. Algorytm pokonujący O(log n) punkty bonusowe za algorytm działający w stałym czasie.
- Otrzymujesz grę Tic Tac Toe. Musisz napisać funkcję, w której przekażesz całą grę i nazwę gracza. Funkcja będzie zwracać, czy gracz wygrał grę, czy nie. Najpierw musisz zdecydować, jakiej struktury danych użyjesz do gry. Najpierw należy określić algorytm, a następnie napisać kod. Uwaga: Niektóre pozycje w grze mogą być puste।, więc struktura danych powinna uwzględniać również ten warunek.
- Dana jest tablica [a1 To an] i musimy skonstruować inną tablicę [b1 To bn], gdzie bi = a1*a2*…*an/ai. dozwolone jest użycie tylko stałej przestrzeni, a złożoność czasowa wynosi O(n). Żadne dzielenie nie jest dozwolone.
- Jak efektywnie umieścić drzewo wyszukiwania binarnego w tablicy? Wskazówka: Jeśli węzeł jest przechowywany na i-tej pozycji, a jego dzieci są na 2i i 2i+1 (mam na myśli kolejność poziomów), nie jest to najbardziej efektywny sposób.
- Jak znaleźć piąty maksymalny element w drzewie wyszukiwania binarnego w efektywny sposób. Uwaga: Nie należy używać dodatkowego miejsca. tj. sortowanie drzewa wyszukiwania binarnego i przechowywanie wyników w tablicy oraz wypisywanie piątego elementu.
- GiNawet struktura danych zawierająca pierwsze n liczb całkowitych i następne n znaków. A = i1 i2 i3 … iN c1 c2 c3 … cN.Napisz algorytm in-place, aby zmienić kolejność elementów tablicy ass A = i1 c1 i2 c2 … in cn
- Biorąc pod uwagę dwie sekwencje elementów, znajdź elementy, których liczba bezwzględna wzrasta lub maleje najbardziej podczas porównywania jednej sekwencji z drugą, odczytując sekwencję tylko raz
- Biorąc pod uwagę, że jeden z ciągów jest bardzo długi, a drugi może mieć różne rozmiary. Windowing da rozwiązanie O(N+M), ale czy może być lepsze? Może być NlogM lub nawet lepiej?
- Ile linii można narysować na płaszczyźnie 2D tak, aby były w równej odległości od 3 niekolinearnych punktów?
- Załóżmy, że musisz zbudować mapy Google od zera i poprowadzić osobę stojącą na Gateway of India (Bombaj) do India Gate (Delhi). Jak zrobić to samo?
- Biorąc pod uwagę, że masz jeden ciąg o długości N i M małych ciągów o długości L. Jak skutecznie znaleźć wystąpienie każdego małego ciągu w większym?
- Biorąc pod uwagę drzewo binarne, należy programowo udowodnić, że jest to binarne drzewo wyszukiwania.
- Dana jest mała posortowana lista liczb i bardzo długa posortowana lista liczb – tak długa, że musiała zostać umieszczona na dysku w różnych blokach. Jak znaleźć numery z krótkiej listy na większej?
- Załóżmy, że mamy N firm i chcemy ostatecznie połączyć je w jedną dużą firmę. Na ile sposobów można je połączyć?
- Biorąc pod uwagę plik zawierający 4 miliardy 32-bitowych liczb całkowitych, jak znaleźć taką, która pojawia się co najmniej dwa razy?
- Napisz program wyświetlający dziesięć najczęściej występujących słów w pliku, tak aby program był wydajny we wszystkich miarach złożoności.
- Zaprojektuj stos. Chcemy pchać, wyskakiwać, a także pobierać minimalny element w stałym czasie.
- Biorąc pod uwagę zestaw nominałów monet, znajdź minimalną liczbę monet, aby wydać określoną kwotę reszty.
- Biorąc pod uwagę tablicę, i) znajdź najdłuższy ciągły rosnący podciąg. ii) znajdź najdłuższy rosnący podciąg.
- Załóżmy, że mamy N firm i chcemy ostatecznie połączyć je w jedną dużą firmę. Na ile sposobów można je połączyć?
- Napisz funkcję znajdującą środkowy węzeł listy pojedynczych odnośników.
- Biorąc pod uwagę dwa drzewa binarne, napisz funkcję porównującą, aby sprawdzić, czy są one równe, czy nie. Bycie równym oznacza, że mają tę samą wartość i tę samą strukturę.
- Zaimplementuj metody put/get pamięci podręcznej o stałym rozmiarze z algorytmem zastępowania LRU.
- Otrzymujesz trzy posortowane tablice (w porządku rosnącym), musisz znaleźć tryplet (po jednym elemencie z każdej tablicy) taki, że odległość jest minimalna.
- Odległość jest zdefiniowana w następujący sposób: Jeśli a[i], b[j] i c[k] są trzema elementami, to distance=max(abs(a[i]-b[j]),abs(a[i]-c[k]),abs(b[j]-c[k]))”.
- Podaj rozwiązanieo złożoności czasowej O(n
- Jak C++ radzi sobie z konstruktorami i dekonstruktorami klasy i jej klasy potomnej?
- Napisz funkcję odwracającą bity wewnątrz bajtu (w języku C++ lub Java). Napisz algorytm, który pobiera listę n słów i liczbę całkowitą m, a następnie pobiera mte najczęściej występujące słowo z tej listy.
- Ile wynosi 2 do potęgi 64?
- Biorąc pod uwagę, że masz jeden ciąg o długości N i M małych ciągów o długości L. Jak skutecznie znaleźć wystąpienie każdego małego ciągu w większym?
- Jak efektywnie znaleźć piąty maksymalny element w drzewie wyszukiwania binarnego?nner.
- Załóżmy, że mamy N firm i chcemy ostatecznie połączyć je w jedną dużą firmę. Na ile sposobów można je połączyć?
- Istnieje połączona lista milionów węzłów, której długość nie jest znana. Napisz funkcję, która zwróci losową liczbę z listy.
- Musisz sprawdzić, czy Twój znajomy, Bob, ma Twój poprawny numer telefonu, ale nie możesz zapytać go o to bezpośrednio. Musisz napisać pytanie na kartce i dać ją Ewie, która zaniesie kartkę Bobowi i zwróci Ci odpowiedź. Co należy napisać na kartce oprócz pytania, aby Bob mógł zakodować wiadomość tak, aby Ewa nie mogła odczytać Twojego numeru telefonu?
- Ile czasu zajęłoby posortowanie 1 biliona liczb? Podaj dobre oszacowanie.
- Uporządkuj funkcje w kolejności ich asymptotycznej wydajności: 1) 2^n 2) n^100 3) n!
- Istnieją pewne dane reprezentowane przez(x,y,z). Teraz chcemy znaleźć K-tą najmniejszą liczbę danych. Mówimy, że (x1, y1, z1) > (x2, y2, z2) gdy value(x1, y1, z1) > value(x2, y2, z2) gdzie value(x,y,z) = (2^x)*(3^y)*(5^z). Teraz nie możemy tego uzyskać, obliczając wartość (x, y, z) lub poprzez inne obliczenia pośrednie, takie jak lg (wartość (x, y, z)). Jak to rozwiązać?
- Ile stopni ma kąt między wskazówkami godzinową i minutową zegara, gdy jest kwadrans po trzeciej?
- Biorąc pod uwagę tablicę, której elementy są posortowane, zwróć indeks pierwszego wystąpienia określonej liczby całkowitej. Zrób to w czasie podliniowym. Tzn. nie należy po prostu przechodzić przez każdy element w poszukiwaniu tego elementu.
- Biorąc pod uwagę dwie połączone listy, zwróć przecięcie tych dwóch list: tj. zwróć listę zawierającą tylko elementy, które występują na obu listach wejściowych.
- Jaka jest różnica między hashtable i hashmap?
- Jeśli dana osoba wybiera sekwencję liczb przez telefon, jakie możliwe słowa/ciągi można utworzyć z liter powiązanych z tymi liczbami?
- Jak odwrócić obraz na matrycy n na n, gdzie każdy piksel jest reprezentowany przez bit?
- Stwórz szybki mechanizm przechowywania danych w pamięci podręcznej, który, biorąc pod uwagę ograniczenie ilości pamięci podręcznej, zapewni, że tylko ostatnio używane elementy zostaną odrzucone, gdy pamięć podręczna zostanie osiągnięta podczas wstawiania nowego elementu. Obsługuje 2 funkcje: String get(T t) i void put(String k, T t).
- Utwórz model kosztów, który pozwoli firmie Google podejmować decyzje dotyczące zakupów w celu porównania kosztów zakupu większej ilości pamięci RAM dla serwerów z zakupem większej ilości miejsca na dysku.
- Zaprojektuj algorytm do gry Frogger, a następnie zakoduj jego rozwiązanie. Celem gry jest kierowanie żabą tak, aby unikała samochodów podczas przechodzenia przez ruchliwą drogę. Pas drogi może być reprezentowany przez tablicę. Uogólnij rozwiązanie dla N-pasmowej drogi.
- Jakiego rodzaju tablicy użyłbyś, gdybyś miał do dyspozycji duży zbiór danych na dysku i niewielką ilość pamięci RAM?
- Jakiego sortowania użyłbyś, gdybyś wymagał wąskich maksymalnych limitów czasu i chciał bardzo regularnej wydajności.
- Jak przechowywać 1 milion numerów telefonów?
- Zaprojektuj grę 2D typu dungeon crawling. Musi ona uwzględniać różne elementy w labiryncie – ściany, przedmioty i postacie sterowane przez komputer. (Skupiono się na strukturach klas i na tym, jak zoptymalizować doświadczenie użytkownika podczas podróży przez loch).
- Jaki jest rozmiar poniższej struktury C w systemie 32-bitowym? Na 64-bitowym?
- struct foo {
- char a;
- char* b;
- };
- Wywiad z Google: Oprogramowanie Engineer in Test
- Efektywna implementacja 3 stosów w jednej tablicy.
- Biorąc pod uwagę tablicę liczb całkowitych, która jest posortowana kołowo, jak znaleźć daną liczbę całkowitą.
- Napisz program znajdujący głębokość drzewa wyszukiwania binarnego bez użycia rekurencji.
- Znajdź maksymalny prostokąt (pod względem powierzchni) pod histogramem w czasie liniowym.
- Większość telefonów ma teraz pełne klawiatury. Wcześniej do przycisku numerycznego przypisane były trzy litery. Opisz, w jaki sposób zaimplementowałbyś sugestie pisowni i słów podczas pisania.
- Opisz rekurencyjny mergesort i jego czas działania. Napisz iteracyjną wersję w C++/Java/Python.
- Jak określić, czy ktoś wygrał grę w kółko i krzyżyk na planszy o dowolnym rozmiarze?
- Biorąc pod uwagę tablicę liczb, zamień każdą liczbę na iloczyn wszystkich liczb w tablicy z wyjątkiem samej liczby *bez* użycia dzielenia.
- Utwórz pamięć podręczną z szybkim wyszukiwaniem, która przechowuje tylko N ostatnio używanych elementów.
- Jak zaprojektować wyszukiwarkę? Jeśli każdy dokument zawiera zestaw słów kluczowych i jest powiązany z atrybutem numerycznym, jak zbudować indeksy?
- Biorąc pod uwagę dwa pliki z listą słów (po jednym w wierszu), napisz program pokazujący ich przecięcie.
- Jakiego rodzaju struktury danych użyłbyś do indeksowania annagramów słów? np. jeśli w bazie danych istnieje słowo „top”, zapytanie dla „pot” powinno je wyświetlić.
- Wywiad z Google: Ilościowy analityk wynagrodzeń
- Jakie jest roczne odchylenie standardowe akcji, biorąc pod uwagę miesięczne odchylenie standardowe?
- Ile CV rocznie otrzymuje Google na stanowisko inżyniera oprogramowania?
- Gdziekolwiek na świecie otworzyłbyś nowe biuro Google i jak obliczyłbyś wynagrodzenie dla wszystkich pracowników w tym nowym biurze?
- Jakie jest prawdopodobieństwo złamania patyka na 3 części i utworzenia trójkąta?
- Wywiad z Google: Menedżer ds. inżynierii
- Jesteś kapitanem pirackiego statku, a twoja załoga może głosować nad podziałem złota. Jeśli mniej niż połowa piratów zgodzi się z Tobą, zginiesz. Jak radzisz podzielić złoto w taki sposób, aby otrzymać dobrą część łupów, ale nadal przeżyć?
- Wywiad z Google: AdWords Associate
- Jak pracowałbyś z reklamodawcą, który nie widziałby korzyści z relacji AdWords z powodu słabych konwersji?
- Jak poradziłbyś sobie z gniewnym lub sfrustrowanym reklamodawcą przez telefon?