Dostanete se k vysněné práci: 10 bodů, jak překonat výzvu HackerRank.

Sara Choi
Sara Choi

Sledovat

5. února, 2018 – 3 minuty čtení

Stále více firem využívá výzvu HackerRank ke zpracování svých kandidátů na inženýry. Pokud HackerRank neznáte, jedná se o soutěžní programátorské výzvy, v nichž vývojáři soutěží tím, že se snaží naprogramovat podle zadaných specifikací. Odeslané příspěvky účastníků jsou hodnoceny podle přesnosti jejich výstupu.

Vzhledem k jeho povaze existuje mnoho neodmyslitelných problémů, pokud se společnost při prověřování příliš spoléhá na HackerRank. HackerRank je jako váš standardizovaný test – testuje spíše vaše „zkouškové dovednosti“ než vaše věcné znalosti.

Narazil jsem na článek na Linkedinu, který výstižně vystihl (jednu z) hlavních nevýhod (nedostatků) HackerRanku:

Můj závěr z toho všeho je, že HackerRank je špatným ukazatelem schopností vývojáře řešit problémy a stejně jako mnoho jiných věcí je opravdu dobrý pouze k posouzení jedné věci, a to jak dobře kandidát umí vyplňovat testy HackerRanku. – Be ware of HackerRank, Richard Linnell

To samé platí pro Kaggle. Zrovna jsem mluvil s jedním kandidátem o tom, jak udělal hodně nadprůměrný úkol, aniž by vlastně datové vědě vůbec rozuměl

Existuje mnoho dalších článků zabývajících se nevýhodami používání HackerRanku (včetně jednoho o tom, jak používání HackerRanku (a dalších podobných platforem) může zničit vaši šanci na najmutí dobrého seniorního vývojáře).

Přesto je pochopitelné, proč to firmy pro počáteční testování přijmou: je to rychlé, nejméně nákladné a může to vyřadit lidi, kteří by se tím ani neobtěžovali zabývat.

Vzhledem k tomu, že by to zůstalo a pravděpodobně i nadále rostlo jako způsob, jakým firmy prověřují talenty, náš tým přišel se seznamem věcí, které můžete udělat, abyste se připravili na výzvu HackerRank:

  1. Výzvy jsou časově omezené, ujistěte se, že nejste rušeni a soustředíte se.
  2. 20-30 % vašeho úspěchu pochází ze znalosti systému. Než se pustíte do skutečného kódovacího úkolu, vyzkoušejte si jiné, např. zahřívací algoritmy. Ujistěte se, že víte, jak svůj kód spustit a odeslat.
  3. Pochopte povolené programovací jazyky pro test. Pokud vámi zvolený jazyk není k dispozici, procvičte si jiný.
  4. Obvykle je v každé výzvě k řešení více problémů a je chybou začínat tím nejtěžším. Dobrým přístupem je řešit problémy ve vzestupném pořadí obtížnosti/času. Nejprve si je stručně přečtěte a rozhodněte se pro pořadí realizace.
  5. Po realizaci se snažte minimalizovat čas přepínání mezi problémy. Můžete věnovat čas navíc, abyste se ujistili, že jde o „konečnou“ implementaci, a už se k ní nevracet.
  6. Každý problém má veřejné a neveřejné testovací případy. Vaše skóre je založeno na obou. Pokud implementace kódu prošla všemi veřejnými testovacími případy, neznamená to, že by prošla všemi soukromými testovacími případy. Přemýšlejte o okrajových situacích, např. prázdný vstup, vstup s jedním prvkem, dva prvky, mnoho prvků atd. Prostředí HackeRank umožňuje spustit kód na vlastních testech.
  7. Předložte ke každému problému alespoň něco. Je snadné zachytit některé body, i když nevíte, jak problém vyřešit. Pokud však nevíte, jak vyřešit všechny problémy, pokuste se přijít alespoň na jeden.
  8. Domácí příprava rozhoduje: Mohou vám pomoci některé šablony, které byste mohli během soutěže kopírovat a vkládat. Například BFS/DFS/Binární vyhledávání.
  9. Nejprve si co nejvíce procvičujte. Mohli byste zkusit vyřešit alespoň jeden problém z každé algoritmické podoblasti.
  10. Dobrý výsledek není kouzlo, je to praxe a pot.

Ať vás provází síla! 💪

Bonusy:

  1. Jak získat špičkový odznak strojového učení na HackerRank (podle našeho vlastního Kirilla Pavlova!)
  2. Prolomení testu HackerRank: 100% skóre snadno – chlapík z HFT .

Napsat komentář

Vaše e-mailová adresa nebude zveřejněna.