Hacker Rank na interview

Hacker Rank na interview

Wątek przeniesiony 2023-08-22 14:12 z Off-Topic przez Althorion.

CZ
  • Rejestracja:ponad 3 lata
  • Ostatnio:około 2 miesiące
  • Postów:23
0

Hejka
Co myślicie o testach na HackerRank na rekrutacjach. Ostatnio niektóre firmy to praktykują. Odnoszę wrażenie że dla firm to nic nie kosztuje i dlatego to robią.
Ja osobiście uważam że o ile zrobienie prostego zadania nawet w IDE na rozmowie ma sens to rozwiązywanie jakiegoś skomplikowanego algorytmu już się mija z celem.
Kto takie rzeczy w pracy robi. To raczej okres studiów albo dla pasjonatów algorytmiki.
Nie jestem do końca do tego przekonany i zastanawiam się czy warto tracić na czas na takie rekrutacje
A co wy myślicie?

edytowany 2x, ostatnio: czirman
LukeJL
  • Rejestracja:około 11 lat
  • Ostatnio:3 minuty
  • Postów:8406
1
czirman napisał(a):

Nie jestem do końca do tego przekonany i zastanawiam się czy warto tracić na czas na takie rekrutacje

Ogólnie z tego rodzaju testami jest o tyle problem, że firmy mogą dzięki takim apkom przemielić ileś kandydatów, a potem automatycznie ich odrzucić, bo nie uzyskali odpowiedniej liczby punktów. Czyli jak ci źle pójdzie, to nawet cię nie zaproszą na rozmowę. A jeśli ci dobrze pójdzie, to pewnie pytania były łatwe i innym kandydatom też dobrze pójdzie, czyli co w zasadzie sprawdza ten test?

Z drugiej strony - zrobienie takiego testu wymaga poświęcenia z 40 minut ze swojego czasu na coś, co może i tak się nie udać. Więc to chyba działa trochę jak prace domowe - nie sprawdza to skilla, a bardziej filtruje to osoby, które złożyły CV dla zabawy od poważnych kandydatów, które chcą faktycznie się zatrudnić w danej firmie na tyle, że zrobią ten test i nie przerwą w połowie.

Więc jeśli masz czas do stracenia i ci zależy na pracy, to można się pobawić. Chociaż ja bym to spróbował zamienić - najpierw odbyć rozmowę techniczną, a później dopiero test. Tak, żeby nie ułatwiać firmom odrzucenia cię z automatu, bo czegoś tam nie zdasz na wstępie.


Skoq
  • Rejestracja:około 6 lat
  • Ostatnio:4 dni
  • Lokalizacja:Kraków
  • Postów:255
2

Co myślicie o testach na HackerRank na rekrutacjach. Ostatnio niektóre firmy to praktykują.

Nie tak ostatnio, to i tego typu platformy są używane już od wielu lat.

Kto takie rzeczy w pracy robi.

Codziennie pewnie nikt.

A co wy myślicie?

Nie jestem fanem. Jak bede mial do zaimplementowania jakis algorytm to znajde w necie albo poprosze chatgpt. Nie bede tego sam klepał, szanuję czas klienta a przede wszystkim swój (no dobra, głównie to swój).


I tak to właśnie jest
loza_prowizoryczna
  • Rejestracja:ponad 2 lata
  • Ostatnio:37 minut
  • Postów:1606
1
czirman napisał(a):

A co wy myślicie?

Zależy jakie są benefity, bo np. za bycie wiecznym studentem benefity to:

  • zniżki studenckie
  • stypendium socjalne
  • fajne dziewczyny (zwłaszcza jak robisz drugi kierunek po pierwszym)
  • możliwość poznania ciekawych ludzi
  • dla wybranych możliwość wkręcenia się w jakieś fajne granty

Dla takich benefitów można podejść od czasu do czasu do egzaminów z których nic nie wynika.


Przetrzyma wszystko
SA
  • Rejestracja:około 12 lat
  • Ostatnio:7 minut
  • Postów:1431
4

Miałem raz Hackerranka, trzeba było pobrać dane z endpointu, zagregować i zwrócić wynik. To są te słynne algorytmy, których nigdy nie będę miał okazji robić w pracy?

SM
Z tego co kojarze to na hackerranku(jak i na innych tego typu platformach) możesz dostać całe spektrum zadań, od czegoś co właśne napisałeś po jakieś zabawy z drzewami binarnymi itp.
SA
No to nie jest problem samego sposobu rekrutacji, tylko zadań. To tak samo na zwykłej rozmowie można dostać normalne pytania, a można takie z d**y.
JM
  • Rejestracja:ponad 9 lat
  • Ostatnio:około rok
  • Postów:98
