Przetrzepanie z algorytmów i struktur danych jak w Stanach

2

Nie znam bliżej tematu, tylko to co na różnych prezentacjach na YouTube i z opowieści dwóch kolegów, jeden zakotwiczył w Bostonie, drugi prawie w USA, w Vancouver.
Mówią mniej więcej tak, stary, weź się porządnie za DS&A bo w Polsce tego nie ma na rekrutacjach a tu interview potrafi trwać cały dzień i przemaglują cię albo nawet rozjadą cię walcem przy pseudokodzie na tablicy.

Nie byłem, nie aplikowałem, nie znam się.

Ciekawi mnie, czy w Polsce są firmy do których aplikuje się nie typowo, przez wykazanie się liczbą miesięcy doświadczenia komercyjnego we Framework-A, ale na taki styl amerykański. Kusi mnie, żeby spróbować takiej rekrutacji w Polsce.

Acha, wiem, wysiadam przy Rondzie ONZ i mam co chciałem. ;p Ale nie o to mi chodziło.

0

Nie do konca rozumiem pytanie, bo najpierw piszesz o rekrutacjach poprzez algo, a następnie przez framework. Jesli chodzi o rekrutacje przez algorytmy, to w Polsce rekrutują tak Google i amazon czyli właśnie amerykańskie korpo. Rekrutuje tak tez np. u2i, gdzie robi sie dla amerykańskich klientów. Dużo firm rekrutuje przez codility, ale nie jest to główne kryterium. W niektórych miejscach możesz pisac testy lub dostać z tego pytania., np. w Sollers lub Sabre.

Nie do konca rozumiem co oznacza inteligentna rekrutacja przez frameworki. Dla każdego moze oznaczać co innego. Zdarzają sie rekrutacje w których trzeba przerobić jakiś kod, żeby byl napisany w lepszym stylu itp., pewnie o to chodzi, a nie o 1 z dziesieciu, gdzie można wykuć pytania z internetow.

0

Poprawiłem. Interesuje mnie czy, gdzie, w Polsce, onsite interview przebiega w sposób i co do wymagań podobnie jak po drugiej stronie Atlantyku. Nie przez Codility a np. w długiej rozmowie przy białej tablicy. O Google i Amazon słyszałem.

1

Chcesz sobie z kimś porozmawiać o informatyce, że tak cię do tej tablicy ciągnie? ;)

0

Jak najbardziej, jeden z przykładów to Bravura - ~2-3h z czego godzina to luźna rozmowa o doświadczeniu z pytaniami co i jak zostało rozwiązane w projekcie (który jest w cv), później trochę kodowania przy tablicy i na koniec kilka zdań z algorytmów itd przy czym sprawdzają czy wiesz jaka jest złożoność obliczeniowa Twojego rozwiązania itd

0

@boska_cebula nie mam na myśli omawiania przerabianych tutoriali, kursów Udemy i projektów na githubie które są w CV. Prawdziwe projekty nie mogą wyjść poza pracę, więc nie ma co ich omawiać w szczegółąch bo non-disclosure agreement

Chyba, że źle to opisałeś

2

Wszędzie tam gdzie porusza się tematy niskopoziomowe (sterowniki, kernel, bare metal) bardzo wypada znać przynajmniej podstawowy zestaw wałkowany w Polsce na studiach informatycznych.

Do tego przy przetwarzaniu sygnałów (grafiki, video, dźwięku, ciągów czasowych itp.) na słabszym sprzęcie czy pod ścisłymi rygorami czasowymi.

Gamedev teoretycznie powinien też podpadać tutaj - w wydaniu gdzie pracuje się nad własnym silnikiem.
Silniki gier (zwłąszcza te z proceduralną generacją contentu), silniki obliczeniowe, programy graficzne, analiza danych - tam od struktur danych i algorytmów na nich operujących powinno się zawsze roić.

Ogólnie to głównie chodzi na takich rozmowach o pracę o kolejki, grafy, listy, sortowania. tablice haszujące, przeglądania grafów, drzewa rozpinające, najkrótsze ścieżki w grafie. Takie "podstawy z Cormena". W zasadzie jak się ogarnia tematy z algorytmiki i struktur pokroju tego co prezentuje się na UJ (zwłaszcza na wydziale Matematyki i Informatyki była tam zawsze rzeźnicko dokładnie maglowane na ćwiczeniach gdzie musiałeś implementować zadania w C tak by się wyrabiały w normach czasowych testów automatycznych) czy UW (na tym słynny "ważniaku" masz zamieszczone treści tam poruszane), to powinno się wypadać w miarę solidnie na rozmowach w te klocki - bo to podstawy do zrozumienia w zasadzie praktycznie większości obecnie stosowanych rzeczy i daje podstawy do przyswajania potem kolejnych rzeczy.

