mboost-dp1

Why The New Guy Can’t Code


Gå til bund
Gravatar #2 - Windcape
11. maj 2011 14:06
#1

Jo tak, den slags historier hører jeg rimelig tit fra mit netværk uden for Danmark.

Det er heller ikke mit indtryk at tekniske interviews er særlig brugt i Danmark, ihvertfald ikke i forhold til USA. Mange jeg kender i USA har lavet interviews (som senior devs, altså efter HR interview) med udviklere, hvor de f.eks. har spurt om algoritmer, eller ting som deep-first-search o.lign.

FizzBuzz eller binary-search er begge dele rimelig basale, og viser desværre ikke noget om skills i arkitektur eller rigtig programmering. Men man burde vel alligevel forvente at alle programmører kan skrive en FizzBuzz.

På den anden side, så havde jeg programmeret i 3-4 år, før jeg fik brug for Modolus første gang... og jeg havde absolut ikke hørt om det i folkeskolen :p
Gravatar #3 - onetreehell
11. maj 2011 15:54
#2
Jeg havde ikke hørt om fizzbuzz før, men det er altså ikke helt let at *kode* en binær søgning. Man kommer meget let til at lave en off-by-one fejl, og så får man enten forkerte svar eller non-termination. Hvilket er skidt.

Man kan sagtens finde på 'nemme' opgaver hvor løsningen ikke er en arketypisk algoritme. Så kan man få lov til at vise lidt kreativitet.

Wut, hvordan kan du have undgået modulus-operatoren i så lang tid?! Jeg tror højst der gik et par uger før jeg fik brug for den.
Gravatar #4 - reefermadness  
11. maj 2011 15:55
#3 Jeg gætter på at de gange han har haft behovet for modulus har han gået omveje for at få samme resultat, simpelthen fordi han ikke kendte til dens eksistens..
Gravatar #5 - Makey
11. maj 2011 16:39
Ikke at jeg er koder, men interessant artikel, da man sagtens kan trække paralleller til job-interviews i andre faggrupper hvor man sætter forkert fokus i sit interview. Men som vindkappen er inde på, så er det ikke noget man ser her i Danmark, eller andre vestlige lande (mentalitetsmæssigt, så her tæller lande som Australian/NZ også med) som er en mellemting mellem relationship- og deal-focused hvorimod USA er klart deal-focused.
Gravatar #6 - arne_v
11. maj 2011 16:49
#interviews i DK

Det er eller mit indtryk at de fleste danske virksomheder ansætter IT folk efter princippet:

function udvalgttilsamtale(ansøgere) {
return select top 3 from ansøgere order by ordsammenfald(ansøgning,opslag) desc
}

function udvalgteftersamtale(ansøgere) {
return select top 1 from ansøgere order by 0.5*tekniskeskills+0.5*organisatoriskfit desc
}

ansat = itafdeling.udvalgteftersamtale(personaleafdeling.udvalgttilsamtale))

d.v.s. at der er et interview med nogle af de (potentielt) fremtidige kolleger.

Indholdet af et sådant interview vil jo så afhænge lidt af hvilket type der skal ansættes, forventet erfarings niveau og interviewernes personlige præferencer.

Men for et udviklerjob vil det være mærkeligt hvis ikke noget af samtalen bliver lidt teknisk for at checke om nu ansøgeren kan det som ansøgningen påstår vedkommende kan.
Gravatar #7 - arne_v
11. maj 2011 16:57
#relevante spørgsmål

Det er ikke nemt at finde de rigtige spørgsmål.

Vi har et par dårlige eksempler på bordet.

FizzBuzz - at checke på om folk ved hvad det er er ca. lige så seriæst som at teste for om cpr nummer modulus 317 er 44 som kriterie - det er jo helt tilfældigt om folk har stiftet bekendtskab med det eller ej.

