Rozmowa techniczna z juniorem

0

Podejrzewam, że część z Was ma doświadczenie w przeprowadzaniu rozmów technicznych w ramach rekrutacji do waszych firm.
Interesuje mnie szczególnie wasze doświadczenie w rekrutacji na stanowiska juniorskie: ludzi po bootcampach, niedoświadczonych studentów, osób chcących się przekwalifikować.
O co, waszym zdaniem warto zapytać, żeby w miarę się zorientować, czy rekrutowana osoba "ma potencjał" - bo wiedzę ma teoretyczną a doświadczeniem komercyjnym nie dysponuje?

6
  1. Czym się różni interfejs od klasy abstrakcyjnej?
  2. Jakim zwierzęciem chciałby Pan być za 5 lat?
6

Jeżeli pracujecie na linuxach: jak wyłączyć vima. I nie, to nie jest szydera.

0

@Frebiee: dzisiaj wysłałem CV. Może ktoś mnie zaprosi na rozmowę, to Ci opowiem ^^

4

W mojej firmie CV ludzi po bootcampach ląduja z automatu w koszu. Jest dość sporo samouków/przekwalifikowanych ale każdy z nich miał dobrze udokumentowany proces nauki na githubie. Póki co nie ma do tych osób zastrzeżeń. ;)

O co, waszym zdaniem warto zapytać, żeby w miarę się zorientować, czy rekrutowana osoba "ma potencjał" - bo wiedzę ma teoretyczną a doświadczeniem komercyjnym nie dysponuje?

U mnie preferuje się się zamiast odpytywania z jakis teoretyczno/technicznych rzeczy juniorków którzy i tak mało co wiedzą, ogólna rozmowę o technologii w którą dany kandydat aplikuje. Czy faktycznie jest zainteresowany tematem, czy ma ogólne pojęcie o tematyce, czy sam faktycznie wcześniej się interesował rzeczami które wymagamy od kandydatów itp. Póki co takie filtrowanie sprawdza się i jest wystarczające.

P.S niektórzy bootcampowcy jako doświadczenie zawodowe wpisuja sobie "XYZ bootcamp - junior developer". Proszę nie róbcie tego, później śmiejemy się cały dzień z takiego kandydata i nie da sie pracować xD

0
Frebiee napisał(a):

Podejrzewam, że część z Was ma doświadczenie w przeprowadzaniu rozmów technicznych w ramach rekrutacji do waszych firm.
Interesuje mnie szczególnie wasze doświadczenie w rekrutacji na stanowiska juniorskie: ludzi po bootcampach, niedoświadczonych studentów, osób chcących się przekwalifikować.
O co, waszym zdaniem warto zapytać, żeby w miarę się zorientować, czy rekrutowana osoba "ma potencjał" - bo wiedzę ma teoretyczną a doświadczeniem komercyjnym nie dysponuje?

Jakbym był rekruterem, to kazałbym dla jaj napisać krótki programik robiący z tablicy posortowanej tablicę nieposortowaną w randomowej kolejności. I w tym momencie wyp.....liło by sie na tym 90% mędrców j....cych na pamięć różnice między klasą abstrakcyjna a interfejsem i typowe zagadnienia na rozmowę kwalifikacyjną. Niestety polskie matolstwo poupychane w firmach po znajomości jest tak tępe, że bedzie zatrudniać tylko takich tępych jak oni sami, a myślących będą eliminować.

1

@stivens napisał:

trzeba oddzielna kategorie -> copy-paste experience

Wbrew pozorom, kopiuj-wklej też wymaga pewnego myślenia i kombinowania. Czasami na forum piszą ludzie, którzy skądś przekopiowali gotowiec, ale po drodze zgubił się średnik i powstaje panika, bo nie chce się skompilować. Albo nawet się kompiluje, ale dana osoba totalnie nie ma pojęcia jak to działa, a chce coś zmienić.

Sam czasami też na szybko kopiuję jakiś fragment z netu i wiem, że potem jak chcesz coś z takim fragmentem zrobić, to jednak wiedza jest potrzebna. Oczywiście - łatwiej jest zrobić kopi-paste niż napisać samemu, ale nie zmienia to faktu, że stosowanie tej technologii kodowania jednak wymaga pewnej wiedzy od osoby jej stosującej ;)

0

Chodzi mi raczej o to, ze na takim bootcampie caly projekt to podazanie za krokami prowadzacego. Znaczy w sumie to nie wiem bo nigdy na takim nie bylem, ale chyba tak to wyglada. Zreszta przytocze cytat z pewnego tematu, ktory pojawil sie w zeszlym tygodniu:

Absolete napisał(a):

(...) później coraz trudniejsze rzeczy dochodziły czasem coś się podpatrzyło jakies rozwiązanie czy robiło na gotowych szablonach czy przykladach co były podawane. Teraz kiedy już są konkretne rzeczy i wszystko co do tej pory było jest zbierane w całość a programy coraz bardziej są rozbudowane ciężko mi połączyć to wszystko w całość. Nie mam często pomysłu od czego zacząć jak to zrobić żeby chociaż jakiś szkielet był, i żeby to było w dosyć poprawne to co chce napisać. Ze stron zadania ktore robie to przynajmniej mam na nie jakiś pomysł... @Haskell to co mówisz juz jest piętro 5 ale czas w jakim musimy przerabiać wszytko tydzień w tydzień i ogrom materialu jest dość przytłączające a piętra 1,2,3,4 pokonywało się podpatrując z gita od innych uczestników pod presją czasu i właśnie teraz widać co się dzieje. Coś się raz zrobi i idzie się dalej nie ma czasu nawet na powtórki albo żeby przecwiczyć na większej ilości przypadków. Jak raz coś się zrobi na jape... to później się to zapomina.... Teraz jest jednym słowem kiepsko.... Wiem co ma jakie zastosowanie czy jakies arraylisty czy hashmapy i inne elementy języka, ale teraz jak przyjdzie połączyć to wszystko w jędną całość w dość konkretnym programie to mam blokadę żeby w ogóle coś zacząc... (...)

0

Zapytaj o same podstawy: przeliczanie liczb w systemie dziesiętnym na dwójkowy albo szesnastkowy albo rolowanie bitów (nie blantów:) Jak tego nie zrobi to znaczy miękka buła...

3

Moim zdaniem nie ma sensu prowadzić takiej rozmowy - przesłuchania.
Lepiej dać pacjentowi komputer, jakieś IDE i parę prostych zadań do rozwiązania.
Prawda jest taka, że obserwując jak sobie radzi, będziesz miał jakieś pojęcie o tym, na ile dany pacjent umie kombinować, myśleć, szukać rozwiązania.

Możesz też dać mu do poprawienia/skomentowania jakieś błędne programy. Kiedyś kupiłem sobie (w ramach własnej edukacji/rozwoju) książkę Jak nie programować w C++ czyli 111 programów z błędami i 3 działające. Autor: Oualline Steve - http://www.empik.com/jak-nie-programowac-w-c-oualline-steve,301115,ksiazka-p lub http://lubimyczytac.pl/ksiazka/279131/jak-nie-programowac-w-c-czyli-111-programow-z-bledami-i-3-dzialajace . Zawiera ona kilkadziesiąt przykładowych programów, w których zawierają się jakieś błędy. Nie pamiętam, czy programy się kompilują, ale dają dziwne wyniki, czy jakiego typu są te bugi do znalezienia - niemniej tak mi się teraz skojarzyło, że byłaby ona dla Ciebie idealna na rekrutację :)

0

"Chodzi mi raczej o to, ze na takim bootcampie caly projekt to podazanie za krokami prowadzacego. Znaczy w sumie to nie wiem bo nigdy na takim nie bylem, ale chyba tak to wyglada. Zreszta przytocze cytat z pewnego tematu, ktory pojawil sie w zeszlym tygodniu"

Hahaha i to mnie bawi najbardziej, nie byłem, nie wiem, coś słyszałem to powtórzyłem 😂 Temat wałkowany trzysta razy, do tej pory mnie dziwi ile razy jeszcze trzeba poruszyć te temat... Najbardziej ludzi boli, że ktoś na bootcampach dobrze zarabia, innych boli że ludzie po trzech miesiącach a nie po latach znaleźli pracę w IT. Fakty jednak są takie, że ponad połowa osób po takich kursach dostaje pracę jako junior lub na staż.

1

A ja nie mowie, ze niczego sie tam nauczyc nie da tylko odnosilem sie do wypowiedzi @cmd w ktorej pisal o wrzucaniu bootcampow do sekcji "doswiadczenie zawodowe". To jest troche jak bycie na lekcji matematyki - sama obecnosc nie robi z Ciebie matematyka (w sensie myslenia jak matematyk bo obliczenia to swoja droga) ale moze czegos nauczyc.A w pracy czy przy wlasnych projektach trzeba byc przynajmniej minimalnie samodzielnym i miec pomysl na kolejne podprogramy. Osobnik przytoczony w cytacie mial z tym problemy bez kogos kto go poprowadzi

