HackerRank-testin murtaminen: 100 % pisteet helposti
Tietosuoja & Evästeet
Tämä sivusto käyttää evästeitä. Jatkamalla hyväksyt niiden käytön. Lue lisää, mukaan lukien evästeiden hallitseminen.
On hyvin tiedossa, että useimmat wannabe-ohjelmoijat eivät osaa koodata tiensä ulos paperipussista. Tämän seurauksena teknologiateollisuus ajaa pidempiä, kovempia ja yhä äärimmäisempiä seuloja.
Valkotauluhaastattelu on ollut standardi jo jonkin aikaa, sen jälkeen tulivat arvoitukset , sitten FizzBuzz.
Viimeisin villitys on HackerRank. Siinä otetaan käyttöön automatisoidut ohjelmointitestit, jotka hakijan on tehtävä ennen kuin hän saa puhua kenenkään kanssa yrityksessä.
Monet erittäin hyvät yritykset käyttävät HackerRankia esiseulontatyökaluna. Jos emme voi välttää sitä, meidän on omaksuttava se.
Mitä HackerRank-testistä löytyy?
Testissä on 3 kysymystyyppiä, joihin voi törmätä:
- Monivalintakysymykset: ”Mikä on aikakompleksisuus löytää elementti punaisesta ja mustasta puusta?”. -A- -B- -C- -D-
- Koodausharjoitus: ”<Pitkä kuvaus ratkaistavasta ongelmasta>, <syöttötietomuoto>, <lähtötietomuoto>.” Aloita ratkaisun koodaaminen.
- SudoRank-harjoitus: ”Sinun ssh-tunnuksesi ovat tester:[email protected] <pitkä kuvaus siitä, mikä kyseisessä palvelimessa on vialla>.” Siirry SSH:lla palvelimelle ja aloita korjaaminen.
Mitä tahansa kysymystä voidaan koota missä tahansa järjestyksessä täydelliseksi testiksi. Yrityksen tulisi antaa viitteitä siitä, mitä sen testissä on odotettavissa.
HackerRank tarjoaa kirjaston, jossa on valmiina satoja kysymyksiä ja harjoituksia. Yrityksen on myös mahdollista kirjoittaa omia (ja suositeltavia).
Vaikea monivalintakysymys
Vähemmistö monivalintakysymyksistä on ratkaistavissa asianmukaisella Google-haulla. Yleensä otsikolla, joskus muutamalla valitulla sanalla tekstistä.
Defeating Coding Exercises
Kymmenen rivin mittaisen kappaleen haku Googlessa ei ole hyväksyttävä vaihtoehto. Puhumattakaan siitä, että HackerRank-sivusto poistaa kopioinnin/liittämisen käytöstä kuvausalueella.
Kiertotapa on etsiä harjoituksen otsikkoa. Otsikko yksilöi kysymyksen yksiselitteisesti HackerRankissa. Se mainitaan aiheeseen liittyvissä ratkaisuissa ja blogikirjoituksissa. Täydellinen Googlen indeksoitavaksi.
Ensimmäinen hakutulos on kysymys, toinen hakutulos on ratkaisu. No, se oli helppoa.
Bonus: Tuo googlen ratkaisu on itse asiassa väärä… silti se antaa kaikki pisteet.
// 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;}
Tämä ratkaisu on oikea vain, jos päällekkäiset luvut ovat pareittain. Kaikki HackerRankin yksikkötestit sattuvat täyttämään tämän kriteerin puhtaasti sattumalta.
Alun perin laitoimme tämän yksinkertaisen kysymyksen testin alkuun lämmittelyksi. Saimme tuon vastauksen eräältä ehdokkaalta ensimmäisestä hakijaerästä. Se oli aika hämmentävää, mitkä ovat todennäköisyydet sille, että joku keksii näin mutkikkaan algoritmin, jos hänelle annetaan vain kysymyksen teksti? Nopea tutkimus paljasti nopeasti lähteen.
Lisäys:
”Lonely Integer” -kysymys on muotoiltu hieman eri tavalla julkisella HackerRank-sivustolla ja yksityisessä HackerRank-kirjastossa, mutta syöttö, tuotos ja yksikkötestit ovat samat. Siksi ratkaisu on off mutta toimii. HackerRank kopioi ilmeisesti kysymyksiä yhteisöstä ammattilaiskirjastoon. Se on taas yksi kopiointikissa, joka jäi kiinni!
Recruiter Insights: Cheating brought to the next level
Meille tulee paljon ehdokkaita rekrytoijilta. Miten heitä verrataan muista lähteistä tuleviin ehdokkaisiin?
Katsotaanpa tilastoja kovasta kysymyksestä .
Suuri osa ehdokkaista saa 0 pistettä: aika loppui kesken, ei pystynyt vastaamaan, väärä algoritmi tai epätäydelliset/osittaiset ratkaisut (eli hyvä alku, mutta ei riitä vielä läpäisemään mitään yksikkötestiä).
Haluaisimme näyttää saman jakauman koko ehdokasjoukossamme, mutta HackerRank ei tarjoa kyseistä kuvaajaa enää. Ennen se tarjosi.
Jokatapauksessa muistamme likimääräiset luvut. Ehdokkaidemme jakauma on noin 50/50 % kummassakin ääripäässä. Se on huomattavasti parempi kuin 75/17% yleisestä väestöstä. Voimme korreloida tuota lukua kysymykseen ja visuaaliseen koodin tarkasteluun käytetyn ajan kanssa.
Tulos on, että rekrytoijilta tulevat ehdokkaat suoriutuvat paremmin erityisesti vaikeista tehtävistä. Itse asiassa on uskomatonta, kuinka paljon paremmin he suoriutuvat! (Erityiskiitokset kavereille, jotka pystyvät ratkaisemaan ongelman -täydellisesti optimoidulla ratkaisulla- lyhyemmässä ajassa kuin sen varsinaiseen lukemiseen kuluu =D).
Johtopäätös on selkeä ja yksinkertainen: Rekrytoijamme antavat testin pois ehdokkaille.
Oppi oppi:
- Ehdokkaille: Muista pyytää rekrytoijalta tukea ennen koetta.
- Rekrytoijille: Muista valmentaa hakijaa testiä varten ja ohjeistaa häntä kirjaamaan ylös mahdolliset muutokset.
- Yrityksille: Varokaa rekrytoijilta tulevia korkean pistemäärän saaneita ehdokkaita! Älkää erityisesti kalibroiko pisteytystä muutamien huijareiden saamien ääripisteiden perusteella.
Haaste: Kuinka kauan sinulta kestää ratkaista kaupankäynnin haaste? .
Räätälöidyt HackerRank-testit
Yritykset voivat kirjoittaa räätälöityjä harjoitustehtäviä ja niiden pitäisikin. Se on vaikeaa ja vaatii erityisiä taitoja, mutta se kannattaa ehdottomasti.
Se on ainoa tehokas ratkaisu Googlea vastaan, jos se tehdään huolellisesti. (On itse asiassa yllättävän vaikeaa tehdä harjoituksia, jotka ovat sekä yksinkertaisia JA joita ei helposti löydy Googlen avulla 1000 tutorialista ja koodausfoorumeista).
Sadly, it doesn’t help against recruiters. (Lukuun ottamatta ensimmäistä erää ehdokkaita, jotka uhrataan kykyjenetsijöiksi).
Johtopäätös
Pilaammeko juuri HackerRankin esiseulonnan? Ei tietenkään! On loputon tarjonta pellejä, jotka eivät osaa erottaa Internetiä ja Internet Exploreria toisistaan.
Voisimme kirjoittaa kirjan, jossa opetetaan vastaukset 90 %:iin ohjelmointihaastattelujen ongelmista, mutta 99 % työnhakijoista ei koskaan lukisi sitä. Helvetti, se on kirjoitettu jo jonkin aikaa, eikä sillä ole ollut minkäänlaista vaikutusta.
Vain kourallinen kehittäjiä, jotka seuraavat blogeja/uutisia tai etsivät hakusanalla ”Mikä on HackerRank?”, voivat tulla paremmin valmistautuneina.
Jos jotain, tämä artikkeli tekee HackerRankista paremman ja relevantimman. Nyt testissä etsitään apua Googlesta ja korjataan hienovaraisesti rikki meneviä, väärällä kielellä kirjoitettuja koodinpätkiä ilman sisennyksiä.
HackerRank seuloo vihdoinkin työn kannalta olennaiset kyvyt!
Viimeinen neuvo. Tarvitset koulutusta, jos yrität läpäistä haastatteluriman hyvissä teknologiayrityksissä etkä ole päässyt MIT:hen. Tämä kirja on kultainen standardi, kun on kyse tietorakenteiden ja algoritmien kysymyksistä. Erittäin suositeltava. Se sisältää satoja kysymyksiä, joita sinulta kysytään yhä uudelleen ja uudelleen, jokaisessa yrityksessä. Lue ainakin ilmainen esikatselu Amazonissa.
Leave a Reply