Rozmowa rekrutacyjna (wymagania) vs rzeczywistość

0

Cześć, czy programista .NET pracujący przyjmijmy około 2 - 3 lata, wymagane jest aby znał jakiegoś typu sortowania (np. scalanie, itp), drzewa (np binarne).
Rozumiem, że warto znać (chociaż ja w 99% przypadków używam do tego Linq) i nigdy nie miałem potrzeby by używać jakichkolwiek innych sortowań. Czy wymagane jest znajomość tego typu algorytmów? Rozumiem, że faktycznie, gdyby się pracowało w jakiejś firmie która jest ukierunkowana na optymalizację rozwiązań. Ale reszta? Wydaje mi się, że raczej chodzi by było "szybko i działało" Czy może się mylę?
Bo faktycznie, spotkałem się z pytaniami na rozmowach związanymi z wyjaśnieniem jakiegoś sortowania (wyjaśnić potrafię, ale nigdy nie miałem raczej potrzeby implementacji tego) .

2

Niekoniecznie trzeba znać w pełni szczegóły implementacji. Warto natomiast na przykład wiedzieć czym się różni sortowanie listy używając funkcji Sort() od OrderBy(x=>x.Y)

5
amator963 napisał(a):

Cześć, czy programista .NET pracujący przyjmijmy około 2 - 3 lata, wymagane jest aby znał jakiegoś typu sortowania (np. scalanie, itp), drzewa (np binarne).

Niektóre firmy wymagają takich rzeczy niezależnie od długości doświadczenia.

Rozumiem, że faktycznie, gdyby się pracowało w jakiejś firmie która jest ukierunkowana na optymalizację rozwiązań. Ale reszta? Wydaje mi się, że raczej chodzi by było "szybko i działało" Czy może się mylę?

Sporo rozmów rekrutacyjnych nie ma związku z późniejszą pracą. Pytają o sortowania, a potem klepie się formatki, albo oczekują znajomości najnowszych frameworków, a potem wpada się w jakiegoś dinozaura. Takie jest życie.

0

Okej, dzięki wielkie za wszelkie odpowiedzi. @var podrzucił ciekawą rzecz, faktycznie, jakoś o porównaniach zapomniałem a to dość ciekawy temat.
@Afish, dzięki bo już myślałem, że tylko ja tak miałem chodząc na rozmowy, że wymagają znajomości najnowszych rzeczy, a rzeczywistość jest przeważnie zupełnie inna :)

0

Nie wyobrażam sobie PROGRAMISTY (obojętnie, startującego w rekrutacji czy nie), który nie umie sortować (choćby z bieda odświeżając pamięć). Oznacza to, że nie ma bazowego ogólnego wykształcenia.
Pytanie jest w rodzaju "jak znam cały alfabet za wyjątkiem liter X, D, R, I, K - czy mogę pracować w bibliotece"

Miałem nadzieję że po Covidzie rekruterzy nie będą tacy głupi jak dawniej. Ale to widzę jak w wojsku: dwie ręce ma, dwie nogi ma, zdolny.

0
amator963 napisał(a):

Cześć, czy programista .NET pracujący przyjmijmy około 2 - 3 lata, wymagane jest aby znał jakiegoś typu sortowania (np. scalanie, itp), drzewa (np binarne).

Nie wiem czy jest wymagane, ale znać nie zaszkodzi.
Jako ćwiczenie możesz spróbować odtworzyć algorytm standardowego Array.Sort wg. dokumentacji:

a.png

3
amator963 napisał(a):

Cześć, czy programista .NET pracujący przyjmijmy około 2 - 3 lata, wymagane jest aby znał jakiegoś typu sortowania (np. scalanie, itp), drzewa (np binarne).

Mnie nikt nigdy nie pytał, ale ja po prostu nie chodzę w miejsca, w których mogą o to pytać.

AnyKtokolwiek napisał(a):

Nie wyobrażam sobie PROGRAMISTY (obojętnie, startującego w rekrutacji czy nie), który nie umie sortować (choćby z bieda odświeżając pamięć). Oznacza to, że nie ma bazowego ogólnego wykształcenia.

No cóż, można mieć wykształcenie i zwyczajnie nie pamiętać po latach. To jak z maturą - większość programistów niby ją ma, ale po polsku mało który potrafi mówić. A i z zadaniami z trygonometrii pewnie wielu by sobie nie poradziło.

4
AnyKtokolwiek napisał(a):

Nie wyobrażam sobie PROGRAMISTY (obojętnie, startującego w rekrutacji czy nie), który nie umie sortować (choćby z bieda odświeżając pamięć). Oznacza to, że nie ma bazowego ogólnego wykształcenia.
Pytanie jest w rodzaju "jak znam cały alfabet za wyjątkiem liter X, D, R, I, K - czy mogę pracować w bibliotece"

Miałem nadzieję że po Covidzie rekruterzy nie będą tacy głupi jak dawniej. Ale to widzę jak w wojsku: dwie ręce ma, dwie nogi ma, zdolny.

Czasy się zmieniają, teraz programista to nie tylko ktoś kto zakoduje co popadnie tylko zajmie się analizą, modelowaniem, implementacją, wdrożeniem i utrzymaniem. Często oprócz wyłącznie technicznych rzeczy trzeba dopinać szczegóły biznesowe.
Zdarzają się sytuacje gdzie trzeba profilować system, szukać bottle-necków, poprawiać wydajność i zajmować się tryliardem innych rzeczy jak chociażby naprawianiem wielowątkowości bo ktoś kilka lat temu chciał dobrze ale mu nie wyszło a nikt nie potrafił zrobić lepiej i nawarstwiła się kupa problemów..
Więc dla mnie wystarczy że ktoś mając posortować wywoła funkcję Sort(). Są dużo cenniejsze rzeczy na które trzeba zwracać uwagę.

1 użytkowników online, w tym zalogowanych: 0, gości: 1