Widzę jeden wątek o…

Categories Programowanie

Widzę jeden wątek o quicksorcie rozbił tu bank (nie wiem czy to bait, strzelam, że nie), to opowiem, jakie coding testy mnie osobiście się trafiły, do tej pory (nie wszystkie):

1) Stanowisko: DevOps (zdecydowanie moje ulubione, wszak dla DevOpsa)

Dostajesz listę 4 cyfr. Napisz funkcję, która „złoży” z nich najpóźniejszą możliwą godzinę i zwróci ją w formacie „HH:MM” (np, dla listy [1 2 3 4] => 23:41, dla [1 1 9 5] => 19:51). Jeżeli jednak z podanej listy nie da się „złożyć” poprawnej godziny, funkcja powinna zwrócić 0 (np dla [2 4 5 9]). Było coś o złożoności obliczeniowej, ale pamiętam tylko tyle, żeby od n² trzymać się z daleka.
Godzina w platformie typu codility

2) Stanowisko: DevOps

Zadania już dokładnie nie pamiętam, ale trzeba było wybrane elementy listy przekształcić i zwrócić, o ile pamiętam w Pythonie szło to prostym list comprehensions załatwić lub kombinacją map+filter (na codility było na to 1:30h). Językiem „wymuszonym” był Python (a wymagania odnośnie stanowiska nawet o tym nie wspominały)

3) Stanowisko: DevOps

Podobnie zadanie było w exercism.io (bawiłem się tym wcześniej, przed tym testem) – obliczanie roku przestępnego na podstawie zadanego algorytmu, język dowolny. Dzięki temu zadaniu nauczyłem się co to ten rok przestępny i dlaczego w ogóle go wprowadzono (ale to na exercism już). ( ͡° ͜ʖ ͡°)

4) Stanowisko: Go Developer

Policz wszystkie samogłoski angielskie we wprowadzonym stringu, przenieś je wszystkie z kolejnością wystąpienia do osobnej listy, a następnie usuń X-Y element listy, gdzie Y to wartość losowa między (1, 5) a X to ich całkowita liczba w podanym zdaniu (usuwanie bez utraty kolejności), np: Hello my friend! – [e,o,y,i,e]. Oczywiście specjalne case dla zdania/stringu, który ich nie zawiera lub który zawiera na tyle mało, że X-Y nam wyjedzie poniżej – tu narzucony był Go, który operacje na slices ma bardzo pokręcone (w porównaniu np. do Pythona

4) Stanowisko: Go Developer

Fibonacci metodą nierekurencyjną, język dowolny

5) Stanowisko: Go Developer

To zadanie domowe na kilka dni z mojego githuba, czyli proste API ala Twitter (bez frontendu, tylko backend) technologia (poza Go) w zasadzie dowolna wraz z pełnym deploymentem i dokumentacją (autoryzacja userów nie była wymagana). Dodawanie/usuwanie/przeszukiwanie wpisów głównie.

Ogólnie zadania do tworzenia API są ostatnio coraz popularniejsze i różnią się jedynie nazwami endpointów, formą zwracanej odpowiedzi i innymi takimi pierdołami.

Wszystkie te coding testy były przed (najczęściej) lub po rozmowach technicznych dot. np. architektury oprogramowania, systemów rozproszonych czy znajomości konkretnych technologii (np. docker). I generalnie jest tendencja, że tych testów będzie więcej (mam info od koleżanek z szerokopojętego HR), ponieważ jak przychodzi sporo CV (tyczy się głównie pythona, frontendu czy javy), to takie zadanka ładnie „filtrują” listę osób do następnego etapu. I na stanowiska DevOps like też są coraz częstsze, pisałem o tym tutaj: https://devopsiarz.pl/devops/pytania-i-tematy-rekrutacyjne-na-stanowisko-devops-engineer-junior-mid-senior/#coding-test-czyli-test-z-programowania

Quicksort mnie się jeszcze nie trafił, ale zakładam, że jak się tego typu zadanie trafia, to jest rozpisane jak algorytm działa, bo nie każdy to musi pamiętać wszystkie kroki każdego algorytmu.

Nie oceniam tu ogólnej sensowności tych testów, daję tylko przykłady z mojej kariery.

#programowanie #pracbaza #pracait #rekrutacja #python #golang #algorytmy #devops #devopsiarz