No bo czemu student ma wrzucac polibude do "edukacji" a bootcampowiec szkole do "doswiadczenia"?

2

@Frebiee: Pytaj ich o najwazniejsza moim zdaniem rzecz od ktorej zalezy to z kim pozniej bedziesz musial pracowac:

  • Dlaczego chcesz pracowac jako programista/ka? Co Cie motywuje do podjecia tej pracy?
    I obserwuj reakcje + uwaznie sluchaj odpowiedzi. Jak beda mowic o finansowych aspektach pracy to nie licz, ze bedzie to ambitny pracownik. Wybierz tego z odrobina pasji, ktora tak wszystkich bawi. Jak bedzie Ci w stanie sprzedac dobra historie ale nie ta w stylu "zawsze chcialem byc programista" to prawdopodobnie bedzie dobrym materialem na juniora.
    Nie krytykuje bootcampowcow ale z doswiadczenia wiem, ze kazdy ma w glowie tylko pieniadze. Pracowalem z jednym takim przypadkiem, ktory byl gotowy rzucic aktualna prace na rzecz innej za 200zl pensji wiecej. Stad brak dobrego zdania o tych ludziach z mojej strony.
    Ale zeby nie wrzucac wszystkich do jednego wora - mowie tylko o tych z ktorymi mialem do czynienia.
    Powodzenia.
3

Fakty są takie że Polska to Indie Europy.

0

Kiedy nie wykorzystywać programowania obiektowego.

2

Zaraz zaraz osoba świeżo po bootcampie czy student to jeszcze nie junior :D :D :D na juniora trzeba coś umieć i mieć albo jaieś doświadczenie albo co pokazać, jakiś ciekawy projekt na githubie to też doświadczenie.

Niedoświadczony student? Jeśli jest na studiach lub w trakcie studiów to na bank były projekty na uczelni, które można było zrobić dobrze żeby wrzucić i pokazać.

Osoba po bootcampie? można popytać nawet o kod jakiegoś przepisanego jak małpa projektu, czy go rozumie tylko nie coś w stylu "Dlaczego tu jest if? :D " tylko może jakoś bardziej kreatywnie zakrecic pytanie, jesli widzisz w kodzie interfejsy to może zapytać o jakieś ich zastosowania, niech poda jakiś przykład z życia kiedy ich użyje, a kiedy nie (jak zapytamy o różnice interfejs vs abstrakcyjne to każdy wyduka z pamięci, powiedzcie że się nie mylę i na rozmowach każdy to wie :D ), może jakieś pytania o SOLID + przykład z zycia (w sumie też można wykuć takie coś na pamięć :/ ale może jak zaczniesz drążyć to się pogubi jak nie wie tylko wykuł :D ) ?

Przebranżowienie? Tu nie mam pomysłu, to co powyżej + motywacje?

Jak nie ma githuba i doświadczenia (i mimo to jest zaproszona na rozmowe) to niech poopowiada o projektach jakie ostatnio pisał i na ich bazie wymyślic jakieś pytania? Mówi że użył jakieś bazy danych -> dlaczego akurat tej? Nawet jak nie ma doświadczenie i wybrał jakieś rozwiązanie to wyjdzie że wybrał bo a) poczytał o różnicach chociaż i się zdecydował na coś, mógł wybrać źle ale świadomie ;) b) wybrał bo pan z tutka z yt taką wybrał i nawet nie zna alternatyw..

Algorytmy? (tu trzeba uważać bo można polecieć na pytania bez sensu nie mające zastosowania w praktyce) ale moim zdaniem to sprawdza podejście do problemów + bardzo temat powiazany czym sie zajmuje firma czy to tylko CRUD'y czy może jednak pracujecie na jakiś bardziej skomplikowanych struktuach drzewach itp? + to moze być dobre na bootcampowców itp. opisać jakiś problem i jakby to rozwiązał? albo dać mu do napisania coś na tablicach (kiedyś od tego się zaczynało programowanie więc nie było sensu pytać aleteraz z tego co czytam to mam wątpliwości :D ) itp. Tu zalezy czy przy rekrutacji dajecie komuś pisac kod czy tylko rozmowa.

