Funderingar/frågor gällande intervju kring programmering [C#, Microsoft]

Permalänk

Funderingar/frågor gällande intervju kring programmering [C#, Microsoft]

Har precis varit på intervju gällande en tjänst och det gick inte så där jättebra precis - lite åt helvete om man uttrycker det så. Jag har haft erfarenhet av rätt många intervjuer - inte nödvändigtvis gällande programmeringsbranschen - och har rätt bra koll på vilka typer av frågor som kommer att ställas, vem man träffar, hur man kan förbereda sig osv.

Jag håller på att utbilda mig till programmerare och orienterar mig framför allt mot Microsofts produktfamilj. På intervjun fick jag göra lite tester. Och det var superenkla, mer eller mindre triviala saker. Vi kan hann beröra uppgifter/frågeställningar kring C#, Microsoft SQL, EF (Entity Framework), MVC etc. Dessa saker har jag hunnit pyssla lite med och känner mig rätt bekväm

Problematiken var att uppgifterna skulle skrivas/lösas på papper - vilket var mer eller mindre en dålig överraskning. Ett konkret exempel: Utifrån en SQL-fråga, om man utgår från den klassiska Northwind-databasen, skulle jag skriva ut alla customers från Sverige. Alltså typ detta:

SELECT CompanyName, Customers.ContactName FROM Customers WHERE Country = 'Sweden'

Redan där var det lite nervöst. Inte för att jag inte vet hur man skriver en viss given SQL-Query, utan den skulle skrivas på papper. Och typ för första gången fick jag skriva kod/query med penna, vilket jag är helt obekväm med. Sen blev det typ värre och värre. Mer komplexare query's, svårare C#, svårare saker kring EF osv.

Och som sagt - utan att på något sätt hävda att man verkligen kan saker och ting, eller att bli uppfattad som pretentiöst eller för självsäker - så skulle uppgifterna vara självklarheter om jag fick sitta framför Visual Studio, Managemanet Studio eller whatever och lösa dem.

Som person är jag liksom analytisk och logisk orienterad. Jag ser struktur, mening, logik i saker och ting i en större helhet och kan komma fram till hur olika uppgifter ska lösas. Jag har en viss uppfattning kring olika... "programmeringskoncept" - i brist på bättre ord - kan se ut och hur det implementeras i praktiken. Jag vet vad som är Singleton-pattern, Domain-driven Design, Inheritance, Asyncronous Programmering osv. Jag vet hur man kan joina tabeller i SQL och filtrera vad som ska visas i en output. Men jag är ingen person som kommer ihåg hur syntaxerna ska se ut helt exakt. Att be mig skriva fullt fungerande syntaxer på papper är helt klart en svag sida hos mig.

Jag känner mig mycket mer bekväm att skriva hela applikationer (med verktyg som VS), diskutera struktur kring kod, designval med mera än att skriva ned renodlade syntaxer. Jag skriver inte detta inlägg för att snacka skit om ett visst företag, hävda att jag vet bättre eller på något . Upplevelsen är givetvis en lärdom som jag kommer att bära med mig och jag hoppas att man som person utvecklas.

Men det jag undrar är det vanligt förekommande med sådana typer av tester? Jag har varit på andra programmeringsintervjuer och detta var en förstaupplevelse, och jag antar att det i framtiden kommer flera, liknande upplägg Jag kan redogöra de fyra grundpelare inom OOP (inheritance, abstraction, encapsulation, isomorhpism) i tekniska termer, men att förklara för en 5-åring inheritance är en omöjlighet haha (ja, fick frågan). Jag vet att de ungefär ville kolla hur mycket jag kan, vad min kunskapsnivå ligger på, hur jag agerar under press osv. Fast... äsh jag vet inte haha

Vara bara tvungen att skriva mina 2 cents Någon som har nån kommentar/feedback? Det tas emot med glädje!

Permalänk
Inaktiv

För trött för att läsa hela men det finns sjukt mycket olika typer av människor inom branschen, och väldigt många arroganta intervjuare vill jag säga. Bara haft en intervju som jag failat totalt på, och det är också enda intervjun jag tvingades skriva kod på papper på. Människorna där hade en väldigt "skev" syn på utveckling från mitt perspektiv, och var inte alls särskilt duktiga på att sköta intervjuer. Dom hade mycket fancy ord och begrepp för olika strukturer, metoder, idiomer men verkade inte insatta så mycket i det faktiskt tekniska.

Den bästa anställningsprocessen jag erfarit (både roligast samt som jag gjort bäst ifrån mig på) involverade ett ganska stort kunskapsprov(implementera ARP protokollet i C89) för att ens få en intervju, samt en ganska lång intervju med 3 personer och ett skriftligt test (med kod, men istället för att skriva kod så fick jag läsa kod i lugn och ro helt ensam och ge svarsalternativ). Aceade i princip båda testen (>90% på första provet, 10/10 på skriftliga) och fick såklart jobbet.

Med det sagt så tror jag definitivt att allt är individuellt! Beror mycket på var man kommer ifrån och vart man är påväg tror jag.

Permalänk
Medlem

Hade en intervju för bara några veckor sen med test som det man får göra för att certifiera sig i c#. (Angående certifiering så har jag tagit första delen i .Net och min åsikt är att det inte visar något alls, bara en massa onödigt pluggande på onödiga lära-sig-utantill-saker).
Det är inte precis samma situation, men ändå liknande i och med att det testar något som i vanliga fall Visual Studio, Msdn eller Google svarar på. Jag ser det som så att om intervjuarna lägger stor vikt vid liknande test är det antagligen ingen arbetsplats som skulle passa mig, så lika bra att få reda på det direkt.. Tänk på att intervjun är lika mycket dom som ska sälja in jobbet till dig. Verkar det inte bra (tex genom att ha dylika test) är det bäst att hitta ett annat företag.

Sen är det klart att det alltid är lite störande att misslyckas på ett test (även dåliga), det tycker även jag..

Permalänk

Tack för era synpunkter/kommentarer! Kände att jag blev mer eller mindre avklädd på den intervjun haha.

Rent generellt sätt är jag ganska skeptisk mot dessa former av tester. Men nu vet jag iallafall att denna typ av intervjuform förekommer och till nästa intervju lär jag inte bli överraskad på samma sätt

Permalänk
Medlem

Vet inte hur ofta det förekommer, men då kanske jag har haft "tur". Sedan jag gick ut skolan förra våren har jag varit på tre intervjuer (med några fler inbokade som jag avbokat). Första intervjun gav mig ett jobb och nu ett år senare fick jag erbjudande på två ställen där jag blev intervjuad då jag sökte mig vidare från företag 1. Inget test på något av ställena. På ett av ställena var dom till och med förvånande över att jag hade med papper över de certiferingar jag har och gamla arbetsgivarintyg. Det beror säkert på vilken stad man bor i och hur stort behovet av folk är

Visa signatur

Stationär: Fractal Design Meshify 2 Compact, Ryzen 7 5700x, MSI MAG B550 Tomahawk, Kingston HyperX Fury 32GB 3600Mhz CL18, Sapphire Radeon RX 5700 Pulse, Kingston KC3000 1TB, Kingston A2000 1TB, Seasonic Focus GX 650W, Noctua NH-U14S

NAS: Fractal Design Define R5, Ryzen 3 1200AF, Asus Prime B450M-A, 32GB ECC DDR4 @ 2133Mhz, 5x WD Red 4TB (Raidz2), WD Red 2TB (stripe), TrueNAS 12.0

Permalänk

Man ska nog vara beredd på att under en anställningsintervju för en "graduate position" eller någon med lite erfarenhet att det kommer ett litet programmeringsprov eller förhör. För en mer senior position så tror jag inte det är lika vanligt men det finns säkert undantag där med. Jag vet att Google brukar ha rätt rigorösa programmeringsprov via Skype där de öppnar upp ett Google Docs och ber dig lösa klassiska algoritmproblem med grafer etc from scratch, rätt hardcore

Generellt så brukar inte dessa prov vara svåra om man just har programmerat. Ingen lär be dig implementera quicksort eller mergesort på papper och penna utan det brukar vara betydligt lättare problem för att se att man faktiskt inte har några svårigheter att lösa väldigt triviala problem. Jag tror även den som intervjuar förstår att man blir lätt nervös och kan begå dumma slarvfel, men man får ju som sagt en känsla av om personen fann uppgifterna att vara väldigt lätta eller väldigt svåra.

Permalänk
Medlem

Jag har vid flertalet tillfällen varit den som varit elak och serverat dessa programmeringsuppgifter till intervjupersoner mitt företag varit intresserade av att anställa. Vi hade dock ett litet annat upplägg. En preppad laptop med allt den vi intervjuar behöver. Googling tillåten osv. Det har varit ganska små uppgifter som en riktigt vass utvecklare löser på en kvart. Även dessa kan avslöja ganska mycket. Ibland har man bara fått in pseudokod, ibland inget alls. Det är klart att man då får en liten uppfattning om huruvida personen i fråga jobbar bra trots den nästan extremt pressade situationen och om de praktiska kunskaperna mappar någorlunda mot de teoretiska.

Med det sagt är detta bara en del av en större process. Personlighetsdrag, tekniska frågor, ambition etc. Allt sådant spelar roll. Det går inte att få alla svar om en persons programmeringskunskaper genom ett programmeringstest på 45 minuter, och vad jag kan minnas har det nog bara varit vid ett tillfälle har det varit den främsta anledningen till att vi INTE anställde. Precis som RenderMonkey säger gäller det att som intervjuare ha förståelse för att det är mycket nervositet inblandat, särskilt om det är en nyexad man har framför sig som kanske inte har massor av intervjuvana. Sedan vet jag att olika företag gör olika. Vissa kör hela baletten med IQ- och personlighetstester, kodprov, teknisk intervju m.m. Det viktiga tycker jag är att få input från flera intervjuare, däribland det team personen som intervjuas eventuellt ska jobba med. Sedan gärller det att sammanställa alla intrycken och göra en så bra bedömning man kan utifrån det. Det är ett stort ansvar att anställa någon, så det brukar kunna vara lite nervöst i båda ändar ibland.

Permalänk
Medlem

Fortsätt att nöta, lära sig mer, om man är osäkert på nåt som frågades lär dig detta. När det gäller CV etc så kan de vara bra att lägga upp ett program på t.ex en hemsida med programmerings kåden så de kan se vad du även har gjort.

Som i alla jobb så finns det nivåer, om du precis pluggat klart skall du nog försöka hitta junior positioner som är så du kan lära dig mer och växa. Men företag kommer att chansa på kandidater för de vet ju inte direkt om den som söker satt och programmerade C/C++ när de var 14 år och sedan pluggade det och hade typ 6 års erfarenhet av programmering som nyexamerad från plugget, och i vissa fall vill arbetsgivare ha sådana personer som inte bara pluggade på en skola i typ 2 år.