Sollicitatievragen voor junior PHP programmeurs en software development trainees

In dit artikel delen wij een aantal voorbeeldvragen die je kunt verwachten als je besluit te solliciteren op een traineeship als software ontwikkelaar of een junior functie als PHP ontwikkelaar. Neem eens rustig de tijd om grondig na te denken over bepaalde vragen in dit overzicht. Ze lijken namelijk op het eerste gezicht erg simpel, maar een vraag als ‘Vertel eens iets over jezelf?’ doet bij menig sollicitant de hersenen al kraken.

Voorbeeld sollicitatievragen:

  1. Vertel eens iets over jezelf?
  2. Wanneer je niet bezig bent met studeren of programmeren, waar vul je je vrije tijd dan mee?
  3. Wat is het meest uitdagende (complexe) project waar je aan hebt gewerkt gedurende je tijd op de hogeschool of universiteit?
  4. Wat is het verschil tussen ‘overwriting’ en ‘overloading’ in OOP?
  5. Vertel eens over de ervaringen die je hebt opgedaan terwijl je in een projectgroep werkzaam was?
  6. Hoe ga je om met conflictsituaties bij het uitvoeren van een groepsopdracht binnen een projectgroep?
  7. Schrijf een sql query om twee tabellen toe te voegen in een database.
  8. Stel je voor dat je twee reeksen hebt: a = [1,2,3,4,5] en b = [3,2,9,3,7]. Schrijf een programma om overeenkomende elementen te vinden in beide reeksen.
  9. (Gerelateerd aan vraag 8) Kun je dit schrijven zonder een ‘for loop’ te gebruiken?
  10. (Gerelateerd aan vraag 8) Als ik de reeksen verkort, zal dit dan een verschil uitmaken in je code? Kun je betere code schrijven als de reeksen korter zijn?
  11. Waarin verschillen ‘ArrayList’ en ‘Set’ van elkaar?
  12. Wat is muziek? Zie dit maar als de grote verrassingsvraag! 
  13. Schrijf een sql query om te bepalen hoeveel items van een product zijn verkocht en rangschik deze op aflopende volgorde (maak hierbij gebruik van de aggregate functie).
  14. Wat zou je van ons willen leren? (Deze vraag komt niet vaak voor, maar sta hier zeker bij stil in je voorbereiding.)
  15. Wanneer je van de ene naar een andere programmeertaal/technologie overstapt, hoe bereid jij je hier dan op voor? Hoe leer je hiervoor?
  16. Teken een UML diagram voor een verkoopautomaat. (Deze vraag zul je zeer waarschijnlijk niet face-to-face krijgen maar via de mail ontvangen.)
  17. Wat is jouw favoriete programmeertaal? (Wees voorzichtig bij het beantwoorden van deze vraag, ontwikkelaars zijn namelijk nogal gehecht aan hun favoriete taal, dus geef niet al te hard af op andere programmeertalen ;-))
  18. Welke studievakken heb je nog meer gevolgd die niet meteen gerelateerd zijn aan programmeren? Gaat je interesse ook uit naar studievakken die raakvlakken hebben met business management?
  19. Kun je ons via de mail eens wat werk toesturen waaraan je hebt gewerkt? (Dit is een vraag die vrijwel elke organisatie waar je zult solliciteren je zal stellen!)
  20. Wat houdt het gebruik van index in database in? Geef eens een voorbeeld van kolommen die geïndexeerd moeten worden.
  21. Wat houdt het gebruik van ‘foreign key’ in database in?
  22. Waarom besloot je om een studie te volgen waarin de nadruk ligt op programmeren (software ontwikkeling)?
  23. Wat inspireert jou in het leven? M.a.w. wat motiveert jou?
  24. Wat is jouw doel voor de komende 5 jaar? Waar zou jij jezelf graag zien staan in de toekomst?
  25. Wat is MVC pattern?
  26. Ben je bekend met design patterns? Zo ja, kun je er een aantal opnoemen en uitleggen wat deze inhouden.
  27. Ik heb een bug en die moet ik verhelpen: De ontvangende printer print in het Frans. Nu wordt mij verteld door een collega om een test te schrijven, zodat ik kan valideren of de printer defect is. Is het niet vreemd dat ik dit al doe voordat ik überhaupt heb gekeken wat de oorzaak is van de bug? Is het niet logischer om achteraf een test te schrijven en te valideren of de bug verholpen is?
  28. Wat is het doel van een final field?
  29. In welk opzicht is het gebruik van immutable objects handig?
  30. Ik roep setsize (new Dimension 640, 480) op op JFrame en het komt op als 640,480. Ik stel dan JPanel in naar ContenPane en roep setSize (320,240) op op het panel, maar om een nog onverklaarbare reden neemt het panel het hele JFrame in. Wat zou het probleem kunnen zijn? (Java gerelateerde vraag)
  31. Wat is een Heavyweight vs een Lightweight component? Kun je van beiden een voorbeeld geven? (Java gerelateerde vraag)
  32. Een query verwijzend naar een tabel in mijn database is traag, dus besluit ik om deze te versnellen door een index toe te voegen aan iedere kolom op die tabel. Waarom is dit geen goed idee?
  33. Hoe zou jouw droombaan er uitzien? Het is een droombaan, dus je mag buiten het ‘realistische’ treden. Laat je fantasie de vrije loop, dat is het enige wat we van je vragen.
  34. Heb je tot slot nog vragen? (Geef niet als antwoord, dat je geen vragen hebt. Stel gerichte vragen omdat dit aangeeft dat je geïnteresseerd bent in de organisatie.)

Een laatste advies

Het overgrote merendeel van de organisaties waar je zult solliciteren zullen je vragen om projecten te tonen waar je aan hebt gewerkt. Tip: zorg er voor dat je er een aantal klaar hebt staan in bijv. Github om te tonen wanneer hier om wordt gevraagd.

Zoals eerder aangegeven, is het handig om een aantal vragen voor te bereiden die je aan het einde van het gesprek kunt stellen. Het is namelijk ‘not done’ om bij de vraag: ‘Heb je nog vragen voor ons?’ te antwoorden met ‘NEE’! Wij adviseren je om op voorhand een lijstje met vragen op te stellen. Hieronder volgen een aantal voorbeeldvragen die je kunt stellen:

  • Welke IDE gebruiken jullie?
  • Worden nieuwe medewerkers begeleid door een mentor gedurende de beginfase?
  • Hoe ziet het vervolg van de sollicitatieprocedure eruit? Wat is de volgende stap in het proces?
  • Wanneer kan ik een bericht verwachten over de uitkomst van dit gesprek?
  • Mocht ik uiteindelijk door de verdere selectieprocedure komen en ik word geselecteerd, wat zou dan het hoofdveld zijn waarbinnen ik mijn werkzaamheden zal starten?  

Wanneer het interview er opzit, vergeet dan niet om te bedanken voor de tijd die uitgetrokken is om je te ontvangen. Zelfs wanneer je het gevoel hebt, dat het gesprek niet is gegaan zoals je had verwacht. En zoals bij veel dingen in het leven, luidt ook hier het credo: hoe meer gesprekken je voert, hoe beter je er in wordt en dat leidt er toe dat je in een toekomstig gesprek weer beter uit de verf komt.

Tot slot raden wij je aan om eens het volgende boek door te nemen om je beter voor te bereiden op een sollicitatiegesprek:

Cracking the Coding Interview: 189 Programming Questions and Solutions (6th Edition) - Gayle Laakman McDowell