0

Wole zrobić hackeranka niż odpowiadać na pytania o parametry api metod/funkcji bo to się zmienia i mogę sobie to sprawdzić a jednak umiejetność pisania kodu zostaje.

KamilAdam
  • Rejestracja:ponad 6 lat
  • Ostatnio:dzień
  • Lokalizacja:Silesia/Marki
  • Postów:5505
0
Saalin napisał(a):

Miałem raz Hackerranka, trzeba było pobrać dane z endpointu, zagregować i zwrócić wynik. To są te słynne algorytmy, których nigdy nie będę miał okazji robić w pracy?

Ogólnie problemem jest to że pod słowem algorytmy może być wszystko, I rozpisanie dodawania liczb nieograniczonej przecyzji i A* i quicksort


Mama called me disappointment, Papa called me fat
Każdego eksperta można zastąpić backendowcem który ma się douczyć po godzinach. Tak zostałem ekspertem AI, Neo4j i Nest.js . Przez mianowanie
P3
  • Rejestracja:ponad rok
  • Ostatnio:dzień
  • Postów:71
0

Może być tyle kandydatów, że firmy muszą ich jakoś przefiltrować. Jak będzie jakiś false negative - to zawsze przyjdą kolejni ;)

SA
  • Rejestracja:około 12 lat
  • Ostatnio:7 minut
  • Postów:1431
2
KamilAdam napisał(a):
Saalin napisał(a):

Miałem raz Hackerranka, trzeba było pobrać dane z endpointu, zagregować i zwrócić wynik. To są te słynne algorytmy, których nigdy nie będę miał okazji robić w pracy?

Ogólnie problemem jest to że pod słowem algorytmy może być wszystko, I rozpisanie dodawania liczb nieograniczonej przecyzji i A* i quicksort

  1. Można wybrać zadania zbliżone do realnej pracy. W jednej sprawdzaczce miałem nawet dostęp do bazy i można było robić zapytania.
  2. Mając tylko takie kryterium i odpowiednio dużą grupę kandydatów (których chcemy odsiać) mamy do wyboru albo po prostu odrzucić część (bo nikt nie będzie analizował setek CV) albo dać wielu osobom szansę na sprawdzaczkę. Szkoda, że nie znam takich badań, ale obstawiam, że statystycznie lepiej jest postawić na ludzi, którzy potrafią napisać A* z pamięci, niż takich, których przeraża słowo "algorytm".
CZ
  • Rejestracja:ponad 8 lat
  • Ostatnio:39 minut
  • Postów:2287
2

Szczerze, wolę tego typu zadania, bo to kwestia ogarnięcia sobie pewnych wzorców i aplikowania tego w konkretnym problemie. Listy drzewa, grafy, dp itd To brzmi skomplikowanie ale jak trochę poresearchujesz to zobaczysz, że sposoby optymalnego rozwiązywania zadań są podobne do siebie.

No a, że nawet w googlu nie dawają zawsze zadań poziomu hard to mediumy są bezproblemu do ogarnięcia.

Uważam że to lepsze niż następna odpytka z teorii języka i funkcji których ostatni raz używałem lata temu a nacodzien to w ogole nie ruszam.
Nie da się na to przygotowywać i zawsze to jest losowe na co się trafi.

GO
  • Rejestracja:około 2 lata
  • Ostatnio:ponad rok
  • Postów:141
2

Ja tam ulubię zadania, grałem też w taką gierkę tekstową gdzie się pracowało na statku kosmicznym, trzeba było różne problemy rozwiązywać, piszesz algo i masz testy, których nie znasz implementacji.
Fajnie się takie coś gra.

Niektóre zadania są tak opisane, że 3 razy czytasz i dalej nie wiesz o co chodzi, ale później wchodzisz na forum i ktoś kompletnie niezrozumiale odpisuje problem i doskonale wiesz o co mu chodzi.
Trochę jak w pracy, ktoś kto się nie zna opisuje ci zadanie strasznie beznadziejnie, ale możesz maksymalizować prawdopodobieństwo sekwencji i po prostu wybrać tę najsensowniejszą interpretację, czyli tą z największym likelihood.

W sumie takie trudniejsze zadania to czasem można na parę godzin utknąć 2-8h, wiadomo można oszukać i jakieś rozwiązanie gotowe dać, ale nie ma w tym sensu edukacyjnego i zadowolenia z rozwalenia problemu.

