Co sądzicie o uczeniu się pod rozmowy kwalifikacyjne/konkretne firmy?

0

Nie wiem czy takie zjawisko występuje w polszy, ale co sądzicie o uczeniu się pytań pod daną firmę z różnych baz pytań, a następnie rekrutowanie co kilka miesięcy, aż się uda?

Istnieją różne mniej lub bardziej popularne serwisy z tematyki cs careers / algorytmiki, gdzie pojawiają się takie rzeczy

Microsoft | SWE | Redmond | Oct 2019 [No Offer]

YOE: 6

4 45 min rounds.
Each round had 5-10 mins of behavioral questions, and rest for problem solving.

Surprisingly no scalable system design round.

Round 1:

	https://leetcode.com/problems/rotate-array/

Round 2:

	https://leetcode.com/problems/implement-strstr/
	https://leetcode.com/problems/gas-station/

Round 3:

	https://leetcode.com/problems/pancake-sorting/ Not the exact same question, but highly similar.

Round 4:

	https://leetcode.com/problems/binary-search-tree-iterator/
	https://leetcode.com/problems/populating-next-right-pointers-in-each-node/

Struggled with the gas station problem - hadn't seen this before. Maybe thats why I did't get the offer.
Rest of the rounds were easy.

Resources used for preparation( not that it matters since I didn't make it):

	Leetcode ( ~250 problems, mostly mediums).
	Elements of Programming interviews( solved around 100 from this book, "used the 3 month plan", and around 10 from the Honors class section).
	Web Scalability for startup engineers :Artur Esjmont
	Grokking the system design interview
	Designing data intensive applications - Martin Klepmann( havent finished this one - it's a tough read).
	7 databases in 7 weeks - Eric Redmond
	Few blog posts on highscalability.com
	Amazon Interview Secrets: How to Respond to 101 Popular Amazon Leadership Principles Interview Questions by Martha Gage- I've prepared a STAR response format for each of these questions. Yes, it's specific to LP of Amazon, but the structure in answering questions to the point helps in most behavioral interviews for top tech companies.
	Microsoft specific - read company engineering blogs, and got a copy of "Hit Refresh" - Satya Nadella's autobiography as a light read on the flight to Redmond.

Might try again after 6 months.
0

Do pierwszje pracy? Lepszej pracy? Wymarzonej pracy?
Jeśli ktoś zaoferuje pracę w Scali na Górnym Śląsku mogę się pouczyć w domu.

0

Myślę, że takie zjawisko tyczy się amerykańskich molochów typu właśnie Microsoft, gdzie ilość ludzi wpadających w proces rekrutacji jest olbrzymia i trzeba jakoś ich odsiać, a też nikomu nie chce się (i nie ma to sensu) tworzyć tysięcy unikalnych pytań i testów, więc bierze się gotowca z leetcode czy hackerrank i jazda. Jasne, jeśli celem jest dostanie się do firmy minimalnym kosztem, a firma tylko takich skilli wymaga, to ma to sens, czemu nie? Ich reguły, gramy uczciwie według nich.

Natomiast nie spotkałem się w Polsce z czymś takim nigdy, chyba za mała skala.

10

Moim zdaniem jest to bez sensu. Możliwości są dwie:

  1. Rekrutacja ma sens i sprawdza konkretnie skille i wiedze które są potrzebne do wykonywania tej pracy. W takiej sytuacji uczenie sie "pod interview" oznacza, że może nawet uda ci się jakoś prześlizgnąć, ale na miejscu okaże się że albo sobie nie radzisz, albo że po prostu cię to nie interesuje. Bo skoro nie umiałeś tych rzeczy wcześniej, to widocznie nie jesteś nimi zainteresowany. No i dostałeś się co prawda do "wymarzonej pracy", ale albo cie z niej wyrzucą po okresie próbnym, albo sam się zwolnisz.
  2. Rekrutacja nie ma sensu i sprawdza jakieś bzdury nijak nie związane z pracą, którą miałbyś wykonywać. W takiej sytuacji warto zadać sobie pytanie, czy chciałbyś tam w takim razie pracować, skoro reszta zespołu też została zatrudniona w oparciu o takie kryteria. Tutaj istnieje duże ryzyko że trafisz na idiotów którzy powinni mieć sądowy zakaz pisania kodu, ale za to wyskillowali 17 metod liczenia fibonacciego pod interview.

Ani przypadek 1 ani 2 nie zachecają specjalnie do skillowania "pod interview".

edit: Dla jasności -> mówie tutaj o skillowaniu pod pytania na interview, a nie o zwykłą naukę nowych rzeczy! Jasne, ze jak ktoś uzna "hmm chciałbym programować statki kosmiczne" i zacznie uczyć się odpowiednich technologii i domeny żeby za kilka(naście) miesięcy próbować się gdzieś załapać, to jest to zupełnie inna sytuacja!

1

Mi się po prostu by nie chciało - uczę się tego co mnie interesuje i w sumie jak podczas interview padnie mi nieznany temat który mnie zainteresuje to go zgłębiam ale dla siebie a nie pod interview - wszystko w zasadzie sprowadza się do tego co @Shalom napisał

0

Ja 2 razy aplikowałem do jednej firmy, z kilkuletnim odstępem czasu.

Dostałem te same zadania w Codility, tylko, że za drugim razem zrobiłem je w Pythonie zamiast w C++ (tak.. ta firma jest dość wszechstronna, jeśli chodzi o technologie), no i miałem już trochę większego expa, więc lepiej ogarnąłem te zadania i się dostałem.

2

Uczyć się warto cały czas, a przed interview warto sobie odświeżyć swoją wiedzę. Na co dzień w pracy każdy pewnie siedzi w jakiejś wąskiej działce i nie pamięta wszystkiego co potrafił, warto więc sobie to wszystko przypomnieć żeby zrobić dobrze wrażenie. Nie bardzo widzę zalety pójścia na jakąkolwiek rozmowę z marszu, bez żadnej nauki.

Co do nauki LeetCode (i System Design) i wielokrotnego podchodzenia do rekrutacji to też uważam, że warto, bo niby czemu nie? Rekrutacja do FAANG to taka trochę gra. Może jest głupia, a może nie, ale wygląda na to że lepszej nie wymyślono. Jeżeli komuś zależy żeby tam pracować to trzeba po prostu nauczyć się tego co wymagają i próbować do skutku. Jak się uda to można mieć spoko prace, spoko pieniądze, fajny wpis w CV i może uda się też trochę pozwiedzać świata. Można też narzekać, że te ich testy IQ są głupie lub honorowo uznać, że się nie nadajemy i dalej siedzieć w swojej smutnej firmie. Tylko po co, i tak nikt tego potem nie doceni. Trzeba zrobić to co trzeba i cieszyć się sukcesem. :)

W sumie mniej więcej o tym był wczorajszy odcinek The TechLead: :D (Disclaimer: miałem takie zdanie już wcześniej, nie jest ono inspirowane tym filmem :D )

0

@tdudzik:

Nie bardzo widzę zalety pójścia na jakąkolwiek rozmowę z marszu, bez żadnej nauki.

Jeżeli ktoś idąc z marszu dając z siebie < niż 90% potrafi sensownie pogadać, to oznacza, że jest w tym biegły i doświadczony.

Też trochę uczciwość, bo sprzedajesz to, w czym faktycznie jesteś ekspertem, a nie doczytujesz jakieś tam pdfy i dokumentacje na kolanie w drodze na rozmowę i próbujesz coś ugrać na zasadzie, a może padnie tylko pytanie kontrole "co to te XYZ" bez wchodzenia w szczegóły i zostanie zaliczone jako "umie"

4

@WeiXiao: Jeżeli ktoś pyta o rzeczy które można doczytać w drodze na rekrutacje to problem jest z rekrutacją a nie kandydatem. A co do uczciwości to cóż, w moim interesie jest dostać się do pracy, w interesie pracodawcy jest przyjęcie jak najlepszych pracowników. Dlatego ja będę robił wszystko żeby się dostać, a niech pracodawca się martwi jak odsiać tych co się nie nadają.

Oczywiście nie popieram oszustw, typu jakieś ściąganie na etapach zdalnych czy cokolwiek. Nauki pod rekrutację nie uznałbym jednak za oszustwo.

0

wielokrotnego podchodzenia do rekrutacji to też uważam, że warto, bo niby czemu nie?

Nikt nic nie mówił o wielokrotnym podchodzeniu ;) Też nie widzę w tym nic złego, a już szczególnie jeśli rekrutujesz się gdzieś gdzie są konkretne openingi, a nie "generalna rekrutacja".

