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!