Implementere binary search i kode er heller ikke en interessant øvelse. Det bliver igen meget tilfældigt om folk har prøvet at kode den og kan huske præcis hvordan eller om de rammer en lille smule ved siden af. Det der er interessant er om de 1) kender big O for den 2) ved hvad forudsætningen for at den kan bruges er 3) kan beskrive princippet i den.
Gravatar #8 - myplacedk
11. maj 2011 17:18
arne_v (7) skrev:
FizzBuzz - at checke på om folk ved hvad det er er

Huh? Udfordringen er vel at løse opgaven, ikke at kende den på forhånd.

Jeg synes FizzBuzz-opgaven lyder ganske glimrende, hvis der virkelig er en væsentlig andel af ansøgerne som ikke kan løse den.
Gravatar #9 - arne_v
11. maj 2011 17:23
#8

Hvis der foreligger en beskrivelse af den, så er det et algoritmisk problem.

Men hvis man skal ud i læs det her, tænk over det, stil spørgsmål, og lav kode, så bliver det et meget langt interview.
Gravatar #10 - myplacedk
11. maj 2011 17:34
#9
Write a program that prints the numbers from 1 to 100. But for multiples of three print "Fizz" instead of the number and for the multiples of five print "Buzz". For numbers which are multiples of both three and five print "FizzBuzz".

Jeg synes det ligner en god og hurtig test på om der overhovedet er noget programmør-agtigt i ansøgeren.

Man kan nok også lære noget af om der er en masse nestede if'er eller andre mystiske konstruktioner, men man skal ikke lægge alt for meget i det.
Gravatar #11 - izym
11. maj 2011 17:55
#10

Sandt at man nemt kan teste om ansøgeren overhovedet kan programmere med sådan en test, men man skal altså ikke ret langt op i niveau før den ikke kan bruges til noget.
Gravatar #12 - drbravo
11. maj 2011 17:56
Én ting er at der findes dårlige kodere, men herregud - det er trods alt sjældent kritisk software ikke bliver testet grundigt igennem.

En helt anden ting er læger. Næsten halvdelen af de læger der arbejder i danmark er dårligere end gennemsnittet! Tænk lige over det næste gang du skal have fjernet en blindtarm.. Eller en testikel! :o
Gravatar #13 - arne_v
11. maj 2011 18:04
#12

Og præcis halvdelen er dårligere end gennemsnittet.

Men har du nogen løsning på det problem?

:-) :-) :-)
Gravatar #14 - JesperZ
11. maj 2011 18:48
#13 Udryd alle læger? Så er ingen dårligere end gennemsnittet.
Gravatar #15 - Windcape
11. maj 2011 18:51
reefermadness (4) skrev:
#3 Jeg gætter på at de gange han har haft behovet for modulus har han gået omveje for at få samme resultat, simpelthen fordi han ikke kendte til dens eksistens..
Ikke just.

Spørgsmålet opstod vist i forbindelse med alternate colours, til en tabel. Men man kan kode ret mange ting før det bliver relevant.

Selv når der benyttes modulus i dag, er det jo typisk til alternate colors, ie. i % 2 == 0. At validere CPR numre, kreditkort eller lign. er jo ikke noget man laver særlig tit, da moduler til dette typisk altid er lavet i forvejen.
Gravatar #16 - drbravo
11. maj 2011 19:10
arne_v (13) skrev:
#12

Og præcis halvdelen er dårligere end gennemsnittet.

Men har du nogen løsning på det problem?

:-) :-) :-)


Teknisk set behøver det ikke være præcis halvdelen af lægerne der er dårligere end gennemsnittet. Jeg har ihvertfald ikke set beviser for at lægekvaliteten er normalfordelt.
Gravatar #17 - arne_v
11. maj 2011 19:12
#16

Korrekt.

Jeg mente også medianen.
Gravatar #18 - arne_v
11. maj 2011 19:13
#16

Læge kvalitet er dog formentligt tæt på normal fordelt.
Gå til top

Opret dig som bruger i dag

Det er gratis, og du binder dig ikke til noget.

Når du er oprettet som bruger, får du adgang til en lang række af sidens andre muligheder, såsom at udforme siden efter eget ønske og deltage i diskussionerne.

Opret Bruger Login