Rekrutacja do FAANG to taka trochę gra. Może jest głupia, a może nie, ale wygląda na to że lepszej nie wymyślono

Z tym się nie zgodzę. Jest wiele miejsc, które rekrutują dużo lepiej i sensowniej :)

Jeżeli komuś zależy żeby tam pracować to trzeba po prostu nauczyć się tego co wymagają i próbować do skutku. Jak się uda to można mieć spoko prace, spoko pieniądze, fajny wpis w CV i może uda się też trochę pozwiedzać świata.

To prawda, jeśli komuś koniecznie zależy na pracy w X, nawet jeśli ta praca zupełnie nam nie odpowiada i nas nie interesuje. Ale jest tu poważne ryzyko -> złota klatka. Mam trochę takich znajomych, którzy są bardzo niezadowoleni z pracy, ale jej nie zmienią bo nie dostaną nigdzie takich warunków. I tak sobie spędzają pół życia w miejscu, którego nie lubią robiąc rzeczy których nie chcą. I to wszystko w imię czego? ;)

0

@Shalom: trafiles moze kiedys w Krakowie na firme gdzie nie pytali o bzdury na rekrutacji ?

4

Wg mnie to jest trochę pytanie z gatunku "czy warto się uczyć do matury ?". Myślę że tu nie chodzi o to że ludzie mają obsesję na punkcie jakiejś firmy, tylko raczej o to że jak chcesz gdziekolwiek dostać pracę to musisz zwyczajnie się wytrenować w przechodzeniu interview. Być może w pracy okaże się że się nie nadajesz, ale może też się okazać że się nadajesz - a bez treningu masz małe szanse na to że w ogóle będzie ci dane to sprawdzić.

