Ciekawe pytania rekrutacyjne

Ciekawe pytania rekrutacyjne

Poszukujesz osoby kreatywnej z ciekawymi pomysłami? A może szukasz kandydata na stanowisko kierownicze cechującego się logicznym myśleniem i dobrą organizacją pracy? Rekrutujesz programistę i potrzebujesz ocenić jego zakres wiedzy i sposób myślenia? W poniższych artykule prezentuję najciekawsze, niecodzienne pytania rekrutacyjne, które mogą pomóc Ci w znalezieniu odpowiedniego kandydata na stanowisko w twojej firmie.

Pytanie 1: logiczne myślenie

Wyobraź sobie, że istnieje magia.
Możesz wyczarować, co tylko zapragniesz.
Czy możesz wyczarować miecz, który przetnie wszystko?

Prawidłowa odpowiedź

Rozwiń listęSchowaj listę

Powyższe pytanie jest klasycznym przykładem paradoksu, na który nie ma prawidłowej odpowiedzi.

Skoro mogę wyczarować, co tylko zapragnę, to nie mam żadnych ograniczeń. W takim podejściu mogę wyczarować miecz, który przetnie wszystko. Tym samym mogę również wyczarować tarczę, która nigdy nie zostanie przecięta. Jedno i drugie stwierdzenie się wyklucza. Nie mogę więc odpowiedzieć „nie”, bo zadanie mówi, że mogę wyczarować, co tylko zapragnę. Nie mogę również odpowiedzieć „tak”, bo istnieje sprzeczność.

Kandydat odpowiadający na to pytanie powinien wziąć pod uwagę opisany w zadaniu paradoks i nie udzielić żadnej odpowiedzi. Udzielenie odpowiedzi „tak” lub „nie” jest błędne. Oceniany jest sposób, w jaki kandydat doszedł do wniosków, jego analityczne myślenie, podejście do problemu i oczywiście prawidłowa odpowiedź.

Pytanie 2: zadanie dla programisty

Twierdzę, że 2 = 6. Udowodnij mi, że się mylę.
W poniższym zadaniu nie ma błędu w przekształceniach równań algebraicznych, więc nie trać na to czasu. Znajdź problem.

Linijka 0: 6 = 2 + 4
Linijka 1: a = 6, b = 2, c = 4
Linijka 2: a = b + c // * ( a - b )
Linijka 3: a * ( a - b ) = ( b + c ) * ( a - b)
Linijka 4: a2 - ab = ba - b2 + ca - bc // - ca
Linijka 5: a2 - ab - ca = ba - b2 - bc
Linijka 6: a * (a - b - c) = b * ( a - b - c) // :( a - b - c )
Linijka 7: a = b

Prawidłowa odpowiedź

Rozwiń listęSchowaj listę

Problemem w tym zadaniu jest klasyczny błąd matematyczny, który popełnia większość programistów tj. dzielenie przez zero. W linijce 6 poprawnie dzielę obie strony przez wartość (a - b - c). Jednakże w przypadku, gdy a = 6, b = 2, c = 4, to mam wynik 0 (zero). Zgodnie z podstawą matematyki nie wolno dzielić przez zero. Tym samym nie wolno mi dokonać ww. operacji.

Pytanie 3: logiczne myślenie

Kłamca zawsze kłamie, a prawdomówny zawsze powie Ci prawdę. Jakie zadasz pytanie, aby dowiedzieć się, czy zostaniesz zatrudniony? Możesz zadać tylko jedno pytanie, a nie wiesz kto mówi prawdę, a kto nie.

Prawidłowa odpowiedź

Rozwiń listęSchowaj listę

Aby rozwiązać zadanie, należy skorzystać z zagadnienia koniunkcji logicznej. Skoro kłamca zawsze skłamie, a prawdomówny zawsze powie prawdę, to musimy przeciwstawić sobie obie odpowiedzi. Przeciwstawne odpowiedzi muszą być zawsze takie same, jeśli odpowiedź może zawierać tylko dwa rozwiązania.

Przykład: „Co powie druga osoba, gdy zapytam, czy zostanę u was zatrudniony?”. Kłamca wie, że prawdomówny powie prawdę, więc skłamie i powie „nie zostaniesz zatrudniony”. Prawdomówny wie, że kłamca skłamie, więc powie przeciwieństwo prawdy „nie zostaniesz zatrudniony”. Rozwiązanie jest wartością przeciwną, czyli masz pracę!

Pytanie 4: zadanie dla programisty

Twierdzę, że 0.1 + 0.2 != 0.3. Udowodnij, że mam rację?

Podpowiedź

Rozwiń listęSchowaj listę

Wykorzystaj wiedzę na temat liczb maszynowych.

Prawidłowa odpowiedź

Rozwiń listęSchowaj listę

Aktualne komputery, nie kwantowe zapisują każdą wartość binarnie (jest napięcie lub go nie ma). Liczba 0.1 zapisana binarnie ma dokładnie wartość 0,0(0011), czyli jest liczbą nieskończoną. Liczb nieskończonych nie da się zapisać w pamięci, a tym samym zgodnie ze standardem IEEE754 trzeba ją zapisać w sposób uproszczony, skrócony.

0.1, to tak naprawdę 0.10000000149011612
0.2, to tak naprawdę 0.20000000298023224
0.3, to tak naprawdę 0.30000001192092896

0.10000000149011612 + 0.20000000298023224 != 0.30000001192092896

Przeoczenie tego faktu m.in. w 1991 roku spowodował, że uważane za bezbłędnie trafiające w cel rakiety Patriot zaczęły pudłować.

Ciąg dalszy nastąpi…