Każdy zawsze chce mieć tylko przyjmować najlepsze 5%(czasem piszą nawet o 0,5%), ale później i tak przeważnie klepie się coś do czego spokojnie wystarczy ktoś kto mieści się w 50% najlepszych.
Nie oszukujmy się, systemy bankowe czy telekomunikacyjne to w zdecydowanej większości coś co może i jest skompilowane ze względu na ilość modułów, systemów, frameworków i legacy kodu, ale na pewnoe nie ze względu na to, że implementuje się tam trudne algorytmy.
Jak już trzeba jakiś algorymt trudniejszy zaimplementować i to i tak pierwszą rzeczą jaką się zrobi jest poszukanie czy tkoś to(lub coś podobnego) już zrobił i krytyki tego żeby poznać wady.
Jak mnie ktoś pyta o QuickSorta czy HeapSorta to mam wrażenie, że szuka nie mida, a studenta drugiego roku studiów(bo oni to mają na bieŻąco (Boże, widzisz takie błędy i nie grzmisz)).
O ile QuickSorta jeszcze trochę pamiętam(chodzi o sam algorytm, bo nie mam w zwyczaju uczyć się ich na pamięć), to Heapsorta nie napiszę bo zwyczajnie nie pamiętam jak on wyglądał.
Zdecydowanie lepiej niż pytać o algorytmy byłoby przetrzepać kandydata z SOLIDa, wpisanychdo cv frameworków(żeby ocenić poziom ściemy lub tego ile nie wie, że nie wie) i dać mu proste, ale życiowe zadanie do rozwiązania w domu.
Fajnie też zapytać o projekty, a konkretnie o to co w tych proejtach robił i jakie problemy rozwiązywał, albo czy ma coś czym może się pochwalić, albo jakiś techniczny probelm z którym musiał poważnie powalczyć(tak można się podczas rekrutacji dowiedzieć jakichś przydatnych snaczków).
Pytania w stylu: "Jak byś zaprojektował ..." lub "Jak byś napisał ..." też są jak najbardziej ok.