Prolomení testu HackerRank: snadné získání 100% skóre

X

Ochrana osobních údajů & Soubory cookie

Tento web používá soubory cookie. Pokračováním souhlasíte s jejich používáním. Zjistěte více, včetně toho, jak soubory cookie ovládat.

Mám to!“

Inzerce

Je známo, že většina rádoby programátorů neumí programovat ani z papírového pytle. V důsledku toho technologický průmysl tlačí na delší, tvrdší a stále extrémnější prověrky.

Po nějakou dobu byl standardem pohovor u tabule, následovaly hádanky , pak FizzBuzz.

Nejnovějším výstřelkem je HackerRank. Zavádí automatizované testy programování, které musí uchazeč provést předtím, než je mu dovoleno mluvit s kýmkoli ve firmě.

Mnoho velmi dobrých firem používá HackerRank jako nástroj předběžného výběru. Pokud se tomu nemůžeme vyhnout, musíme to přijmout.

Co najdeme v testu HackerRank?

V testu se můžeme setkat se třemi typy otázek:

  • Otázky s více možnostmi: „Jaká je časová složitost nalezení prvku v červenočerném stromu?“. -A- -B- -C- -D-
  • Cvičení na kódování: „<Dlouhý popis řešeného problému>, <formát vstupních dat>, <formát výstupních dat>“. Začněte kódovat řešení.
  • Cvičení SudoRank: „Vaše přihlašovací údaje ssh jsou tester:[email protected] <dlouhý popis toho, co je s tímto serverem špatně>.“ SSH k serveru a začněte opravovat.

Libovolné množství libovolných otázek lze poskládat v libovolném pořadí tak, aby vznikl kompletní test. Společnost by měla naznačit, co lze v jejím testu očekávat.

HackerRank poskytuje knihovnu stovek otázek a cvičení připravených k použití. Je také možné, aby si firma napsala vlastní (a doporučujeme to).

Vyřešení otázky s výběrem odpovědi

Většinu otázek s výběrem odpovědi lze vyřešit vhodným vyhledáváním na Googlu. Obvykle na nadpis, někdy na několik vybraných slov z textu.

hr otázka upouštějící práva
Výběr textu => Kliknutí pravým tlačítkem myši => Rychlé vyhledávání
hr google upouštějící práva
Google promluvil! => vše ve prospěch setuid()

Odstranění kódovacích cvičení

Vyhledávání desetiřádkového odstavce v Googlu není přijatelnou možností. Nemluvě o tom, že web HackerRank zakazuje kopírování/vkládání v oblasti popisu.

Obejít to lze vyhledáním názvu cvičení. Název jednoznačně identifikuje otázku na webu HackerRank. Bude uveden v souvisejících řešeních a příspěvcích na blogu. Ideální pro indexaci Googlem.

hr otázka osamělé celé číslo
Vyberte text => Klikněte pravým tlačítkem myši => Rychlé vyhledávání
hr google osamělé celé číslo.png
Touché!“

První výsledek je otázka, druhý výsledek je řešení. No, to bylo snadné.

Bonus: To řešení od Googlu je vlastně špatně… přesto dává všechny body.

// int main() { int N; cin >> N; int tmp, result = 0; for (int i = 0; i < N; i++) { cin >> tmp; result ^= tmp; } cout << result; return 0;}

Toto řešení je správné, jen pokud jsou zdvojená čísla ve dvojicích. Všechny jednotkové testy HackerRank čistě náhodou splňují toto kritérium .

Původně jsme tuto jednoduchou otázku dávali na začátek testu pro zahřátí. Tuto odpověď jsme obdrželi od kandidáta v první várce uchazečů. Bylo to docela záhadné, jaká je pravděpodobnost, že by někdo vymyslel tak zamotaný algoritmus, kdyby dostal k dispozici pouze text z otázky? Rychlé pátrání rychle odhalilo zdroj:

Doplnění:

Otázka „Lonely Integer“ je na veřejných stránkách HackerRank a v soukromé knihovně HackerRank formulována trochu jinak, ale vstup, výstup a jednotkové testy jsou stejné. Proto je řešení vypnuté, ale funguje. HackerRank zřejmě kopíruje otázky z komunity do profesionální knihovny. To je další přistižený kopírák!“

Recruiter Insights: Podvádění posunuté na další úroveň