4

Nie bardzo widzę zalety pójścia na jakąkolwiek rozmowę z marszu, bez żadnej nauki.

@tdudzik - Uczę się ciągle, albo w pracy rozwiązuje nowe problemy, albo po pracy coś ćwicze. Nie wertuję jakiś materiałów przed samą rozmowa, nie szukam bazy pytan. Albo umiem albo nie umiem, nie widze sensu, no chyba że nowa praca miałaby wymagac jakiejś nowej umiejętności, np. przechodziłbym na Scala developera

0

Jeżeli cel to praca w FAANG to możliwe, że będzie trzeba uczyć się "pod firmę". Według mnie to jest ok. Czasami rekrutacja celowo jest bardzo specyficzna aby odsiać część osób które nie są, aż tak zdeterminowane aby szlifować skillsy pod konkretną firmę.

0

@scibi92: jak sobie powtarzasz wiedzę na bieżąco to przecież wychodzi na to samo. Rozmowa jest podobna do egzaminu na studiach. Uczysz sie caly semestr ale w sesji wypada jednak coś powtórzyć żeby dobrze wypaść w ograniczonym czasie. Jak zagłębie sie np w GC, a potem przez 2 lata nie będę korzystał z tej wiedzy, to przed rozmową sobie ją odświeże, bo czemu mam wypaść źle na rozmowie skoro cos umiem ale w danej chwili nie pamiętam? Alternatywnie po co mam na bieżąco sobie to przypominać skoro nie potrzebuje?

0

