Rozmowa techniczna z juniorem

0

Obligatoryjnie pytanko z non abstract large scale system design: Zaprojektuj twittera żeby sprawdzić wiedze ogólną. hehe

0

Spoko jest test w stylu "jakbyś wybrał najmniejszą wartość z dużej listy". Jak rzuci, że by posortował i wybrał z góry to wiadomo, że nie słucha się co się do niego mówi, ewentualnie nie mysli.

1
Szkielet Sceptycznego Dino napisał(a):

No spoko Mati. Zaszpanowałeś "fachurowościom", a teraz zejdźmy na ziemię. Owszem czasem dobrze jest znać zasadty działania gc danego języka. Pozwoli zaoszczędzić czasu sobie i pieniędzy pracodawcy, które mogą zostać przeznaczone na twoją podwyżkę, oraz nerwów wam obu.

No prosze bardzo, zejdźmy na ziemie. Konkretnie to w jaki sposób mistrzuniu zaoszczędzisz ten czas i pieniądzę. Proszę o konkretny przykład.

To nie jest takie abstrakcyjne. Weźmy prawie najprostszy przykład. Java : mamy 3 obiekty - obiekt a ma referencje do b, obiekt b ma referencje do c, a ten z kolei ma znowu referencje do a. Cykl.
Szokujące jest jak wielu midów, seniorów, ludzi mających bliko 10 lat doświadczenia w Javie nie potrafi powiedzieć czy gc to usunie (jeśli nie będzie innych referencji do tego cyklu).

A to w sumie mega ważne, bo jeśli nie usunie, to musisz bardzo uważać przy projektowaniu klas :-)

Btw. nie wierzyłem, jak mi ktoś pierwszy raz powiedział, a potem zacząłem pytać o to na rozmowach, zacząłem pytać moich kolegów... dramat.

3

@jarekr000000: przecież to jest zupełnie abstrakcyjne! Po co seniorowi więcej niż dwie klasy w projekcie? To tylko spowalnia!

1

Ja podczas rozmów zadaję:

  • Pytania sprawdzające znajomość języka programowania oraz powiazanych narzędzi.
  • Pytania sprawdzające wiedzę domenową mająca znaczenie na danym stanowisku
  • Zadania w których coś trzeba zakodować na tablicy, zazwyczaj proste. Potem dopytuję jak to przetestować. Chce sprawdzić jak myśli, jak koduje, projektuje, jak rozważa przypadki brzegowe.
  • Pytania o projekty studenckie lub prywatne, zainteresowania branżowe, książki, blogi, fora.
1
jarekr000000 napisał(a):

To nie jest takie abstrakcyjne. Weźmy prawie najprostszy przykład. Java : mamy 3 obiekty - obiekt a ma referencje do b, obiekt b ma referencje do c, a ten z kolei ma znowu referencje do a. Cykl.
Szokujące jest jak wielu midów, seniorów, ludzi mających bliko 10 lat doświadczenia w Javie nie potrafi powiedzieć czy gc to usunie (jeśli nie będzie innych referencji do tego cyklu).

A to w sumie mega ważne, bo jeśli nie usunie, to musisz bardzo uważać przy projektowaniu klas :-)

No to jest tzw. island of isolation i jest całościowo unreachable, więc dlaczego GC miałby go nie usunąć zatem? Serio ciężko mi zrozumieć, że ktoś mógłby wpaść na pomysł, że gc tego nie usunie. Sęk w tym, że nawet jak chcesz wymusić w javie GC, to on sobie zadziała, albo i nie, bo stwierdzi, że później. Projektowanie klas i tego jaki będzie zakres życia danych obiektów a samo działanie GC i jego algorytmów to dwie różne rzeczy i serio trzeba by się nagłowić IMHO, żeby wykorzystać wiedzę nt. jak GC dokladnie działa przy projektowaniu architektury programu. Na pewno nie byloby to zagadnienie na poziomie juniora. Juniorowi powinno wystarczyć przeświadczenie, że GC działa i to niezwłocznie ;) Ale to tylko moje skromne zdanie.

0

Maciej Aniserowicz w swojej książce napisał, że wymaga od Juniora:

  • gita;
  • umieć OOP;
  • znajomość wzorców projektowych;
  • umiejętność testowania jednostkowego.

I tak wobec tego co tu czytam, to bardzo rozbieżne są te wymagania.

3
NeutrinoSpinZero napisał(a):

