Det er nemt at knække HackerRank-testen: 100% score

X

Fortrolighed & Cookies

Dette websted bruger cookies. Ved at fortsætte accepterer du brugen af dem. Få mere at vide, herunder hvordan du styrer cookies.

Godt!

Reklamer

Det er velkendt, at de fleste programmører wannabes ikke kan kode sig ud af en papirspose. Derfor presser tech-branchen på for at få længere, hårdere og stadig mere ekstreme screeninger.

Hiteboardinterviewet har været standarden i et stykke tid, efterfulgt af puslespil , derefter FizzBuzz.

Den seneste dille er HackerRank. Det introducerer automatiserede programmeringstests, som kandidaten skal gennemføre, før han får lov til at tale med nogen i virksomheden.

En masse rigtig gode virksomheder bruger HackerRank som præ-screeningværktøj. Hvis vi ikke kan undgå det, må vi tage det til os.

Hvad finder man i en HackerRank-test?

Der er 3 typer spørgsmål, som man kan støde på i en test:

  • Multiple Choice-spørgsmål: “Hvad er tidskompleksiteten for at finde et element i et rødt og sort træ?” -A- -B- -C- -C- -D-
  • Kodningsøvelse: “<Lang beskrivelse af et problem, der skal løses>, <inputdataformat>, <outputdataformat>.” Begynd at kode en løsning.
  • SudoRank-øvelse: “Dine ssh-oplysninger er tester:[email protected] <lang beskrivelse af, hvad der er galt med denne server>.” SSH til serveren og begynd at reparere.

En hvilken som helst mængde af et hvilket som helst spørgsmål kan sættes sammen, i hvilken som helst rækkefølge, for at lave en komplet test. En virksomhed bør give nogle indikationer på, hvad man kan forvente i sin test.

HackerRank leverer et bibliotek med hundredvis af spørgsmål og øvelser, der er klar til brug. Det er også muligt for en virksomhed at skrive sine egne (og anbefales).

Defeating Multiple Choice Question

De fleste multiple choice-spørgsmål kan løses ved hjælp af en passende Google-søgning. Som regel på titlen, nogle gange på et par udvalgte ord fra teksten.

hr spørgsmål dropper privilegier
Selekter tekst => Højreklik => Hurtig søgning
hr google dropper privilegier
Google har talt! => alle til fordel for setuid()

Defeating Coding Exercises

Søge efter et 10 linjer langt afsnit i Google er ikke en acceptabel mulighed. For ikke at nævne, at HackerRank-webstedet deaktiverer copy/paste i beskrivelsesområdet.

Den løsning er at søge efter titlen på øvelsen. En titel identificerer entydigt et spørgsmål på HackerRank. Den vil blive nævnt i relaterede løsninger og blogindlæg. Perfekt til at blive indekseret af Google.

hr question lonely integer
Selekter tekst => Højreklik => Hurtig søgning
hr google lonely integer.png
Touché!

Det første resultat er spørgsmålet, det andet resultat er løsningen. Nå, det var nemt.

Bonus: Denne google-løsning er faktisk forkert … alligevel giver den alle point.

// 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;}

Denne løsning er kun korrekt, hvis duplikerede tal er i par. Alle HackerRank-enhedstests passer tilfældigvis til dette kriterium ved et rent tilfælde .

Originalt satte vi dette enkle spørgsmål i begyndelsen af en test som opvarmning. Vi fik dette svar fra en kandidat i vores første hold af ansøgere. Det var ret forvirrende, hvad er oddsene for, at nogen ville finde på en så indviklet algoritme, hvis man kun fik teksten fra spørgsmålet? En hurtig undersøgelse afslørede hurtigt kilden.

Addendum:

Spørgsmålet “Lonely Integer” er formuleret lidt anderledes på det offentlige HackerRank-websted og i det private HackerRank-bibliotek, men input, output og enhedstests er de samme. Derfor er løsningen off, men virker. HackerRank kopierer tydeligvis spørgsmål fra fællesskabet til det professionelle bibliotek. Det er endnu en copy-cat busted!

Recruiter Insights: Snyd bragt til det næste niveau

