Algorytmy na rozmowie kwalifikacyjnej

Odpowiedz Nowy wątek
2017-04-07 03:45

Rejestracja: 3 lata temu

Ostatnio: 3 lata temu

0

Niedługo będę się starał o pracę na juniora Java. Czytałem, że często na rozmowach rekruterzy proszą o zaimplementowanie danego algorytmu. Ta strona http://www.algorytm.org chyba ponad 100 algorytmów. Których polecacie się uczyć?

Pozostało 580 znaków

2017-04-07 04:22

Rejestracja: 6 lat temu

Ostatnio: 2 miesiące temu

3

Są książki typu "cracking coding interview", które opisują te najczęściej spotykane zadania/algorytmy na rozmowach kwalifikacyjnych. Jest to trochę kucie pod egzamin, ale póki nie masz kilku lat doświadczenia to raczej nie możesz wybrzydzać, że takie pytania są trochę durne i nijak się mają do codziennej pracy statystycznego programisty.

Pozostało 580 znaków

Bogaty Rycerz
2017-04-07 06:10
Bogaty Rycerz
0

Jest to trochę kucie pod egzamin, ale póki nie masz kilku lat doświadczenia to raczej nie możesz wybrzydzać, że takie pytania są trochę durne i nijak się mają do codziennej pracy statystycznego programisty.

Świeta racja!

Pozostało 580 znaków

Arze
2017-04-07 08:12
Arze
1

Ja lubie takie pytania, bo lubie prace z inteligentnymi ludzmi. Ważne zeby to nie byla podstawa rekrutacji, tylko dodatek. Prosty algorytm i proste zadanie na złożoność obliczeniową dużo mówi o kandydacie i bardzo sobie chwalę, że jest to u mnie część rekrutacji na programistów i testerów.

Pozostało 580 znaków

Uczynny Młot
2017-04-07 09:59
Uczynny Młot
0

Ja z kolei chciałbym się dowiedzieć czy na rekrutacji zdarzają się zadania z matematyki?

Pozostało 580 znaków

2017-04-07 10:09

Rejestracja: 3 lata temu

Ostatnio: 1 rok temu

7

Tak, mi kazali np. udowodnić że dla równania a^n + b^n = c^n dla a, b, c nie istnieją liczby naturalne większe od 2 które spełniałyby to równanie. Było ciężko ale ostatecznie dostarczyłem im spójny dowód i dostałem pracę.


--
Annuit Coeptis
edytowany 1x, ostatnio: loza_szydercow, 2017-04-07 10:10
E tam ciężko... Dowód jest zadziwiająco prosty tylko brak tu miejsca by go opisać :-) - Mokrowski 2017-04-07 10:20
w języku polskim nazywamy to skrótem WTF :-) jestem ciekaw jak to udowodniłeś. Pozdrawiam. - Aryman1983 2017-04-07 20:13
@fermat tez mial podobne pytanie ale niestety nie wiedzial jak udowodnic - krwq 2017-07-31 22:38
To pewnie przez efekt Flynna, dziś jesteśmy dużo bardziej inteligentni niż kiedyś - loza_szydercow 2017-07-31 22:42
No właśnie... ktoś powinien pełnić niewdzięczną rolę tłumaczącego dowcip :-) Eh ;-) - Mokrowski 2017-08-01 23:03

Pozostało 580 znaków

OfermaT
2017-04-07 10:14
OfermaT
0
loza_szydercow napisał(a):

Tak, mi kazali np. udowodnić że dla równania a^n + b^n = c^n dla a, b, c nie istnieją liczby naturalne większe od 2 które spełniałyby to równanie. Było ciężko ale ostatecznie dostarczyłem im spójny dowód i dostałem pracę.

Istnieją! Tylko dowód gdzieś mi się zapodział

Pozostało 580 znaków

Trzeźwy Kret
2017-04-07 10:36
Trzeźwy Kret
0

Problem na rekrutacjach jest taki, że osoby pytające o algorytmy sprawiają wrażenie, jakby miały je wykute na pamięć, zupełnie bez zrozumienia tematu.
np. Na jednej rozmowie gość kazał mi posortować liczby z przedziału 1~100, to posortowałem je RADIXEM, a on na to, że powinienem był posortować Quicksortem, "bo jest najszybszy".
Gość miał wkute, że złożoność obliczeniowa jest nlnn, ale już to kiedy się on nadaje, ani to, że Radix ma złożoność n to już zupełnie nie wiedział.
Jak powiedziałem o tym, że quicksort wielowątkowo się zupełnie nie nadaje, to chyba przkroczyłem jakąś barierę, bo zaczął się dziwnie emocjonalnie zachowywać.