Maciej Aniserowicz w swojej książce napisał, że wymaga od Juniora:

  • gita;
  • umieć OOP;
  • znajomość wzorców projektowych;
  • umiejętność testowania jednostkowego.

I tak wobec tego co tu czytam, to bardzo rozbieżne są te wymagania.

A to jakiś guru jest bo nie rozumiem?

2

Ja miałem trochę rozmów jako początkujący / junior w webie i rekrutacja techniczna przebiegała bardzo różnie, oto kilka przykładów:

  • niski budżet (< 2000 zlecenie) stanowisko dla osoby nie mającej doświadczenia / stażysty - kilkanaście ogólnych pytań ustnych gdzie była możliwość przy każdym sobie porozmawiać: OOP, co to jest programowanie funkcyjne, http vs https, po co testy, coś o gitcie, SOLID, KISS, różnice między bazami SQLi inne, z tak ogólnych pytań wywiązywała się ciekawa dyskusja, atmosfera luźna, widać że chcieli zobaczyć czy kandydat się interesuje, co ma od siebie do powiedzenia, a nie na zasadzie egzaminu abcd, następnym etapem było zrobienie aplikacji z kontami dla użytkowników na danym freamworku + bazie SQL + dowolny prosty front. Moim zdaniem dobra taka rekrutacja, ale niestety nie wiedzieć czemu "zawieszona".

  • junior frontend (kasa 2500 netto UoP plus b. dobre warunki pracy), nie wymagali doświadczenia komercyjnego, proste ogólne pytania co wiesz o scss / sass, jquery, różnice między SQL i NoSQL, a więc naprawdę łatwe pytania, potem o tym, czy śledzę nowinki w JS, jak wyszło, że tak to po dwóch dniach pozytywna odpowiedź.

  • staż / junior web developer (kasa? nie wiadomo, ale wyszło, że najlepiej z urzędu za darmo albo coś hehe), pytania z bardzo różnych technologii co mnie zdziwiło i znacznie wydłużyło rozmowę, składnia JS, składnia PHP, proste pytania o MongoDB i SQL, konkretne pytania o Wordpress (nic nie pisałem o nim), photoshopa (parę razy w życiu go tylko dotknąłem i się tym nie "chwaliłem"), inne technologię i o jakieś archaiczne technologię, których nie pamiętam i znałem tylko z nazwy, jeszcze więcej tego było, aż doszliśmy do tematu kasy, bym zakończył rozmowę.

  • junior web developer (kasa max 4000 brutto umowa o dzieło), test z pytań o PHP, JS, Git, SQL i inny standard, do tego momentu było ok, druga połowa to konkretne pytania ze szczegółów z prestashopa, w ofercie było tylko "mile widziane", więc na szybkiego w domu postawiłem kilka sklepów na xampie by zobaczyć z czym to się je, z tej części miałem nie wiele więcej jak 0, a więc w sumie trochę poniżej 50% i "odpadłem".

Tak więc były i miłe rozmowy i mniej miłe :)

1

W sumie to najważniejsze żeby był chętny i w miarę rozgarnięty, bo tego się nie da nauczyć, a całej reszty się da.

0
Bogaty Mleczarz napisał(a):

Ja miałem trochę rozmów jako początkujący / junior w webie i rekrutacja techniczna przebiegała bardzo różnie, oto kilka przykładów:

  • niski budżet (< 2000 zlecenie) stanowisko dla osoby nie mającej doświadczenia / stażysty - kilkanaście ogólnych pytań ustnych gdzie była możliwość przy każdym sobie porozmawiać: OOP, co to jest programowanie funkcyjne, http vs https, po co testy, coś o gitcie, SOLID, KISS, różnice między bazami SQLi inne, z tak ogólnych pytań wywiązywała się ciekawa dyskusja, atmosfera luźna, widać że chcieli zobaczyć czy kandydat się interesuje, co ma od siebie do powiedzenia, a nie na zasadzie egzaminu abcd, następnym etapem było zrobienie aplikacji z kontami dla użytkowników na danym freamworku + bazie SQL + dowolny prosty front. Moim zdaniem dobra taka rekrutacja, ale niestety nie wiedzieć czemu "zawieszona".
  • staż / junior web developer (kasa? nie wiadomo, ale wyszło, że najlepiej z urzędu za darmo albo coś hehe),

Drugi przypadek wyjaśnia dlaczego w pierwszym rekrutacja "zawieszona". :)

0

Hej, tu jeszcze jedno jakie mialem na rozmowie w innej firmie: oblicz pierwiastek z 2 :)

Pozdrawiam

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