Większość algorytmów można opisać jednym zdaniem jak działają i tyle informacji wystarczy żeby zaimplementować, jak ktoś np. nie wie jak działa djikstra czy A* to pewnie nieświadomie to wiele razy zaimplementował, po prostu idziesz każdym wierzchołkiem i jak już byłeś w danym to zapisujesz nowy wynik jeśli był lepszy od poprzedniego, a jeśli nie był to przestajesz iść tą gałęzią bo inna gałąź, która tędy szła miała lepszy wynik.
A np. dla A* to preferujesz gałęzie grafu, które są bliżej rozwiązania, ale dalej robisz dfs, bo w przypadku bfs nie ma to sensu.

Te algorytmy są proste jak but, ale problemy już są bardziej skomplikowane, ograniczenia czasowe, możesz też kilka na raz połączyć algorytmów, ja zawsze piszę algorytm hybrydę najbardziej optymalną, która korzysta z plusów każdego algorytmu jakiego znam, jak uznam.

Na coding interview będzie stres i nie zawsze pierwszy pomysł rozwiązania problemu będzie poprawny, jeśli robimy to w domu to wtedy wiemy co poprawić i piszemy od nowa z innym pomysłem.
Na takim interview pewnie będzie od razu oblane.

99xmarcin
  • Rejestracja:prawie 5 lat
  • Ostatnio:4 miesiące
  • Postów:2420
2

Skomplikowanych algorytmów tam nigdy nie ma. Są co najwyżej takie które studenci spotykają na kolokwiach z Algosów II/III. Nad prawdziwie skomplikowanymi rzeczami naukowcy potrafią siedzieć i dekady...

HackerRank to nie Codility, zadania są luźniejsze. Niektóre firmy używają tylko edytora wbudowanego w HackerRank do nagrywania przebiegu zdalnej rekrutacji i współdzielenia ekranu. Jest to o wiele mniej krępujące niż kazanie komuś współdzielić zdalny pulpit tylko po to żeby zobaczyć na tapecie roznegliżowaną bohaterkę 2d z jakiejś gry...

Przejście algo rekrutacji wymaga takiego samego wysiłku co zaliczenie Algosów II lub III na uczelni. Wiadomo że tam gdzie jest popyt czyli w Google i Meta zadania są trudniejsze tak żeby więcej osób odsiać, a tam gdzie jest mniejszy popyt (Januszsoft i Gliwice Solutions) często sobie takie rzeczy darują.

O tym jak przejść taką rekrutację napisano już książki (Cracing the Coding Interview). Na YT jest pełno filmów przygotowujących jak rownież dużo płatnych skoleń.

Ostatecznie najlepiej zapytać "kadrową" jaki to typ rekrutacji: czysty algorytm, czy bardziej coś prostego żeby zademonstrować swoją wiedzę. Na LeetCode jest mnóstwo przykładów.

Większość osób boi się algo bo po prostu zapomniała, wiedza matematyczna wyleciała z główki i teraz trza znów czytać tego grubego Cormen'a.


Holy sh*t, with every month serenityos.org gets better & better...
CZ
Jak ktoś miał na studiach to nawet Cormen już nie potrzebny. Imo wystarcza tutoriale na YouTube i przerobienie mnóstwa zadań.
ledi12
  • Rejestracja:ponad 5 lat
  • Ostatnio:23 dni
  • Lokalizacja:Wrocław
1

Standardowo uważam, że wszystko zależy od pozycji na jaką się rekrutuje. Jeśli takowa wymaga pisania algo jako daily basis to spoko. W każdym innym przypadku jest to przerost formy nad treścią.


Robię http response status cody w martwych ciągach
CZ
Generalnie jakoś szczególnie trudne algo mi się nie trafiły. Ale mam z tym problem to od wielu lat miałem takie prace gdzie się mało progrmaowało
KE
  • Rejestracja:ponad 6 lat
  • Ostatnio:około 3 godziny
  • Postów:663
0
czirman napisał(a):

Nie jestem do końca do tego przekonany i zastanawiam się czy warto tracić na czas na takie rekrutacje

Też nie jestem do tego przekonany i jaki jest sens pytania o sortowanie przyszłego CRUD dewelopera, ale to nie ma znaczenia - rynek zwolnił, kandydatów jest sporo na 1 miejsce, firmy ograniczają koszty, to logiczne jest, że muszą ograniczyć koszty rekrutacji. A zdalne zadanko wymaga nie wiem, wysłania linka mailem - parę minut roboty dla HR? Ten proces się po prostu opłaca, nawet kosztem czasem odrzucenia lepszego kandydata.