Bardziej rozbudowane zahaczą pewnie, zależnie od profilu typowych projektów - o programowanie dynamiczne, metody numeryczne, języki formalne (automaty, parsowanie, translacja), algorytmy genetyczne i inne atrakcje.

Weź na początek Cormena do ręki czy na czytnik e-book i tam będzie solidny start jeśli chodzi o zakres materiału. Ta publikacja to swego rodzaju złoty standard.

0

Nie chodziło mi o wskazywanie Cormena ani kiedy powinny takie tematy się pojawiać ani domeny gdzie powinien na nie być położony nacisk.Jak wyglądają studia na takich uczelniach wiem, bo jedną udało mi się ukończyć z dyplomem. Ciekawi mnie gdzie i czy w Polsce, nie licząc G i A, onsite interview jest prowadzony podobnei do tego co jest prezentowane na YouTube albo co mówią koledzy po przeprowadzce za Atlantyk.
Oczywiście przeprowadzka do Warszawy ma niewiele wspólnego z wyjazdem na stałe do Vancouver ale zdaję sobie sprawę, że opowieści to jedno, rzeczywistość wygląda inaczej. Jak sobie wyobrażałem życie i pracę w stolicy, co opowiadam w domu, jak jest naprawdę to trzy, trochę lub więcej różne sprawy.
O tym maglowaniu 2 + whiteboard dużo słyszałem, nigdy nie widziałem. Zastanawiam się czy naprawdę to takie (tam) powszechne i dlaczego w Polsce prawie nie stosowane.

0

Analogicznie w firmach powiązanych z tym o czym pisałem. Myślałem, że to jasne. ;) Trochę ich jest w kraju.
Ja osobiście byłem odpytywany przy okazji rekrutacji w embedded z tych tematów.
Zaś w Warszawie w Codelime się z możesz spotkać z algorytmami i strukturami danych na pewno - z tego co wiem. Więcej na dany moment nie przypominam sobie z nazwy.

4

Ostatnio Kurt wypowiadał się na ten temat na Quorze: https://www.quora.com/How-do-you-approach-a-tough-algorithm-question-on-a-technical-software-engineer-interview/answer/Kurt-Guntheroth-1

więc nawet Amerykanie przyznają, że wiedza potrzebna dla potrzeb przejścia interview, w * większości przypadków * nie przyda się w pracy ani razu.

0

Jak to jest, że tutaj piszecie, jakoby w stanach była jakaś duża presja (bo pojawiają się na rozmowach) na te algo i ds, co sugerowałoby, że ludzie faktycznie coś więcej tam z tego robią, a na competitive[0] / hackerrankach[1][2] / poziomie z matmy[3] tego nie widać?

Czy to może tylko topowe firmy coś tam chcą z tych algo, a ogólnie całe stany wypadają normalnie w porównaniu do reszty?

A może poziom z tych algo i ds jest niezbyt wysoki na rozmowach?

[0] http://stats.ioinformatics.org/countries/?sort=total_desc
[1] https://blog.hackerrank.com/which-country-would-win-in-the-programming-olympics/
[2] https://www.freelancinggig.com/blog/2018/12/20/top-10-countries-with-the-best-computer-programmers/
[3] http://factsmaps.com/pisa-worldwide-ranking-average-score-of-math-science-reading/

0

Leetcode (+ system design oczywiscie) w Polsce to m.in.
Google Warszawa
Amazon Gdansk
Qualtricks Krakow

Wiekszosc firm w kraju jednak pozostaje przy standardowym procesie.

1

Jak ktos pisze kolejny sklep internetowy to generalnie na co to komu? Generalnie uważam że powinno sie orientowac w zagadnieniach teoretycznych trochę (np. jaka jest złożonośc kolekcji czy algorytmów sortowania), ale kazanie zaimplementowania quick sortu na tablicy mija się dla mnie z celem. Ogolnie to powinno sie weryfikowac raczej czy ktos umie SOLID, pisac testy czy nazywac zmienne, wie co to N+1 a nie 1024 algorytmy sortowania :D
No chyba że taka wiedza potrzebna, w takim Hazelcaście czy Googlu może być

0

Nie przez Codility a np. w długiej rozmowie przy białej tablicy

to

Qualtricks Krakow

odpada, chyba że ostatnio coś zmienili w procesie.

