Andrzej utworzył nowy wpis, po czym rzekł:
"Nie oceniaj programisty każdego, po pierwszym kawałku kodu jego".
Ostatnio natknąłem się w sieci na stronę projektu Codility - jest to strona autorstwa kilku Polaków. Projekt narodził się w głowie jednego z jego twórców podczas pracy w firmie rekrutacyjnej w Chinach. Dodatkowo, pomysł został wyróżniony na konferencji startupów Seedcamp 2009.
Ale o co chodzi?
Codility to projekt mający na celu wspomagać firmy poszukujące programistów - oszczędza sporo czasu, ponieważ nawet testowe zadanie potrafi sprawić mały dylemat w stylu "I ja jestem programistą?" (tak było w moim przypadku, gdy zbyt nonszalancko podszedłem do zadania:D).
Docelowo - kandydatowi zostaje przedstawiony problem, do którego trzeba napisać algorytm w wybranym przez siebie języku programowania. Napisany skrypt po zatwierdzeniu zadania jest testowany na różne możliwości, w wyniku czego każdy element (test składowy) który się powiedzie, dodaje do naszego licznika punktów małe punkciki.
Demo Test
Link, który można tutaj wykorzystać, to test demo. Treść zadania prosta. Pozornie;) http://codility.com/demo/run/
O tym, jak Andrzej zaliczył zonka:)
W moim przypadku było mniej więcej tak: wybrałem PHP, napisałem kawałek kodu, myśląc "No kurde, co w tym trudnego". Wysyłam test. I zonk: 56/100 - dla testu extreme_first, extreme_zero i czegoś jeszcze zwrócony wynik -1 zamiast indeksu. O wywalonych na timeoucie ostatnich czterech testach nie wspominam. Zrobiłem wielkie oczy i poprawiam:) Ok, tym razem 75/100. Ostatnie 4 pkt. dalej sie wykładają. No tak, zagnieździłem pętle w pętli, a przecież zadanie wyraźnie mówiło o operacjach na dużych liczbach. Normalne, pewnie udawałem, że tego nie widze:P Ostatnie poprawki, czyli przepisanie całego schametu obliczeń i v'oilla - 100/100.
Kawałek kodu po poprawkach;)
function equi ( $A ) {
$sum = 0;
$left = 0;
$right = 0;
$count = count($A);
for($i = 0; $i < $count; $i++) {
$sum += $A[$i];
}
for($i = 0; $i < $count; $i++) {
if($i > 0) {
$left += $A[$i-1];
}
$right = $sum - $A[$i] - $left;
if($left == $right) {
return $i;
}
}
return -1;
}
Polecam stosować ten test rekruterom na programistę - nawet demo potrafi skutecznie pokazać usterki wszystko-wiedzących "programistów" i "developerów". Niemniej jednak, nie należy tego traktować jako wyznacznik - wszak po jednym upierdliwym teście nie stwierdzi się ile użytecznej wiedzy ma kandydat - co najwyżej można sprawdzić trochę jego umiejętności logicznego myślenia.
Komentarze
Ten wpis nie posiada jeszcze komentarzy
Dodaj komentarz