SO
  • Rejestracja:prawie 5 lat
  • Ostatnio:23 dni
  • Postów:52
0

Hackerrank oceniam pozytywnie
Pierwsze moje spotkanie z nim to był jak wjazd w ścianę przy szybkości 200 km/h.
Było to z 12, 13 lat temu. Wysłałem zgłoszenie w odpowiedzi dostałem link, po otworzeniu ukazał się opis problemu wraz z IDE i tykający zegar. Brak obeznania, odliczający czas zegar zrobiły swoje i z tego co pamiętam to kod nawet się nie kompilował. W ogóle się tego nie spodziewałem, nie znałem, to była mega porażka.

Dzięki temu zainteresowałem się tego typu narzędziami, pisaniem kodu gdzieś poza znajomym narzędziem, rozwiązywaniem zadań na czas itd. Rozwiązywaniem tego samego w różnych językach. Na pewno poprawiło to skile, które mogę nazwać poruszanie się po nieznanym, opanowanie itd.
Tego typu narzędziea pomogy mi w poznawaniu nowego języka. Czasami ciężko było mi coś wymyślić aby zakodzić coś na szybkości, a tam jest wszystko już podane, opisane, tylko siąść i pisać.

Co do hackerrank jako narzędzie rekrutacji.
Chyba najlepszą odpowiedzią jest, to zależy jak się tego narzędzia użyje

loza_prowizoryczna
  • Rejestracja:ponad 2 lata
  • Ostatnio:37 minut
  • Postów:1606
0
ledi12 napisał(a):

Standardowo uważam, że wszystko zależy od pozycji na jaką się rekrutuje. Jeśli takowa wymaga pisania algo jako daily basis to spoko.

No wiesz ale jakby na działalności kazali mi zaimplementować Rijndael od podstaw to bym się raczej dwa razy zastanowił. Na szczęście słyszałem że w Centralnym Ośrodku Informatyki zatrudniają tylko na etat


Przetrzyma wszystko
ID
  • Rejestracja:prawie 9 lat
  • Ostatnio:około rok
  • Postów:54
0

Wszystko poza Leetcode hard jest ok.

Kliknij, aby dodać treść...

Pomoc 1.18.8

Typografia

Edytor obsługuje składnie Markdown, w której pojedynczy akcent *kursywa* oraz _kursywa_ to pochylenie. Z kolei podwójny akcent **pogrubienie** oraz __pogrubienie__ to pogrubienie. Dodanie znaczników ~~strike~~ to przekreślenie.

Możesz dodać formatowanie komendami , , oraz .

Ponieważ dekoracja podkreślenia jest przeznaczona na linki, markdown nie zawiera specjalnej składni dla podkreślenia. Dlatego by dodać podkreślenie, użyj <u>underline</u>.

Komendy formatujące reagują na skróty klawiszowe: Ctrl+B, Ctrl+I, Ctrl+U oraz Ctrl+S.

Linki

By dodać link w edytorze użyj komendy lub użyj składni [title](link). URL umieszczony w linku lub nawet URL umieszczony bezpośrednio w tekście będzie aktywny i klikalny.

Jeżeli chcesz, możesz samodzielnie dodać link: <a href="link">title</a>.

Wewnętrzne odnośniki

Możesz umieścić odnośnik do wewnętrznej podstrony, używając następującej składni: [[Delphi/Kompendium]] lub [[Delphi/Kompendium|kliknij, aby przejść do kompendium]]. Odnośniki mogą prowadzić do Forum 4programmers.net lub np. do Kompendium.

Wspomnienia użytkowników

By wspomnieć użytkownika forum, wpisz w formularzu znak @. Zobaczysz okienko samouzupełniające nazwy użytkowników. Samouzupełnienie dobierze odpowiedni format wspomnienia, zależnie od tego czy w nazwie użytkownika znajduje się spacja.

Znaczniki HTML

Dozwolone jest używanie niektórych znaczników HTML: <a>, <b>, <i>, <kbd>, <del>, <strong>, <dfn>, <pre>, <blockquote>, <hr/>, <sub>, <sup> oraz <img/>.

Skróty klawiszowe

Dodaj kombinację klawiszy komendą notacji klawiszy lub skrótem klawiszowym Alt+K.

Reprezentuj kombinacje klawiszowe używając taga <kbd>. Oddziel od siebie klawisze znakiem plus, np <kbd>Alt+Tab</kbd>.

Indeks górny oraz dolny

Przykład: wpisując H<sub>2</sub>O i m<sup>2</sup> otrzymasz: H2O i m2.