Vi har mange kandidater, der kommer fra rekrutteringsselskaber. Hvordan er de sammenlignet med kandidater fra andre kilder?

Lad os se statistikken på et svært spørgsmål.

hr indsigt lager maksimere fordeling
Fordeling over alle forsøg, af alle virksomheder (log skala). 1234 nul vs. 303 fuld score.

De fleste kandidater får 0 point: løb tør for tid, kunne ikke svare, forkert algoritme eller ufuldstændige/delvise løsninger (dvs. god start, men ikke nok til at bestå nogen enhedstest endnu).

Vi ville gerne vise den samme fordeling over vores pulje af kandidater, men HackerRank leverer ikke længere denne graf. Det plejede den at gøre.

Og som helst, vi husker omtrentlige tal. Fordelingen for vores kandidater er ca. 50/50% på hver ekstrem. Det er betydeligt bedre end de 75/17% fra den generelle befolkning. Vi kan korrelere dette tal med den tid, der er brugt på spørgsmålet og en visuel kodegennemgang.

Resultatet er, at kandidater, der kommer fra rekrutteringsbureauer, klarer sig bedre, især på svære opgaver. Faktisk er det utroligt, hvor meget bedre de præsterer! (Særlig ros til de fyre, der er i stand til at løse et problem – med en perfekt optimeret løsning – på mindre tid, end det ville tage at læse det rent faktisk =D).

Konklusionen er klar og enkel: Vores rekrutteringsfolk giver testen væk til kandidaterne.

Alle gør det, der er bare ingen, der taler om det
Giver rekrutteringsfolk dine spørgsmål væk? Selvfølgelig!

Lærdom:

  • For kandidater:
  • Til rekrutteringsansvarlige: Husk at bede rekrutteringsansvarlige om støtte inden prøven: Husk at coache kandidaten til testen og instruere ham om at skrive eventuelle ændringer ned.
  • For virksomheder: Pas på kandidater med høje scorer, der kommer fra rekrutteringsfirmaer! Især skal du ikke kalibrere scoring baseret på ekstreme scorer fra et par snydere.

Udfordring: Hvor lang tid tager det dig at løse en handelsudfordring? .

Brugerdefinerede HackerRank-tests

Firksomheder kan skrive brugerdefinerede øvelser, og det bør de også gøre. Det er svært, og det kræver særlige færdigheder, men det er absolut umagen værd.

Det er den eneste effektive løsning mod Google, hvis det gøres omhyggeligt. (Det er faktisk overraskende svært at lave øvelser, der både er simple OG ikke let at finde med Google på 1000 tutorials og kodningsfora).

Det vil desværre ikke hjælpe mod rekrutteringsfolk. (Undtagen det første hold kandidater, der bliver ofret som spejdere).

Konklusion

Har vi lige ødelagt HackerRank pre-screening? Selvfølgelig ikke! Der er et uendeligt udbud af fjolser, der ikke kan kende forskel på Internet og Internet Explorer.

Vi kunne skrive en bog, der giver svarene på 90 % af problemerne i forbindelse med programmeringsinterviews, men 99 % af de jobsøgende ville aldrig læse den. For fanden, den har været skrevet i et stykke tid, og den har ikke haft nogen som helst effekt.

Kun den håndfuld udviklere, der følger blogs/nyheder eller søger efter “Hvad er HackerRank?”, vil kunne komme bedre forberedt.

Hvis der er noget, gør denne artikel HackerRank bedre og mere relevant. Nu handler en test om at søge hjælp på Google og rette subtilt ødelagte snippets af uindenteret kode skrevet i det forkerte sprog.

HackerRank screener endelig for evner, der er relevante for jobbet!

Raccking the coding interview book cover

Et sidste råd. Du får brug for træning, hvis du forsøger at bestå interviewbarren hos gode tech-virksomheder, og du ikke har haft mulighed for at gå på MIT. Denne bog er guldstandarden, når det kommer til spørgsmål om datastrukturer og algoritmer. Kan varmt anbefales. Den indeholder hundredevis af spørgsmål, som du vil blive stillet igen og igen, i alle virksomheder. Læs som minimum det gratis preview på Amazon.

Leave a Reply