Wpis z mikrobloga

Rekrutowałem dziś juniora i serio, zaczynam się zastanawiać, gdzie ci wszyscy kandydaci się uczą... Zadaję proste pytania, a oni patrzą na mnie, jakbym pytał o teorię strun. Przykład? Pytam: Jak działa algorytm quicksort?. W odpowiedzi – pustka.

No to próbuję coś łatwiejszego: Opowiedz mi, jakbyś zarządzał stanem aplikacji. Zamiast konkretów, słyszę: „Korzystam z gotowych paczek”. Ok.

Próbuję dalej: Jakie są sposoby na uniknięcie memory leaków w aplikacjach mobilnych? Cisza. Jakby temat zarządzania pamięcią był jakąś czarną magią.

Może coś mniej abstrakcyjnego? Jak byś zaimplementował strategię cache’owania w aplikacji rozproszonej, żeby zminimalizować opóźnienia i synchronizację danych?. No i tu już kompletny brak odpowiedzi.

Myślę sobie, może coś praktycznego: Jak zoptymalizowałbyś działanie aplikacji, która ma dużo operacji I/O, np. zapisywanie danych do bazy? Odpowiedź: „Użyłbym async/await”. No super, tylko nie wspomniał, jak by to działało pod maską ani jakby uniknął bottlenecków.

Na koniec, żeby już nie katować: Jak byś zarządzał transakcjami w systemie rozproszonym z użyciem mechanizmu two-phase commit? Patrzy na mnie, jakby to była rozmowa o fizyce kwantowej.

Ja rozumiem, że to junior, ale jakieś podstawy by się przydały, prawda?

#programowanie #programista15k #naukaprogramowania #it #pracbaza
  • 93
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

Dobrze rozumiem, że wykopki uważają wpis za bait, bo "kto by nie znał quicksorta", a nie dlatego, że "kto normalny pyta o quicksorta"?
Jakby mnie ktoś pytał o takie bzdury na rozmowie, to bym go chyba wyśmiał i zaczął się zastanawiać co to za Januszex, skoro programiści przepisują w nim biblioteki standardowe.
  • Odpowiedz
@Kresse: 2PC to jakbym się przeniósł do lat 90. 2PC nie zapewnia pełnej spójności na poziomie serializable. Istnieją lepsze rozwiązania np. Raft lub ePaxos.
  • Odpowiedz
@zarowka12: akurat quicksort jest tak banalny że jeśli ktoś tego nie wie to mam wątpliwości czy poradzi sobie z czymś bardziej skompilowanym np wycentrowaniem diva w CSS albo zrobieniem zapytania z parametrem do bazy.
  • Odpowiedz
@bzyku95: żebyś się nie zdziwił; skrajności są złe. Miałbym obawy zatrudniać gościa który nic nie wie o sortowaniu, transakcjach, złożoności czy cache, bo jest ryzyko że będzie tworzył kod jaki był w takim projekcie w php który kiedyś konsultowałem, który miał problem z realizacją jednej transakcji w… minutę. Bo ktoś wymyślił że załaduje sobie pół bazy do pamięci przy każdym zapytaniu.
  • Odpowiedz
@Tarec: ok, zgoda, lepsze pytanie byłoby czym się różni sortowanie stabilne od niestabilnego. Wtedy bym wiedział czy ktoś przeczytał chociaż dokumentację do sorta ze zrozumieniem. :P
  • Odpowiedz
@kuba181797: typie, on jest programistą i będzie wrzucać gotowce ze stacka, a nie jakieś kocopoły, optymalizacje, wycieki pamięci, jak Ci aplikacja muli, to kup nowy sprzęt, biedaku, a nie wymyślać filozofie jakieś
  • Odpowiedz
@zenon_z_chorzowa1:

a to nie jest tak że po prostu nie miał na studiach algorytmów i struktur danych, a tylko wiesz uczył się podstaw jak programować, w sensie składni języka?


Czyli nie umie programować. Następny proszę.
  • Odpowiedz
@Ranger: do wrzucania gotowców to jest ChatGPT. A OP pytał o podstawy podstaw, a nie żadne zaawansowane rzeczy. Nawet pytanie o 2PC jest niezłe bo prawidłowa odpowiedź to “nikt tego nie używa, bo powolne, awaryjne i i tak nie gwarantuje spójności danych”, więc natychmiast odróżnisz kogoś kto tylko skończył studia od kogoś kto ma minimum doświadczenia praktycznego (junior to nie stażysta).
  • Odpowiedz
@Krolik: ja wiem, po prostu ziomek trafił do poważnej firmy - niestety, zatrudnią go i tak, tam, gdzie będzie się liczyć najtańszy "programista" i będzie robić syf
  • Odpowiedz
@kuba181797:

To są podstawy, które kazdy developer powinien znać

Klepię zawodowo apki mobilne 5 lat. Na pierwsze 4 pytania odpowiada się jednym zdaniem, ale żadna z tych odpowiedzi to nie jest odpowiedź, której będziesz oczekiwać. 5 pytanie dotyczy problemu z którym sam się spotkałem, ale odpowiedź nie jest złożona, raczej bym oczekiwał tutaj zobaczenia jakie ma proste pomysły, bo to wykracza trochę po za wiedzę kogoś kto jest juniorem, bo
  • Odpowiedz
Brak wiedzy o tym jakie są kroki w quicksorcie o niczym nie świadczy. To nie jest wiedza potrzebna w praktyce.


@zarowka12: kroki to przetasuj tablicę na dwie części według jakiejś wartości i wywołaj rekurencyjnie. Jak ktoś tego nie umie to zakładam, że algorytmów też żadnych nie zna, bo to praktycznie podstawy
  • Odpowiedz
Pytam: Jak działa algorytm quicksort?. W odpowiedzi – pustka.


ja robię jusz w javie długo i zarabiam dużo i tez nie wiem, może 10 lat temu na 1 roku studiów bym odpowiedział.

No to próbuję coś łatwiejszego: Opowiedz mi, jakbyś zarządzał stanem aplikacji.


o
  • Odpowiedz
@frenm

ja robię jusz w javie długo i zarabiam dużo i tez nie wiem, może 10 lat temu na 1 roku studiów bym odpowiedział.


To tak jak ostatnio przyłapali jakiegoś znachora, który udawał psychiatrę i "leczył" w jakiejś przychodni, mimo że nie miał żadnego wykształcenia. Ponoć ileś tam ludzi nawet wyleczył :D
  • Odpowiedz