Składnia Tex

By precyzyjnie wyrazić działanie matematyczne, użyj składni Tex.

<tex>arcctg(x) = argtan(\frac{1}{x}) = arcsin(\frac{1}{\sqrt{1+x^2}})</tex>

Kod źródłowy

Krótkie fragmenty kodu

Wszelkie jednolinijkowe instrukcje języka programowania powinny być zawarte pomiędzy obróconymi apostrofami: `kod instrukcji` lub ``console.log(`string`);``.

Kod wielolinijkowy

Dodaj fragment kodu komendą . Fragmenty kodu zajmujące całą lub więcej linijek powinny być umieszczone w wielolinijkowym fragmencie kodu. Znaczniki ``` lub ~~~ umożliwiają kolorowanie różnych języków programowania. Możemy nadać nazwę języka programowania używając auto-uzupełnienia, kod został pokolorowany używając konkretnych ustawień kolorowania składni:

```javascript
document.write('Hello World');
```

Możesz zaznaczyć również już wklejony kod w edytorze, i użyć komendy  by zamienić go w kod. Użyj kombinacji Ctrl+`, by dodać fragment kodu bez oznaczników języka.

Tabelki

Dodaj przykładową tabelkę używając komendy . Przykładowa tabelka składa się z dwóch kolumn, nagłówka i jednego wiersza.

Wygeneruj tabelkę na podstawie szablonu. Oddziel komórki separatorem ; lub |, a następnie zaznacz szablonu.

nazwisko;dziedzina;odkrycie
Pitagoras;mathematics;Pythagorean Theorem
Albert Einstein;physics;General Relativity
Marie Curie, Pierre Curie;chemistry;Radium, Polonium

Użyj komendy by zamienić zaznaczony szablon na tabelkę Markdown.

Lista uporządkowana i nieuporządkowana

Możliwe jest tworzenie listy numerowanych oraz wypunktowanych. Wystarczy, że pierwszym znakiem linii będzie * lub - dla listy nieuporządkowanej oraz 1. dla listy uporządkowanej.

Użyj komendy by dodać listę uporządkowaną.

1. Lista numerowana
2. Lista numerowana

Użyj komendy by dodać listę nieuporządkowaną.

* Lista wypunktowana
* Lista wypunktowana
** Lista wypunktowana (drugi poziom)

Składnia Markdown

Edytor obsługuje składnię Markdown, która składa się ze znaków specjalnych. Dostępne komendy, jak formatowanie , dodanie tabelki lub fragmentu kodu są w pewnym sensie świadome otaczającej jej składni, i postarają się unikać uszkodzenia jej.

Dla przykładu, używając tylko dostępnych komend, nie możemy dodać formatowania pogrubienia do kodu wielolinijkowego, albo dodać listy do tabelki - mogłoby to doprowadzić do uszkodzenia składni.

W pewnych odosobnionych przypadkach brak nowej linii przed elementami markdown również mógłby uszkodzić składnie, dlatego edytor dodaje brakujące nowe linie. Dla przykładu, dodanie formatowania pochylenia zaraz po tabelce, mogłoby zostać błędne zinterpretowane, więc edytor doda oddzielającą nową linię pomiędzy tabelką, a pochyleniem.

Skróty klawiszowe

Skróty formatujące, kiedy w edytorze znajduje się pojedynczy kursor, wstawiają sformatowany tekst przykładowy. Jeśli w edytorze znajduje się zaznaczenie (słowo, linijka, paragraf), wtedy zaznaczenie zostaje sformatowane.

  • Ctrl+B - dodaj pogrubienie lub pogrub zaznaczenie
  • Ctrl+I - dodaj pochylenie lub pochyl zaznaczenie
  • Ctrl+U - dodaj podkreślenie lub podkreśl zaznaczenie
  • Ctrl+S - dodaj przekreślenie lub przekreśl zaznaczenie

Notacja Klawiszy

  • Alt+K - dodaj notację klawiszy

Fragment kodu bez oznacznika

  • Alt+C - dodaj pusty fragment kodu

Skróty operujące na kodzie i linijkach:

  • Alt+L - zaznaczenie całej linii
  • Alt+, Alt+ - przeniesienie linijki w której znajduje się kursor w górę/dół.
  • Tab/⌘+] - dodaj wcięcie (wcięcie w prawo)
  • Shit+Tab/⌘+[ - usunięcie wcięcia (wycięcie w lewo)

Dodawanie postów:

  • Ctrl+Enter - dodaj post
  • ⌘+Enter - dodaj post (MacOS)