Moja firma musi zatrudnić programistę PHP, ale w mojej firmie nikt nie ma znajomości języka PHP i trudno jest nam sprawdzić umiejętności PHP. Gdyby był programistą C / Java, poprosiłbym go o napisanie szybkiej implementacji Game of Life, ale PHP to zupełnie inny język.
Z zainteresowaniem widziałem ten test:
http://vladalexa.com/scripts/php/test/test_php_skill.html
Czy ktoś jeszcze ma więcej sugestii?
Odpowiedzi:
Kod
Jeśli poprosisz kandydata o napisanie kodu, upewnij się, że:
Jeśli poprosisz kandydata o przeczytanie kodu, upewnij się, że:
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:
Prawidłowy kod PHP :
W PHP ciąg znaków jest tak dobry, jak wskaźnik funkcji:
Testów jednostkowych
Czy muszę powiedzieć więcej?
Wniosek
Dobry programista PHP powinien łączyć różnorodne umiejętności i talenty:
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.
źródło
Test jesteś związana jest ciekawa, i Yannis Rizos za odpowiedź jest wielki, ale myślę, że to, co jest równie ważne jest to:
Jeśli potrzebujesz dobrego programisty, nie szukaj programisty PHP. Poszukaj dobrego programisty, który zna PHP. Oznacza to, że przynajmniej połowa wywiadu powinna zawierać pytania, które nie mają wiele wspólnego ze składnią PHP lub funkcjami PHP.
Zapytaj go, co to jest MVC, co to jest AJAX, jak działa HTTP, jak działa REST, jak łączy się SQL, niektóre struktury danych, niektóre podstawy wydajności (jak mierzysz, jak poprawiasz), podstawy testowania, podstawy bezpieczeństwa (XSS, XSRF, zastrzyki, jak się bronić), podstawowa wiedza na temat programowania w typowych domenach PHP - sieć, sieci, transformacje danych itp.
Jeśli jest w tym dobry, poproś go o napisanie prostego kodu, wybranie łatwego zadania, które nie powinno zająć dużo czasu - na przykład znalezienie słów z największą liczbą samogłosek w wierszu tekstu lub odwrócenie każdego słowa w tekście lub pomnożenie dwóch matryce. Możesz również poprosić go o wdrożenie Game of Life w PHP, jeśli chcesz :)
Jeśli to przejdzie, możesz przejść do trudniejszych pytań PHP, ale nie przykładaj do tego zbytniej wagi. Potrafi przeczytać większość tego podręcznika, a tego, czego nie potrafi przeczytać, nauczy się dość szybko, jeśli będzie dobry. PHP jest zbudowany tak, aby był prosty, więc jeśli jest dobrym programistą i ma pewną praktyczną znajomość PHP, prawdopodobnie będzie w stanie go dogonić. Jeśli on wie, jak programować w ogóle, to nauka programowania w PHP jest łatwiejsza niż odwrotna - znajomość minuta składni PHP nie jest ważna, jeśli nie rozumiesz, do czego służą testy jednostkowe lub jak pozbyć się problemów XSS.
źródło
Choć Yannis Rizos za odpowiedź jest dobry - wiem, że nie przejdzie ten test i może używać tę odpowiedź jako zasób, aby określić, gdzie się skupić, aby poprawić moje kotlety PHP, myślę, że warto byłoby poświęcić chwilę, aby znaleźć programowania kumpel, który zna PHP, aby uczestniczyć w procesie wywiadu. Wszystkie pytania z poprzedniej odpowiedzi są dobre, ale bez pewnej wiedzy na temat domeny trudno będzie ocenić jakość odpowiedzi.
To powiedziawszy, w zależności od tego, czego potrzebujesz, jak powiedzieli inni, ogólne możliwości programowania i dopasowanie do zespołu są prawdopodobnie ważniejsze niż znajomość języka.
źródło
I think it would be worth your while to find a programming buddy who knows PHP to sit in on the interview process.
, świetna sugestia.