it-swarm-eu.dev

Dobré projekty programování rozhovorů

Hledám nějaké malé programovací projekty, které mohu dát potenciálním zaměstnancům k posouzení jejich programovacích schopností. Budou to programátoři přímo z vysoké školy. Hledám projekty, které by někomu zabraly několik hodin a po odpovědi by jim zaslaly e-mailem své odpovědi.

Jedním příkladem by bylo vzít tento odstavec textu a vrátit seznam abecedních jedinečných slov. Po každém Slovu mi řekněte, kolikrát se Slovo objevilo a v jakém sentimentu se Slovo objevilo.

Někdo má nějaké dobré návrhy?

26
bigtang

Od té doby jsem dospěl k závěru, že nic, co by někdo mohl udělat v krátkém čase, mi o této osobě neřekne nic užitečného. Ale každý dobrý kandidát má již napsané osobní projekty, které vám mohou hodně říct. Proto jsem nahradil konkrétní výzvy slovy „dej mi kus kódu, na který jsi hrdý a rád, že jsi mohl opatřit své jméno.“

Jejich výběr projektu vám řekne více než jakýkoli hodinový úkol. A pak můžete strávit hodinu diskutováním, abyste se dozvěděli ještě více.

43
pdr

Jsem unavený z toho nesmyslného kecy. Byl jsem na místech, která mě požádala o vzorky kódu, roztrhla je od sebe, a pak mě požádala, abych vysvětlil příklad kódu z jejich systémů, který vypadal, jako by byl napsán rozbitými 2letými dětmi. Byl jsem požádán o implementaci temných algorythmů, síťových služeb, guis, datových struktur (vždy buď strom, nebo propojený seznam). Každá příchuť otravné nepříjemné otázky o tom, co si tazatel myslí, je nejdůležitější součástí programování.

Nakonec je to všechno k ničemu. Nejlepší způsob, jak zhodnotit zaměstnance, je najmout ho na 30 dní a zjistit, jak dobře vykonává práci. Trávte po celou dobu, po kterou chcete vyvíjet testy, a to vám neřekne nic o tom, jak někdo každodenně pracuje.

28
Satanicpuppy

Umožnit někomu, aby provedl praktický projekt ve svůj vlastní čas, nutně neznamená, že to dělají oni.

Každý přijde brzy na pohovor (dobře, alespoň by měl). Máme list „na počkání“, na kterém budou pracovat, dokud nebudeme připraveni je vidět. Má osm (8) otázek, které testují znalosti žadatelů v jazyce, který primárně používáme.

Nehledáme odpovědi na všechny, aby byly správné, protože je může kdokoli napravit pomocí počítače před nimi. Hledáme proces, zkusí dokonce otázku, jak přijdou na své odpovědi.

Když přijdeme na pohovor, projdeme si s nimi odpověď a zodpovíme všechny otázky, které mohou mít a které mohou také vést k získání správné odpovědi. Také nám umožňuje zeptat se, jak dostali odpovědi, na které přišli.

V kombinaci s předchozí prací jsme zjistili, že nejlepší způsoby, jak odfiltrovat kandidáty.

PDATE 2016/06/15

Výrazně jsme změnili náš proces v tom, jak najímáme vývojáře.

Fáze 1: 15minutový telefonní rozhovor, kde klademe 7 otázek. První 2 jsou „Na čem je nejzábavnější věc, na které jsi pracoval?“ (nemusí to souviset s programováním) a „Co kódujete pro zábavu ve svém volném čase?“.

Fáze 2: Mini projekt, který dokončí ve svůj vlastní čas. Poté s nimi sdílíme obrazovku a ukážou nám, co vytvořili. Během sdílení obrazovky je také donutíme, aby ve svém projektu provedli dvě změny, a pak je sledujte, jak to fungují a jak fungují.

Fáze 3: Osobní rozhovor.

Tento proces nám umožňuje okamžitě zjistit kulturu (fáze 1). Pokud dokážou práci a skutečně projdou řečí (fáze 2). Nakonec zajistěte, aby jejich hodnoty odpovídaly tomu, co hledáme (fáze 3).

12
RDL

Možná byste se měli podívat na Jon Jagger 's fantastický Cyber-Dojo .

Je to webové integrované prostředí určené k provádění úmyslná praxe of Test Driven Development a učení se o dynamice týmu. Má spoustu malých programovacích úkolů (kata) a podporuje řadu jazyků, od Python a Ruby do Java) a C++.