Ja uważam, że jest to ok. Często niektóre dobre firmy mają dziwaczne procesy rekrutacyjne lub dziwne kryteria oceny. Jeśli ktoś takiej rekrutacji nie przejdzie, to nie znaczy, że nie nadaje się do pracy lub jest gorszym programistą tylko, że nie wstrzelił się w proces rekrutacyjny. Co do firm typu FAANG, to są nawet książki opisujące, jak się przygotować do rozmowy. Nawet jeśli poświęcimy czas na naukę takich rzeczy i nie dostaniemy się do danej firmy, to nie uważałbym tego za czas stracony, bo jest to wkład we własny rozwój i niewykluczone, że za którymś podejściem komuś uda się do danej firmy dostać. Do firmy typu Google niektórzy aplikowali po 10 lub więcej razy zanim się dostali.

0

Mam nadzieję, że to szaleństwo pod tytułem "Grind Leetcode" kiedyś się skończy. Aktualnie sam biorę w tej grze* udział i boli mnie już głowa. Niestety jest to wysoce czasochłonne zajęcie. Można by wręcz rzec, że to dyskryminacja osób mających małe dzieci.

Błędne koło niejako. Ludzie uczą się "na pamięć" patternów zadań z Leetcode. Firmy zadają coraz trudniejsze pytania. Kandydaci robią jeszcze więcej zadań aby sprostać wymaganiom.
Mam wrażenie, że w pewnym momencie to nie będzie miało sensu. Ten sposób rekrutacji, nie będzie dawał żadnych miarodajnych sygnałów czy ktoś jest solidnym progamistą - skoro wszyscy zamiast prawdziwego programowania uczą się kolejnych LC.

Mamy 2019 rok. Jest jak jest. LC rządzi światem rekrutacji w big N. Dziś zadania z rekrutacji Googla sprzed 5 lat są oznaczone jako "easy" na leetcode.com. Aktualnie bez Dynamic Programming, Greedy i innych LFU/LRU Cache w 20min nawet nie podchódz.

*Od Amazona dostałem na phone screen bardzo podobne zadanie:
https://leetcode.com/discuss/interview-experience/302164/google-l3-phone-interview-family-tree-reject

0

@InterruptedException: Wydaje mi się, że w tego typu zadaniach nie trzeba się uczyć wszystkiego na pamięć. Z tego, co zauważyłem, trzeba najpierw dobrać odpowiednią strukturę danych do problemu. Np. stos, listę, tablicę lub graf (jak w przypadku Twojego zadania), a następnie dobrać odpowiedni algorytm lub kombinację algorytmów do zadania - przeszukiwanie grafu, wyszukiwanie ciągu, minimum, maksimum, analiza danych na stosie, dodanie/usuwanie elementów ze stosu itd. Sam jestem w trakcie porządkowania wiedzy z tego zakresu. IMO uczenie się tego na pamięć jest bez sensu. Wg mnie można się nauczyć np. 2 lub 3 popularnych algorytmów i to wszystko. Takie zadania jak dynamic programming są dość trudne na tle pozostałych i myślę, że tego typu problem mało kto byłby w stanie dobrze rozwiązać na krótkim interview. Wiem, że łatwo się tak wymądrzać "na sucho". Jak się kiedyś dostanę do jakiejś firmy z taką rekrutacją, to wrócę do tematu. ;)

Co do pytań, to ja kiedyś od Googla dostałem:

  • wyszukiwanie podciągu w ciągu
  • znajdywanie drogi przejścia z punktu A do B w labiryncie
  • sprawdzanie czy ciąg znaków jest "balanced" (tj. czy ułożenie nawiasów różnego typu w ciągu się zgadza)
0

Pociag w ktorym wystarczylo ogarnac sliding windows, bfs i binary search juz daaawno odjechal.

Oczywiscie ze nie nalezy sie uczyc konkretnch zadan na pamiec. Chodzi o to ze tych algorytmow i specyficznych podejsc jest o wiele wiecej niz 3-4.

Tak na szybko to wymienilbym z 20. Do kazdego warto przerobic kilka kilkanascie zadan abu sobie utrwalic. Np union find czy topoligical sort. A jezeli chodzi o DP to nie wiem czy istnieje bezpieczna ilosc aby czuc sie w tym temacie "pewnym".

