Jak się przygotowujecie do live codingu na rozmowie?

0

Hej,

Przygotowujecie się w jakiś sposób do takiej rozmowy? Mam w przyszłym tygodniu serię takich rozmów - 90 minut live codingu, a ostatnio kodowałem na żywo ze 3 lata temu. Czy wypada mi wcześniej zapytać rekruterki czego mogę się spodziewać? Np. czy to jakieś algo czy może restowe api itd?

Czy są jakieś oczywistości, o które nie powinienem pytać na rozmowie typu: "czy mam napisać testy do tego czy zależy Wam tylko na implementacji?"

Przyznam, że mega się stresuje na takich rozmowach jak mi ktoś patrzy na ręce i mój poziom czasami jest sprowadzany do początkującego juniora, więc jak macie jakieś tipy to będę wdzięczny.

1

To chyba każdy tak ma. Po prostu jak czegoś nie ćwiczysz to wypadasz z rytmu.
Jak na live codingu będziesz miał algo to musiałbyś poświęcić jakiś czas na klepanie przynajmniej easy codewarsów - lub czegoś w podobnym stylu.
Jeśli chodzi o ćwiczenie takiego kodowania - to na pewno kodowanie pod presją czasu jest fajną opcją.

A co do pytań to osobiście nie pytałbym rekruterki o takie rzeczy. A podczas live codingu najlepiej zachowywać się po prostu "naturalnie". Jak wiesz jak napisać testy to po prostu zapytaj czy napisać, bo możesz to zrobić, ale to chyba logiczne i nic odkrywczego że w czasie rozmowy też możesz rozmawiać i pytać jak coś nie jest jasne.

W swoim życiu nie miałem wiele rozmów ale, raz na algo odpadłem. Tzn zrobiłem zadanie było to jakieś nawigowanie po deep obiekcie w js i sprawdzanie jakieś zależności. Ogólnie dosyć prosta sprawa, stres zaważył o tym że trochę się pogubiłem.

Drugi raz było codereview po zrobionym zdaniu i live coding dodatkowych rzeczy do zadania. Tam już poszło mega spoko. Zadanie było bardzo przyziemnie i wycelowane w bardziej praktyczne zadanie niżeli algo.

Jak zostało ci nie wiele czasu, to nie ma sensu nic klepać dzień / dwa przed rozmową. Ogarnij ogólne tematy które były napisane w ogłoszeniu i tyle.

2

Ogłoś że szukasz kogoś kto cie przygotuje do takiej rozmowy za jakiś $$. Na pewno ktoś się znajdzie.
Inna droga to po prostu napierdzielaj takie rozmowy gdzie jest live coding z wiedzą ze większość upierdzielisz ale wyciągaj wnioski na przyszłość.

1

Na pewno spytaj się jak to ma wyglądać, nie ma sensu zgadywanie. Na pewno musisz wiedzieć:

  • czy będziesz to pisać u siebie i udostępniać ekran czy w jakimś portalu
  • jeśli w portalu, to jak to środowisko wygląda (wspierane wersje języka, dostępne libki, jak wygląda testowanie, tego typu rzeczy)
  • jeśli u siebie, to czy będziesz to pisać od zera w jakimś pustym projekcie, czy jest jakieś repo do sklonowania

Jeśli masz pisać u siebie w pustym projekcie (z doświadczenia najczęstszy przypadek) to miej to minimum przyzwoitości - jakiś pusty plik który możesz odpalić, podstawowe libki w danym ekosystemie (np do testów), najlepiej pracować na kilku ekranach żeby na jednym pracować a na drugim widzieć jeszcze osoby po drugiej stronie.

5

Jak się przygotować do live codingu? Podziękować za taką ofertę pracy i szukać dalej. :)

1
supergosc napisał(a):

Czy są jakieś oczywistości, o które nie powinienem pytać na rozmowie typu: "czy mam napisać testy do tego czy zależy Wam tylko na implementacji?"