Same zadania algorytmiczne też nie bardzo mają sens bo:

  1. Przydatne algorytmy mają juz gotowe, przetestowane i zoptymalizowane implementacje, więc to trochę jakby pisać mavena od nowa(w sumie w JS tak robią, ale to jeszcze nie znaczy, że to dobry pomysł)
  2. Nikt logiczny nie może oczekiwać, że ktoś zestresowany w godzinę wymysli jakiś sensowny algorytm
  3. Odwalenie pamięciówki bez zrozumienia tematu - bo to jest prawdzane - jest beznadziejnym pomysłem.

Trochę się posprzeczaliśmy, a firma później nawet nie odpisała więc trochę hejtuję i nie sugeruj się za bardzo tym co napisałem.

@loza_szydercow
10/10 :D

Pozostało 580 znaków

Brunatny Kura
2017-04-07 10:40
Brunatny Kura
0
programista0k napisał(a):

Niedługo będę się starał o pracę na juniora Java. Czytałem, że często na rozmowach rekruterzy proszą o zaimplementowanie danego algorytmu. Ta strona http://www.algorytm.org chyba ponad 100 algorytmów. Których polecacie się uczyć?

Na pewno każdy szanujący sę koder powinien umieć szczelić z palca heapsortem,
implementacją tablicy haszującej i operacjami na niej, listą jedno i dwukierunkową i operacjami na niej, implementacją grafu. Takie tam podstawowe podstawy z 1szego roku studiów. Ale wątpię co by na programistę Java, czyli funkcję małpy kodującej pytali o tak "zaawansowane" rzeczy. xD Chyba, a jak tak to pewnie rozmawiamy o posadzie gdzie zaczyna się wynagrodzenie o jakiś tysiak więcej niż normalnie na juniora. xD

Pokaż pozostałe 4 komentarze
Albo co się lubi robić w wolnej chwili. - nalik 2017-08-01 23:01
Są różne zboczenia i fetysze ale żeby się z tym publicznie obnosić? Nie może być. - loza_szydercow 2017-08-02 00:44
@hyde: Nawet małpa mając dostatecznie dużo czasu stworzy z czasem Sonety Krymskie - loza_szydercow 2017-08-02 00:46
@loza_szydercow: Jeden będzie zgłebiał wiedzę z informatyki, drugi np. z historii, nlp i erystykę. Co kto lubi ;) - nalik 2017-08-02 00:51
Yep, i najśmieszniejsze w tej historii jest to że skończą tak samo :) - loza_szydercow 2017-08-02 01:01

Pozostało 580 znaków

Brunatny Kura
2017-04-07 10:43
Brunatny Kura
0
Uczynny Młot napisał(a):

Ja z kolei chciałbym się dowiedzieć czy na rekrutacji zdarzają się zadania z matematyki?

Tak. Na jakichś, na jakieś stanowisko, na pewno.

Pozostało 580 znaków

Brunatny Kura
2017-04-07 10:49
Brunatny Kura
0
Trzeźwy Kret napisał(a):

Problem na rekrutacjach jest taki, że osoby pytające o algorytmy sprawiają wrażenie, jakby miały je wykute na pamięć, zupełnie bez zrozumienia tematu.

To znacy, że jesteś za dobry do tej firmy xD

np. Na jednej rozmowie gość kazał mi posortować liczby z przedziału 1~100, to posortowałem je RADIXEM, a on na to, że powinienem był posortować Quicksortem, "bo jest najszybszy".

A umiał to udowodnić za pomocą dowodu? xD

Gość miał wkute, że złożoność obliczeniowa jest nlnn, ale już to kiedy się on nadaje, ani to, że Radix ma złożoność n to już zupełnie nie wiedział.
Jak powiedziałem o tym, że quicksort wielowątkowo się zupełnie nie nadaje, to chyba przkroczyłem jakąś barierę, bo zaczął się dziwnie emocjonalnie zachowywać.

A umiał się przyznać do niewiedzy?

Same zadania algorytmiczne też nie bardzo mają sens bo:

  1. Przydatne algorytmy mają juz gotowe, przetestowane i zoptymalizowane implementacje, więc to trochę jakby pisać mavena od nowa(w sumie w JS tak robią, ale to jeszcze nie znaczy, że to dobry pomysł)

Nie przesadzajmy, na programistę niskopoziomowego mają jak najbardziej. I w kilku innych przypadkach zapewne również. Ale to nie są stanowiska gdzie szare małpy kodujące kiedykolwiek wetkną chociaż swój czubek nosa.

  1. Nikt logiczny nie może oczekiwać, że ktoś zestresowany w godzinę wymysli jakiś sensowny algorytm
  2. Odwalenie pamięciówki bez zrozumienia tematu - bo to jest prawdzane - jest beznadziejnym pomysłem.

Jes, yt ys!

Trochę się posprzeczaliśmy, a firma później nawet nie odpisała więc trochę hejtuję i nie sugeruj się za bardzo tym co napisałem.

Jak to polskie janusze ajti. Jeśli zaginasz rekrutera znaczy, że jesteś lepszy od większości pracowników, bo zwykle betek nie przydzielają do odsiewania kandydatów.

Pozostało 580 znaków

Odpowiedz

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