Powiedziałeś, że rozmawiasz o stażach w pytaniu, więc z tego punktu widzenia, dla programistów pracujących w pełnym wymiarze godzin poprzeczka będzie nieco wyższa.
Podczas wywiadów ze stażystami musisz pamiętać, że być może nie ukończyli oni studiów i że mogli także wstąpić na studia bez wcześniejszego doświadczenia w programowaniu i informatyce. W związku z tym musisz dostosować oczekiwania do tego, czego można racjonalnie oczekiwać od kogoś, i do stopnia prestiżu stanowiska (tj. Google może uniknąć oczekiwań, o których firma nie słyszała).
Przeglądając przedstawione pytania, prawdopodobnie spojrzałbym na nie w następujący sposób:
1) Napisz funkcję, która zwraca true, jeśli boki trójkąta (wszystkie liczby całkowite) a, b i c mogą reprezentować trójkąt prostokątny.
Podstawowe zastosowanie geometrii z prostym kodowaniem, większość studentów powinna być w stanie to zrobić bez większych trudności. Co najwyżej przypomnienie twierdzenia Pitagorasa może być potrzebne, jeśli wykazują one trochę stresu z powodu bycia w wywiadzie. Może to być prawie postrzegane jako problem „wzmocnienia ego”, ponieważ może pomóc uspokoić niektórych ludzi, którzy bardzo denerwują się rozmową.
2) FizzBuzz
Ponownie, kolejne zastosowanie niektórych podstawowych instrukcji sterujących. Uczniowie, którzy nie byli narażeni na działanie modułu modułu lub nie używali go zbyt często, mogą wymagać przypomnienia, ale nie powinni napotkać żadnych rzeczywistych problemów w rozwiązaniu problemu.
3) Oblicz N-ty element Fibonacciego za pomocą rekurencji (jeśli nie wiedzieliby, czym jest Fibonacci, nawet napisałbym im definicję F (n) = F (n-1) + F (n-2); F (1 ) = 1; F (0) = 1).
Jest to dość powszechny problem, więc większość (jeśli nie wszyscy) studenci zobaczą go w pewnym momencie przed ukończeniem studiów. Haczyk polega na tym, że zwykle pojawia się, gdy rekursja jest prezentowana uczniom, ponieważ nadaje się dobrze lub rozwiązanie rekurencyjne lub oparte na pętli, które można następnie porównać, aby uczniowie z różnych szkół mogli zobaczyć to w różnym czasie, w zależności od sekwencji kursów. W praktyce, jeśli ktoś nie byłby w stanie wymyślić rekurencyjnego, poprosiłbym o alternatywne użycie pętli i gdyby nie mógł tego wymyślić, byłbym bardziej zaniepokojony ich potencjalną zdolnością.
4) Struktura implementacji Lista liczb całkowitych i funkcja zapisu, aby ją odwrócić.
To pytanie może być nieco zbyt otwarte, ponieważ jest napisane, więc może być również dobrym pytaniem, aby zobaczyć, w jaki sposób kandydat szuka dodatkowych informacji (np. Czy należy uwzględnić funkcje usuwania, konwersję do tablic itp.), Ale biorąc pod uwagę studnię zdefiniowane określenie problemu („Wdrożenie podstawowej struktury listy dla liczb całkowitych, która pozwala na dodawanie liczb na końcu lub na dowolny indeks, usuwanie i zawiera funkcję zwracania odwróconej kopii listy”) uczniowie powinni być w stanie rozwiązać problem, o ile listy są wspólną strukturą przedstawioną albo we wczesnym kursie struktur danych, albo we wczesnym podstawowym kursie informatyki.
Jeśli chodzi o radzenie sobie z kandydatami, jeśli walczą, upewnij się, że są zrelaksowani i daj im odrobinę łagodności, ponieważ mogą po prostu mieć lęk przed wydajnością, ponieważ może to być ich pierwszy prawdziwy wywiad. Konieczne mogą być porady dotyczące rozwiązywania problemów, szczególnie w przypadku trzeciego i czwartego problemu, w przeciwieństwie do pierwszych dwóch.
Ponadto ustrukturyzuj ogólny proces rozmowy, tak aby wbudowane były punkty „wdzięcznego wyjścia”. Na przykład możesz mieć następujący program:
- Spotkaj się i pozdrów, procedury wywiadu.
- Krótki wywiad z programistami (pracownikami), podstawowe pytania na temat przeszłości.
- Prezentacja quizu programistycznego.
- Złamać
- Powrót po przerwie, zwolnienie niektórych kandydatów, którzy nie pasują do siebie.
- Rozszerzony wywiad z programistami pracowników.
- Wywiad z zasobami ludzkimi (jeśli jest wymagany).
- Zakończyć.
Ten przebieg rozmowy zwykle działa dobrze, jeśli chcesz móc zwolnić kandydatów wcześniej, ponieważ od początku wiedzą, że mogą zostać zwolnieni po przerwie. Krótki wywiad przed quizem oznacza również, że nie tylko pojawiają się, aby wziąć udział w teście, co daje im trochę praktyki podczas rozmowy kwalifikacyjnej i może również pozwolić im zdecydować, że nie są w dobrej formie. Jeśli inni programiści obserwują quiz lub pomagają kandydatowi podczas niego, daje im to również szansę zaliczenia / odrzucenia kandydata podczas krótkiej przerwy.
Przez cały czas, gdy przeprowadzasz rozmowę kwalifikacyjną w celu odbycia stażu, a kandydatami są studenci, musisz pamiętać, że nadal są studentami i mogą nie mieć dużej praktyki podczas rozmów kwalifikacyjnych (co może prowadzić do lęku przed wydajnością) i być może nie osiągnęli celu nawet być w stanie odpowiedzieć na pytania, co oznacza, że dobrym pomysłem może być wysłanie ich po drodze wraz z kopią „idealnego rozwiązania” dla zgłoszonych problemów.