No taka rozmowa polega na komunikacji, więc jeśli zastanawiasz się, czy napisać testy, to pytasz. Zresztą popatrz, że będzie się raźniej pisało. Bo to jest zawsze dylemat:

  • czy pogrążyć się w myśleniu, żeby się skupić, ale ryzykując to, że ktoś nie będzie rozumiał, co robisz
  • czy gadać, ryzykując to, że przestajesz zwracać uwagę na kod, który piszesz, ale za to trzymając cały czas komunikację

Myślę, że na rekrutacji to drugie lepiej wychodzi. I możesz pokazać, że jesteś dobry przez głośne myślenie i mówienie tego, co robisz, a nie przez pisanie nie wiadomo czego.

A jak milczysz próbując się skupić, to jest taka krępująca cisza. I chyba nawet często łatwiej się skupić wtedy gadając do kogoś niż próbując coś wykminić w ciszy i czuć presję, że ktoś czeka.

3

Jak z kamerką, to bym założył chociaż T-shirta i się ogolił.
Poza tym to, albo umiem programować, albo nie umiem. Do tego nie da się przygotować w tydzień.

2

Z LC się nie przygotowuję, bo to nie ma większego sensu. Albo umiesz w kody, albo nie :P Inna kwestia to jakieś algo taski - Tutaj się grinduje. Jednak dopóki firma to nie fang, to takie algo jest na wyrost.

2

jak dla mnie to test w jakimś g**no-edytorku webowym z możliwościami notepad.exe nie ma żadnego sensu więc od razu bym zaproponował dzielenie ekranu i moje IDE którego bym u nich też na co dzień używał.

Miałem już takie testy, i jak najbardziej pytania w trakcie pisania lub nawet przed rozpoczęciem pisania są na miejscu, podstawowe algorytmy w danym języku na który się rekrutuje też warto sobie przypomnieć bo przecież na co dzień się od ich od nowa nie pisze - albo są w bibliotece standardowej danego języka, albo w jakimś frameworku którego się używa, albo się ma własne snippety napisane raz i używane wszędzie.

Zauważyłem też że jak podchodzi się bez stresu to wyniki są zazwyczaj lepsze niż jak się jest stremowanym no ale to łatwo mówić.

1
supergosc napisał(a):

Hej,

Przygotowujecie się w jakiś sposób do takiej rozmowy? Mam w przyszłym tygodniu serię takich rozmów - 90 minut live codingu, a ostatnio kodowałem na żywo ze 3 lata temu.

Najgorszy jest stres.
Jak piszesz że już się stresujesz to zrób co tam możesz aby się uspokoić.
Przez stres parę rozmów położyłem.
Najbardziej taka dotkliwa porażka to live coding, kazali mi napisać bubble sort
Ja się zastanawiam jak te bombelki mają lecieć, goście się patrzą no i poszło po całości.
Zdenerwowałem się że nie pamiętam, to porobione Poczym zdenerwowałem się że na głupka wyszedłem co prostego sortowania nie napisze. To była jedna z najgorszych rozmów w moim wykonaniu, bo jak zaczęło się sypać to nie umiałem tego opanować, a raczej była to spirala i droga w dół. Zagotowałem się i tyle..

To co mogę poradzić
Odpal sobie tutka (co tam lubisz) i pokoduj.
Ale i tak najważniejsze jest w głowie,jak umiesz opanować nerwy to spoko, jak już się stresujesz to możesz się spalić na rozmowie (nie znam ciebie to nie wiem jak reagujesz na stres, a jego okiełznanie to klucz do sukcesu )

2

Seta czystej i dwie kreski.

A tak na poważnie to zadania ze stron (nie ten numer co wpisujesz w inpucie pdfa, ale to co widać jako nr strony książki) 90, 91, 94, 95 oraz ich odpowiedzi:

