rekrutacja programista

Zadania rekrutacyjne dla Programistów PHP

W tym poście zapodam trzy przykładowe taski, które musiałem ( lub nie musiałem 🙂 ) rozwiązać starając się o pracę „gdzieś w odległym Internecie”, na stanowisko: Programista PHP / Programista Symfony. Dwa pierwsze są proste i krótkie (aczkolwiek podchwytliwe), ostatnie jest bardziej złożone i czasochłonne więc wkleję tylko clou. Celem jest weryfikacja Twoich umiejętności 😉 … i takie tam.

ZADANIE 1

Napisz kod, który obliczy wynik i wyświetli go.

Rozwiązanie:

Aby rozwiązać to zadanie użyłem dwóch funkcji PHP: array_diff i array_product. Pierwsza metoda zwraca różnicę tablic, tak więc jako drugi parametr podałem [0], uzyskując w ten sposób tablicę z nie zerowymi elementami 🙂 . Druga metoda oblicza iloczyn elementów tablicy i gotowe.

Jak widać, rozwiązanie jest proste, oczywiście jeśli zna się funkcje PHP 🙂

ZADANIE 2

Napisz poniżej funkcję fibo() tak aby skorzystać z rekurencji.

Rozwiązanie:

Nazwa funkcji „fibo” od razu skojarzyła mi się z Ciągiem Fibonacciego 🙂 … i nie myliłem się. Jest to ciąg liczb naturalnych, z których pierwszy element = 0, drugi = 1, a każdy kolejny jest sumą dwóch poprzednich. W rozwiązaniu jest małe przekształcenie Ciągu Fibonacciego. Dwa pierwsze elementy zwracają wynik 1. Zrobiłem tak, gdyż wynik pętli z treści zadania również dawał dwie jedynki. Być może był to drobny haczyk sprawdzający czujność i koncentrację 🙂 ? No i rekurencja to oczywiście funkcja, która wywołuje samą siebie (co jest widoczne w rozwiązaniu) …

ZADANIE 3

Napisz własną aplikację typu REST w frameworku Symfony nie korzystając z gotowych bundli. Aplikacja ma dotyczyć tabeli użytkowników, czyli: tworzenie nowego konta, aktualizacja danych, wyświetlanie i usuwanie danego użytkownika.

Rozwiązanie:

Cały przykład możecie podglądnąć na GitHub →

I to wszystko w temacie. Jeśli chcecie, podzielcie się swoimi zadaniami z rekrutacji. Chętnie pogłówkuje 🙂 …

Pozdrawiam.


Leave a Comment

Twój adres email nie zostanie opublikowany. Pola, których wypełnienie jest wymagane, są oznaczone symbolem *