Jeśli chodzi o taką rozmowę, o którą pytasz to ja miałem taką np. w Codewise w Krakowie.

0

Kiedyś jak miałem mniejsze doświadczenie to raczej standardowo pytania o te algorytmy się pojawiały. Teraz już takich pytań nie spotykam na rekrutacjach.

0

Insert we Wrocławiu kiedyś trzepał z jakiś list 1-kierunkowych, z rotowań drzewa, z chodzenia po grafie etc. przy tablicy. KRD robi jakieś głupie testy na inteligencje rodem z joemonster (typu trzeba odwrócić kartę z zadaniem, do góry nogami, żeby znaleźć rozwiązanie), a do tego jakieś ciekawe zadanie które zamiast algorytmem powinno się rozwiązać matematycznie i sprawdzają, czy na to się wpadnie oraz live coding z pisania testów. W paru innych firmach to sprawdzenie jak coś sie rozwiąże z użyciem frameworków etc. ale chodzi o konkretny problem, więc dobrze to robią. W niektórych firmach to spotkałem się z testem abcd i potem paroma pytaniami co to Singleton i jak działa GC. Generalnie to pokazuje, że jest w Polsce caaaaaały przekrój sposobów rekrutacji - czasami męczysz tablice, czasami piszesz live, czasami dostajesz test, czasem rozmowa o pierdołach,a czasami o architekturze. Niemniej przerobienie Cormena dobrze zrobi bo to powinien każdy wiedzieć i każdy powinien zaimplementować dowolna listę świeżo po przebudzeniu, tak jak żołnierz rozkładanie i składanie AK47. O dziwo nigdy się nie spotkałem z testami online typu codility etc. ale też dawno nie rekrutowałem, a tym bardziej na juniora.

0

Ja tam w swojej pierwszej praacy tez musialem przy tablicy rozwiazywac jakies proste problemy algorytmiczne, jakbym zaimplementowal struktury danych, jaka zlozonosc obliczeniowa co lepsze do czego itd. Od tego jednak momentu( 1 praca) nie spotkalem sie z tym wiecej.

7

Napocicie się na rekrutacjach z algorytmów, a później w pracy będziecie robić
SELECT * FROM users;

Prawda jest bolesna ale na rekrutacjach zazwyczaj jest jakiś sfrustrowany pajac, który naparza pytaniami (ciekawymi) na które częst ociężko wyczarować odpowiedź z głowy. A jak już przebrnie się przez taką farsę to nie ma na co dzień nic z tego co było na rozmowie. Taki obraz tych śmiesznych firm w tym kraju.

Rok temu kolega zrekrutował się po 7h rozmów, i testow. Był szczęśliwy, że robota będzie wymagająca, bo rekrutacja ciężka. Jak bardzo się chłop zdziwił jak przyszedł do roboty, i po dwóch tygodniach rzucił ją w cholerę, bo rzeczywistość okazała się zupełnie inna.

2

Ja teraz pracuję jako junior w trzyosobowej firmie, z pytań było większość z algorytmiki oraz kilka z podstaw OOP i baz danych, szef stwierdził że jak z algorytmiką sobie radzę to i z wygooglaniem składni języka też dam radę.

0
axde napisał(a):

Napocicie się na rekrutacjach z algorytmów, a później w pracy będziecie robić
SELECT * FROM users;

Prawda jest bolesna ale na rekrutacjach zazwyczaj jest jakiś sfrustrowany pajac, który naparza pytaniami (ciekawymi) na które częst ociężko wyczarować odpowiedź z głowy. A jak już przebrnie się przez taką farsę to nie ma na co dzień nic z tego co było na rozmowie. Taki obraz tych śmiesznych firm w tym kraju.

Rok temu kolega zrekrutował się po 7h rozmów, i testow. Był szczęśliwy, że robota będzie wymagająca, bo rekrutacja ciężka. Jak bardzo się chłop zdziwił jak przyszedł do roboty, i po dwóch tygodniach rzucił ją w cholerę, bo rzeczywistość okazała się zupełnie inna.

Bingo, najlepszym dowodem jest to że programiści którzy długo nie brali udziału w rekrutacjach (powyżej roku), muszą się poduczyć żeby nie odpadać na rozmowach kwalifikacyjnych. To tak jakby kierowca z kilkuletnim doświadczeniem przy zmianie pracy musiał powtarzać kurs na prawo jazdy bo nigdzie się nie dostanie. Ta sytuacja jest moim zdaniem jedną z kluczowych przyczyn mitu o braku programistów na rynku.

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