Kod
- Poproś kandydata o napisanie kodu
- Poproś kandydata o przeczytanie kodu
Jeśli poprosisz kandydata o napisanie kodu, upewnij się, że:
- Kod nie jest trywialny, ale mały
- Zezwalasz na dostęp do instrukcji i Internetu
Jeśli poprosisz kandydata o przeczytanie kodu, upewnij się, że:
- Kod zawiera kilka trywialnych błędów
- Kod zawiera pewne nietrywialne błędy
- Kod działa dobrze, ale można go łatwo zoptymalizować
Możesz użyć trzech lub więcej różnych fragmentów kodu, zacznij od prostszego i przejdź do następnego, jeśli zauważysz, że kandydat radzi sobie z łatwością. Dodaj trochę rekurencji, aby urozmaicić wszystko.
Zasoby
Poproś o szczegółową listę zasobów PHP używanych przez kandydata. Książki, blogi, fora, czasopisma itp. W ten sposób moi obecni pracodawcy dowiedzieli się o StackOverflow .
Jeśli kandydat wspomina o StackOverflow lub Programmers, NIE powinieneś pytać ani próbować znaleźć ich nazwy użytkownika. Gdyby chcieli reklamować swoją reputację, zamieściliby link kariery w CV.
Ramy
Każdy programista PHP powinien znać najpopularniejsze frameworki PHP:
i bądź biegły w co najmniej jednym z nich. Możesz przygotować kilka próbek kodu dla każdego z nich i poprosić kandydata o przeczytanie i wyjaśnienie, po tym, jak powie ci, z którym bardziej się zna.
Debugowanie i profilowanie
Zawsze czułem, że programistom PHP brakuje umiejętności debugowania i profilowania (być może tylko programistów PHP, z którymi pracowałem). Jeśli podczas dyskusji dowiesz się, że kandydat aktywnie korzysta z xdebug , nie zawracaj sobie głowy resztą rozmowy i po prostu ich zatrudnij. ;)
Wejściowa dezynfekcja
To jest ważne. Możesz zacząć od dyskusji na temat tego, dlaczego jest to ważne, a następnie poprosić o najczęstsze metody osiągnięcia tego celu. Ta dyskusja pomoże ci zapytać.
Kilka wskazówek:
Snafus PHP
W tej doskonałej dyskusji można znaleźć wiele snafusów PHP . Jeśli rozmawiasz na wyższym stanowisku, zdecydowanie powinieneś zapytać o niektóre z nich. Kilka przykładów:
Obsługa wartości liczbowych w łańcuchach przez PHP:
"01a4" != "001a4" // true
"01e4" == "001e4" // also true
Prawidłowy kod PHP :
System.out.print("hello");
W PHP ciąg znaków jest tak dobry, jak wskaźnik funkcji:
$x = "foo";
function foo(){ echo "wtf"; }
$x(); # "wtf"
Testów jednostkowych
Czy muszę powiedzieć więcej?
Wniosek
Dobry programista PHP powinien łączyć różnorodne umiejętności i talenty:
- Dobre zrozumienie HTTP
- Dobra znajomość konfiguracji Apache (nawet jeśli używasz innego serwera WWW w swojej firmie)
- Przynajmniej podstawowa znajomość JavaScript
- Świetna znajomość HTML / CSS
Lista jest długa. Upewnij się, że dostosujesz rozmowę do konkretnych potrzeb związanych z otwarciem pracy, nie chcesz zatrudniać tylko dobrego programisty, ale dobrego programistę, który jest świetny w tym, czego od razu potrzebujesz.