Nie jestem zwolennikiem pytania o kruczki języków z drugiej strony to na juniora :/ więc można na szybko 10 pytań walnąć takich na które można odpowiedzieć w jednym czy kilku zdaniach i wiemy czy warto w ogóle z kimś dalej gadać, raczej o koncepcje, sposoby podejścia do problemów ale zaznaczam ze zawsze byłem po stronie osoby pytanej na rozmowach więc mną się nie sugeruj ;) . Ewentualnie te 10 czy tam x pytań warto pociągnąć jak pytasz o coś to na podstawie odpowiedzi drążysz dalej dane zagadanienie wtedy widać na ile ktoś ogarnia co mówi.

0

jak to java to cos z wielowatkowosci i algorytmy gc, w taki sposob odsiejecie tych bez pasji ;)
pasji pasji asji asji ajsiiiii

3

Może nie najświeższa wiedza, bo ok sprzed 3 lat, ale przychodzą ludzie:

  1. Bez doświadczenia - dostają zestaw testowy, żeby jakoś porównać ich wiedzę (w zasadzie kilka testów tematycznych, żeby określić jakieś mocne strony kandydata ). Z testów, które kiedyś sprawdzałem jak kandydat miał 8 punktów na 20 to już był mistrz (średnia ok. 4 na 20). Zadania programistyczne, bazodanowe, systemy operacyjne/sieci.

Zadania o zróżnicowanym stopniu, od typu "która komenda powłoki służy do wylistowania plików rozpoczynających się od liter abc (i wybór: a) rm abc* b) ls abc* c) ln abc* itd.), po nieco bardziej praktyczne i otwarte, typu: "na maszynie masz 2 interfejsy sieciowe: eth0, eth1. Przez eth0 masz dostęp do internetu, zaś przez eth1 możesz połączyć się z VPN, ale nie masz internetu. Uruchamiasz VPNa. Jak zapewnić sobie równoczesny dostęp do zasobów VPN + internetu. Podane były IP + maski podsieci + tabela routingu".

Na rozmowę pytanie, które ma na celu pokazanie jak kandydat myśli i czy taki proces ma miejsce => "Jak zabrałbyś się za rozwiązanie problemu XYZ?" i obserwacja interakcji.
Nie chodzi tu o to czy problem zostanie rozwiązany, ale jak sobie poradzi z sytuacją i czy będzie zadawał(a) pytania przybliżające do rozwiązania.

  1. Z doświadczeniem - luźna rozmowa typu: jakie problemy rozwiązywałeś/aś i jak? Które elementy wg Ciebie wydaja się najtrudniejsze? Co byś poprawił/zmienił?
1

O takie rzeczy mnie w trzech firmach pytali.

  1. Lipiec 2013 - stanowisko Młodszy Programista, duża polska firma, miałem test składający się z:
  • 50 pytań z Javy ABCD
  • 5 pytań otwartych z Oracle
  • 3 zadań sprawdzających umiejętność logicznego myślenia (jedno z zadań to było obliczyć o jaki kąt przesunie się wskazówka godzinowa zegara po upływie 1 sekundy)
  1. Marzec 2015 - stanowisko Java Developer, firma zajmująca się rzeczami bankowymi:
  • Czym jest AngularJS
  • Co to jest Scope w Angularze
  • Zamień miejscami wartości dwóch intów bez użycia zmiennej pomocniczej
  • Jak w Javascripcie wyświetlić w konsoli wartość zmiennej
  • Jakie mamy JOINy w SQL, opisać różnice między nimi
  • Napisać zapytanie SQL, które wyświetli ile jest wspólnych nazwisk w dwóch tabelach
  • Różnica między DELETE, TRUNCATE, DROP. Które z tych poleceń są odwracalne?
  • Co to jest deadlock, kiedy występuje
  • Co to jest blok finally w Javie i czy może on się nie wykonać
  • Wysyłasz dane z formularza, jedną z tych informacji jest Twoje hasło. Dlaczego lepiej jest użyć typu char zamiast String?
  • Jakie znasz wzorce projektowe
  • Napisz regexa które sprawdzi poprawność adresu IPv4
  • Spring: opisz czym jest Inversion of Control
  • Opisz na przykładzie Springa implementację wzorca MVC
  • Opisać różnice między typami danych Set, Map, List + pułapki przy sprawdzaniu duplikatów w Set (hashCode, equals)
  • Jakie preprocesory CSS są używane w Bootstrapie
  • Co to jest serializacja i kiedy się ją stosuje
  1. Listopad 2015 - firma zajmująca się rzeczami okołopłatnościowymi - oprócz rozmowy technicznej to dostałem zadanie praktyczne do wykonania w domu. Następnie musiałem je zaprezentować, gdzie wykazałem się skrajną niewiedzą na temat platformy Java EE i mechanizmów ją otaczających :)