Nawet wyszukiwanie substringow w O(n) trzeba niejako zapamietac. Zrobilem juz 3 razy zadnia w ktorym implementowalem z glowy rabin-karpa a i tak mialbym pewnie probkemy zeby to powtorzyc w ciagu 20min.

0

Uważam, że warto wiedzieć coś ogólnie o firmie, do której się wybieramy na rozmowę - czym się zajmuje, etc. No i trzeba ogarniać stack technologiczny obecny w firmie, przecież rozmowa może być nieprzewidywalna, np. podczas opowiadania osobie rekrutującej o swoich projektach i doświadczeniu. Ale nie chodziłem na wiele rekrutacji, więc to co mi się wydaje może być błędne.

0
tdudzik napisał(a):

@scibi92: jak sobie powtarzasz wiedzę na bieżąco to przecież wychodzi na to samo. Rozmowa jest podobna do egzaminu na studiach. Uczysz sie caly semestr ale w sesji wypada jednak coś powtórzyć żeby dobrze wypaść w ograniczonym czasie. Jak zagłębie sie np w GC, a potem przez 2 lata nie będę korzystał z tej wiedzy, to przed rozmową sobie ją odświeże, bo czemu mam wypaść źle na rozmowie skoro cos umiem ale w danej chwili nie pamiętam? Alternatywnie po co mam na bieżąco sobie to przypominać skoro nie potrzebuje?

@tdudzik Masz rację że wychodzi na to samo, tylko ja wychodze z założenia że ja się ucze dla siebie i szukam takiej pracy, projektów itd. w której moge wykorzystac to co mnie interesuje. Ja na przykład o GC staram sie pamiętać cały czas, i co do zasady ogólną zasadę działania GC pamiętam, tyle ze mnie to po prostu interesuje. No i dodatkowo oprócz tej pamięci w komputerze interesuje mnie ludzka pamięc, więc na tym polu mam znaczną przewagę - odpowiednie techniki i człowiek zapamięta, może nawet słowa z angielskiego raz sie nauczyc i zapamiętac na długo/ na zawsze :)

0

@scibi92: no jeżeli potrafisz coś zapamiętać na tak długo to gratuluje. :) ja akurat po 1. pamięć mam dość słabą, a po 2. nie lubię pamiętać o rzeczach których nie używam. :) Dlatego np. przed rozmową być może powtórzyłbym sobie np. to: https://restfulapi.net/richardson-maturity-model/ , bo kiedyś dostałem o to pytanie i nie pamiętałem szczegółów, mimo że na pewnym etapie je znałem. Inna sprawa to sensowność takiego pytania, bo możesz albo wiedzieć i będziesz miał punkt dodani, lub nie wiedzieć i będziesz miał punkt ujemny. Tylko, że to w praktyce nie ma znaczenia, bo albo firma się już stosuje do tych zasad i musisz je tylko zrozumieć i stosować, albo się nie stosuje i... w sumie po co wtedy o to pytać? :)

2

@tdudzik: tez kiedyś myslałem że miałem słaba pamięc, okazało się że miałem nie wyćwiczoną. Niestety w szkole nie ucza o najważniejszej rzeczy dotyczącej pamięci
Przykład:
Wyobrażasz sobie że podchodzisz pod blog, tam Albert Einstein trzyma w ręce światłowody. Gdy podchodzisz do mieszkania przed dzwiami masz złączki do węży w kształcie ramek. Poźniej wchodzisz do kuchni, tam widzisz paczki w wielkich sieciach rybackich. Przechodzisz do salonu, tam z kolei jest ciężarówka transportowa. Przechodzisz do kolejnego pokoju, tam widzisz zakuwających do sesji. Kolejny pokój to Jarek obowiadający o drop database. A na koniec widzisz testerów z firmy, którzy testują aplikacje które piszesz.
I tak właśnie przypominasz sobie z czego składa się model OSI :)

0

ja chcialabym byc w ogole zapraszana na rozmowy :(

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