Na rozdíl od IDE navržených pro produktivitu neexistuje žádné doplnění kódu, zvýraznění syntaxe ani automatické refaktorování, takže uvidíte, co váš dotazovaný může bez nich udělat.

Nejlepší věc je, že poté, co uděláte kata, můžete se vrátit a podívat se na červenou/zelenou progresi (nebo možná ne, pokud nedělají TDD * 8 ') každého z kata. Každý kompilace/test odevzdá změny do úložiště git společně s výsledky testu.

Myslím, že použití této metody pro testy kódování rozhovorů vám může hodně říci nejen o schopnosti kandidátů vyřešit problém, ale také o jejich přístupu k řešení problémů a proces, který používají, když není omezen vnějšími faktory, stačí vybrat kata odpovídající době, kterou na ni kandidát stráví.

Pokud chcete svůj vlastní server CyberDojo, celý projekt najdete v githubu a odtud je dokonce připojen virtuální stroj zařízení Linux na klíč, což znamená, že za předpokladu, že již máte přehrávač VMware) nebo VirtualBox nainstalován, můžete být v provozu během několika minut od stažení zařízení!

4
Mark Booth

Rozhovor jsem provedl pouze s jednou společností, která to udělala. Dali dotazník o 6 nebo 7 problémech. Pokyny měly vytvořit metodu k vyřešení každého problému.

Jednou částí úkolu bylo uvědomit si, že můžete kód znovu použít. Problémy by mohly použít kód z jiných řešení. Nebylo to ani postupné. Například otázku 3 lze napsat pomocí metody použité pro otázku 5.

Navrhoval bych vyzkoušet něco takového.

Co se týče otázek? Některé počáteční otázky na stránce Project Euler jsou dobré.

Můžete také vyzkoušet jednoduchou hru, pokud chcete vidět, jak mohou projekt dát dohromady.

Nebo, pokud nechcete přijít s něčím, požádejte je, aby vám poslali nějaký kód z finálního projektu.

3
Tyanna

Chcete-li požádat lidi, aby dokončili projekt, měli byste mít konkrétní sadu dovedností, které chcete zhodnotit, a navrhnout projekt, aby tyto dovednosti otestoval.

Jedním příkladem by bylo vzít tento odstavec textu a vrátit seznam abecedních jedinečných slov. Po každém Slovu mi řekněte, kolikrát se Slovo objevilo a v jakém sentimentu se Slovo objevilo.

Co hledáte s touto otázkou? Kolik způsobů řešení existuje, a co vám každý přístup říká o osobě, která napsal odpověď? Prokazují dovednosti efektivní odpověď na tuto otázku stejné dovednosti, které jsou pro vaše podnikání nejdůležitější?

Nechci odpovědi na tyto otázky; Chci jen, abys přemýšlel o odpovědích, než budeš podroben skupině kandidátů svému procesu. Pokud víte, jaké dovednosti hledáte, vytvoření otázky k hledání těchto dovedností není těžké. Pokud použijete otázku někoho jiného, ​​aniž byste důkladně porozuměli tomu, co bylo navrženo k vyhodnocení (pokud něco), opravdu se klamete a ztrácíte čas každého.

3
Caleb

Jedním příkladem by bylo vzít tento odstavec textu a vrátit seznam abecedních jedinečných slov. Po každém Slovu mi řekněte, kolikrát se Slovo objevilo a v jakém sentimentu se Slovo objevilo.

V jakém jazyce by to napsali? Pokud přicházejí ze školy, která se silně zaměřuje na C, nebylo by to tak rychlé napsat jako to, které učí Python/Perl/Ruby atd. ... Nebo dokonce Java nebo C #. Přesto je to dobrý malý test.

Vlastně během pohovoru navrhuji některé jednodušší. Žádné trikové otázky. V tomhle jsem s TMN. Dejte jim několik funkcí, které vykonávají základní úkoly a zeptají se, co dělají (čtení kódu ostatních lidí). Pak jim dejte pár základních úkolů (<20 řádků), aby mohli psát v jazyce podle svého výběru. To by mělo stačit, aby vstupní úroveň věděla, zda mohou kódovat či nikoli (na pozici vstupní úrovně). To spolu s pohovorem a GPA by vám mělo poskytnout dobrý nápad o tom, co potřebujete vědět.

0
Awaken