No i ostatnia moja rekutacja była w listopadzie 2016 do małej firmy, nie miałem w ogóle testu technicznego, rozmawialiśmy głównie o tym co do tej pory robiłem (jako programista Java pracuję od sierpnia 2015, dostałem się z rekrutacji wewnętrznej w dużej firmie produkcyjnej), jakie zadania wykonywałem, z jakimi problemami się musiałem zmierzyć.

0

A ktoś korzystął z https://devskiller.com/ ? Właśnie się przymierzam, żeby napuścić na juniora jednego.
To po pierwsze produkt rodzimy i (podobno fajny) - dowiem się pewnie niedługo.

0

Nie wiem jak Java, ale ja taki dostalem z js-a. Polecam, bo fajne, realne przyklady.

0
filemonczyk napisał(a):

jak to java to cos z wielowatkowosci i algorytmy gc, w taki sposob odsiejecie tych bez pasji ;)
pasji pasji asji asji ajsiiiii

Wielowątkowość w Javie to standardowy punkt do odhaczenia na uniwerkach, przynajmniej tych gdzie jest jaki taki poziom. Więc bym z tym odsiewaniem ludzi bez pasji do Javy nie przesadzał.

0
Szkielet Sceptycznego Dino napisał(a):
filemonczyk napisał(a):

jak to java to cos z wielowatkowosci i algorytmy gc, w taki sposob odsiejecie tych bez pasji ;)
pasji pasji asji asji ajsiiiii

garbage collector po to wymyślono, żeby się nie interesować odśmiecaniem
równie dobrze mógłbyś pytać jak te elektrony tam zap...lają tam w środku po tym procesorze, bo panie bez tych elektronów to żodyn program nie pódzie. Żodyn

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.

0

widze chlopaki ze ciezko tak z poczatku tygodnia, jeszcze dodam ze do tego mozna dorzucic Java Memory Model

1
matwes napisał(a):

O takie rzeczy mnie w trzech firmach pytali.
Zamień miejscami wartości dwóch intów bez użycia zmiennej pomocniczej

Że niby ta sztuczka z operacjami bitowymi? Tylko, że poza gamedev czy innymi super wymagającymi (pod kątem wydajności) działkami programowania takie mikro-optymalizacje nie mają zwykle wiele sensu... (zresztą nie wiem nawet, czy faktycznie to będzie się szybciej wykonywać. A i tak bardziej przejrzyściej jest zrobić dodatkową zmienną).

Wysyłasz dane z formularza, jedną z tych informacji jest Twoje hasło. Dlaczego lepiej jest użyć typu char zamiast String?

Nie mam pojęcia. Obstawiałbym, że coś ze wsparciem unicode? Ew. ze sposobem porównywania znaków? (ale na szczęście nie startuję na żadnego Javowca, więc mogę nie wiedzieć. Ale zaintrygowały mnie to pytania).

0

Czemu każdy wątek ogólny zawsze zbacza w stronę Javy?

4

Bo Java zostawia trwałe ślady na psychice (i krążą plotki, że twarz też niszczy).

2

Java zostawia trwałe ślady na psychice (i krążą plotki, że twarz też niszczy).

To nie plotki.
Po lewej - świeżo po studiach.
Po prawej - po roku pracy jako junior w Javie...

screenshot-20180626112509.png

2
loza_szydercow napisał(a):

Czemu każdy wątek ogólny zawsze zbacza w stronę Javy?

No wlasnie, przyklad moj, ktory mialem przy rozmowie C++, testuje rachunek prawdopodobienstwa rowniez: alokujes tablice o wielkosci 1000 i w petli przypadkowo wywolujesz dostep do elementu z przedzialu [0, 1050]. Jakie jest prawdopodobiestwo, ze bedziesz mial access violation na Windowsie, jak to sie rozni na Linuxie. Pzdr

0

Daję zawsze małe zadanie do zakodowania - mini projekt w dowolnej technologii, który ma automatyzować pracę użytkownika końcowego. Potem jak zapraszam na rozmowę pytam z oop/baz,/algoryrmt/projektowania I czy rozumie po co te rzeczy są + zadania kodowe na tablicy do zrobienia.

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