http://englishonlineclub.com/pdf/Cracking%20the%20Coding%20Interview%20-%20189%20Programming%20Questions%20and%20Solutions%20(6th%20Edition)%20[EnglishOnlineClub.com].pdf
1

Dzień przed odpalam IntelliJ i sprawdzam czy pamiętam jak zaimportować projekt by się na starcie rozmowy nie zestresować że nie zapomniałem.

0

Ja się już dawno nie przygotowuje. Kluczem jest podejść do tego na luzaku.

Pamiętaj, że to że jakiś interviewer Cię odrzuci, to nie koniecznie dlatego że coś zrobiłeś źle; ale możliwe że również dlatego że po prostu szukają kogoś innego, albo sam interviewer nie ogarnia. Kiedyś nie przeszedłem interview, bo powiedziałem że da się ogarnąć polimorfizm samymi metodami wirtualnymi, nawet jak w języku nie ma interfejsów :D Gość widocznie był zmieszany i potem mi podziękowali.

4

Pamiętajcie zgrać konfigurację Eclipse na pendrive.

4

proste olewasz rekrutacje które nie są w twoim typie. Życie jest zbyt krótkie aby do każdej rekrutacji uczyć się różnych fikołków w szczególności ze mało kiedy przekłada się to na kasę. A przynajmniej nie na polskim rynku.

7
somekind napisał(a):

Poza tym to, albo umiem programować, albo nie umiem. Do tego nie da się przygotować w tydzień.

No nie - programowanie to jedno, jak nie umiesz programować to live coding raczej nie jest do przejścia.
Ale jak umiesz programować to nie znaczy, że przejdziesz - potrzebne są dodatkowe umiejętności.

U mnie działa - sesje z codinggame - robię proste zadanka i tłumaczę co robię.
Byście się śmiali, ale jak robię to po jakiejś przerwie to pierwsze sesje są dramatyczne - potykam się o własne nogi, tym niemniej 2-3 zadanka i się "naprawiam" - (chodzi pisanie i mówienie co się robi, tak żeby bardzo nie bredzić i samemu się nie rozpraszać).

Wyjątkowo brutalne jest nagranie sobie sesji z audio i odsłuchanie tego - jak ktoś kiedyś znajdzie taką u mnie na dysku i opublikuje to jestem przegrany w środowisku :-)

Tym, niemniej kilka katastrof szybko pozwala się nauczyć jak sobie jakoś radzić i potem wypada się często całkiem dobrze... ale nie zawsze.

Live coding lubię, jako formę oceniania przez mnie firmy... ale to niestety loteria - można mieć zły dzień, może być tak, że pytania pomocnicze od "sprawdzających" jeszcze bardziej pogrążają. Bywa.

Z plusów jak się do tego nie podejdzie "na luzie" tylko poćwiczy (tak samo jak wszelkie codility itp.) to potem się wypada istotnie lepiej od reszty. Miałem dwa przypadki, że po live codingu istotnie zmieniły się widełki płacowe na plus, a wcześniej były "nie do ruszenia".

2

Sprawa jest prosta:

  1. Jeżeli dostaniesz algo to znaczy że albo rekrutujesz się na stanowisko algorytmiczne, albo do FAANGu (lub firmy która myśli że nim jest), albo rekruterzy techniczni nie wiedzą czego chcą. Czyli generalnie raczej nie zdasz, bo nie napieprzasz tego codziennie, ale nie ma sensu się tym przejmować. Warto się spytać czy w projekcie dużo takich rzeczy się pisze.
  2. Jeżeli dostaniesz naklepanie czegoś branżowego to znaczy, że raczej będziesz to umiał, bo przecież siedzisz w tym co robisz?
  3. Jeżeli dostaniesz naprawienie buga, znaleźliście błędu itd to też sobie poradzisz bo to easy.

Zarejestruj się i dołącz do największej społeczności programistów w Polsce.

Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.