Máme spoustu kandidátů, kteří přicházejí od náborářů. Jak jsou na tom v porovnání s kandidáty z jiných zdrojů?“

Podívejme se na statistiku na těžkou otázku .

Hodinové postřehy zásob maximalizují distribuci
Rozdělení přes všechny pokusy, podle všech společností (logaritmické měřítko). 1234 nulových bodů vs. 303 plných bodů.

Většina kandidátů získala 0 bodů: vypršel čas, nedokázali odpovědět, špatný algoritmus nebo neúplné/částečné řešení (tj. dobrý začátek, ale ještě ne dost na to, aby prošli nějakým jednotkovým testem).

Chtěli jsme ukázat stejné rozdělení přes náš soubor kandidátů, ale HackerRank už tento graf neposkytuje. Dříve ano.

V každém případě si pamatujeme přibližná čísla. Rozložení pro naše kandidáty je přibližně 50/50 % na každém extrému. To je výrazně lepší než 75/17 % z běžné populace. Toto číslo můžeme korelovat s časem stráveným nad otázkou a vizuální kontrolou kódu.

Výsledkem je, že kandidáti pocházející od personalistů podávají lepší výkony, zejména u těžkých cvičení. Ve skutečnosti je neuvěřitelné, o kolik lépe si vedou! (Zvláštní uznání patří klukům, kteří jsou schopni vyřešit úlohu -s dokonale optimalizovaným řešením- za kratší dobu, než by trvalo její skutečné přečtení =D).

Závěr je prostý a jednoduchý:

dělají to všichni, jen o tom nikdo nemluví
Dávají personalisté uchazečům otázky? Samozřejmě!

Poučení:

  • Pro uchazeče:
  • Pro náboráře: Nezapomeňte náboráře před testem požádat o podporu:
  • Pro firmy: Nezapomeňte uchazeče na test zaškolit a instruovat ho, aby si zapsal případné změny.
  • Pro firmy: Nezapomeňte uchazeče na test zaškolit: Dejte si pozor na kandidáty s vysokým skóre pocházející od náborářů! Zejména nekalibrujte bodování na základě extrémních výsledků od několika podvodníků.

Výzva: Jak dlouho vám trvá vyřešit obchodní úkol? .

Vlastní testy HackerRank

Firmy mohou psát vlastní cvičení a měly by. Je to těžké a vyžaduje to zvláštní dovednosti, ale rozhodně se to vyplatí.

Je to jediné účinné řešení proti Googlu, pokud se provádí pečlivě. (Ve skutečnosti je překvapivě těžké udělat cvičení, která jsou zároveň jednoduchá A nejsou snadno k nalezení pomocí Googlu na 1000 návodech a kódovacích fórech).

Naneštěstí to nepomůže proti náborářům. (S výjimkou první várky kandidátů, kteří budou obětováni jako skauti).

Závěr

Právě jsme zničili předvýběr HackerRank? Samozřejmě že ne! Existuje nekonečná zásoba bláznů, kteří nejsou schopni rozlišit Internet od Internet Exploreru.

Mohli bychom napsat knihu, ve které bychom naučili odpovědi na 90 % problémů při programovacích pohovorech, a přesto by si ji 99 % uchazečů o zaměstnání nikdy nepřečetlo. Sakra, už je to nějakou dobu napsané a nemělo to vůbec žádný dopad.

Jen hrstka vývojářů, kteří sledují blogy/noviny nebo hledají „Co je HackerRank?“, bude moci přijít lépe připravená.

Pokud něco, tak tento článek dělá HackerRank lepším a relevantnějším. Nyní je test o hledání nápovědy na Googlu a opravování jemně pokažených útržků neindikovaného kódu napsaného ve špatném jazyce.

HackerRank konečně prověřuje schopnosti relevantní pro danou práci!“

cracking the coding interview book cover

A poslední rada. Pokud se snažíte projít laťkou pohovorů v dobrých technologických firmách a neměli jste možnost navštěvovat MIT, budete potřebovat školení. Tato kniha je zlatým standardem, pokud jde o otázky týkající se datových struktur a algoritmů. Vřele doporučuji. Obsahuje stovky otázek, na které se vás budou ptát znovu a znovu, a to v každé společnosti. Minimálně si přečtěte bezplatnou ukázku na Amazonu.

Leave a Reply