konto usunięte
Temat: Zadania na rozmowę o pracę
Witam,mam takie pytanie do tych którzy kiedyś musieli rekrutować pracowników. Jakie zadania dawaliście kandydatom ? Może się jakimiś podzielicie ? Przerzuciłem chyba z tuzin ludzi i zaczynam się zastanawiać czy nie mam za wysokich wymagań (tzn znajomość php do 5.3 włącznie, OOP, Smarty lub inny TE [ nie kombinowałem, mało kto zna inne systemy szablonów a chciałem by znali jakikolwiek ] no i standardowo MySQL).
Otóż z tych kandydatów którzy już z początku nie uciekli i rozmyślili się kilku przyszło na rozmowę. Wpierw pokazałem im nad czym pracujemy, później rzucili okiem na kod i różne takie. Porozmawialiśmy o kasie i dziennej rutynie a jak już wszystko było jasne to pogadaliśmy o PHP.
I tu zaczęły się schody. Teoria, nawet najprostsza jeżeli chodzi o OOP leży i kwiczy. Jeden facet nawet nie mógł mi odpowiedzieć czemu programuje obiektowo. Proste pytanie - dlaczego OOP i zero odpowiedzi. Gdzie przed chwilą mówił mi że OOP ma w jednym paluszku.
No ale nie wszyscy lubią teorię. Znam programistów z 10-letnim stażem klepiących w Javie różne cuda a jak go zapytasz co to nawet sławny Singleton albo Active Record albo cokolwiek to wywali oczy i zapyta czy to coś ala Hibernate albo Swing.
Więc dałem im 3 - wydawało się proste pytania:
1. Adres url w stylu:
http://www.example.com/test1/
gdzie dostawali 2 liczby (dosłownie - na stronie były wypisane 2 liczby) które musieli dodać i wysłać pod adres
http://www.example.com/test1/[wynik]
co pokazało by im czy jest dobrze czy źle. 1 osoba to zrobiła po pół godziny bawiąc się curl gdzie wystarczyło skorzystać z file_get_contents. Mało tego - jak mu powiedziałem żeby z tego skorzystał to najpierw pobrał zawartość strony z użyciem file_get_contents a później jak miał wywołać ten sam adres z dodanym wynikiem to użył... file_put_contents... I niestety mu się nie udało.
2. Niektórych takie zadanie może zaskoczyć bo jednak nie często pobieramy coś z innych stron okazuje się (powiedzmy) więc pomyślałem że dam coś bardzo praktycznego. Mieli plik tego typu:
$tab = array(
array(id => 1, parent => 0, name => pierwszy),
array(id => 2, parent => 1, name => drugi),
itp...
);
Jest to mniej i więcej to co otrzymacie po pobraniu danych z bd. No więc zadanie polegało na... zrobieniu z tego drzewa UL / LI. Zagnieżdżonego rzecz jasna. Nikt mi tego nie zrobił gdzie wystarczyła prosta funkcja rekurencyjna. Punktem drugim tego zadania tylko dla tych którzy znają smarty (znam takich co robią w Twigu albo w Blitzu itp więc tylko dla niektórych) było to by zrealizowali to właśnie w Smarty 3. I nawet wszystko przygotowałem, tylko wystarczyło szablon uzupełnić i ewentualnie coś dopisać po stronie PHP.
Przy następnym kandydacie chyba zapytam tylko o różnicę między = / == / === ale szczerze powiedziawszy - zaczynam się bać.
Macie jakieś sugestie ? Perypetie ? Cokolwiek ? Może polecacie jakieś zadania które by się lepiej sprawdziły ? Zależało mi na takich które można zrobić w 2-10 minut. Nie cierpię dawać takich jak raz trafiłem gdzie miało się przygotować bd, skrypt do obsługi bd, kolejny który bada 3 adresy WWW pod względem cen i robi porównywarkę. Dużo zabawy i strata czasu.