Hoe de vaardigheden van Python ontwikkelaars te screenen

Gepubliceerd: Laatst bijgewerkt:
Python: software ingenieur interview vragen

Als u op zoek bent naar een persoon met Python ontwikkelaarsvaardigheden, weet dan dat het vinden van die persoon slechts het halve werk is. Dus zelfs als u ze kunt vinden, kan het wat extra moeite kosten om echt te begrijpen wat Python-vaardigheden werkelijk zijn. De echte Python vaardigheden zijn een complex iets om te begrijpen, maar hier introduceren we een expert op dit gebied, Wojtek Erbetowski om het onderwerp aan het licht te brengen.

1. Wat is Python?

Python is een van de populairste programmeertalen (derde op de ranglijst volgens de TIOBE-index per december 2018). Het werd voor het eerst uitgebracht in 1991 en verwierf zijn populariteit omdat het eenvoudig te leren is, maar toch krachtig in het oplossen van problemen. De syntaxis lijkt op die van de C++-familie, maar is uitgerust in een verscheidenheid aan moderne oplossingen.

De belangrijkste voordelen van Python zijn:

  • Vlakke leercurve. Het brengt gebruikers met weinig technische ervaring binnen, zoals academici voor onderzoek, of bedrijven voor automatisering.
  • Het is eigendom van een onafhankelijke Python Software Foundation (PSF) en wordt geleid door de gemeenschap.
  • Krachtige wetenschappelijke hulpmiddelen (bv. SciPy).
  • Goede documentatie en steun van de gemeenschap. Dit omvat vele lokale gebruikersgroepen en conferenties.

2. Wat is belangrijk voor een IT Recruiter om te weten over Python?

Aangezien Python een verscheidenheid van toepassingen heeft. Het is vaak moeilijk om kandidaten te onderscheiden van academici, via netwerkprogrammering en webapplicaties tot eenvoudige scripting. Toch is het voor een ontwikkelaar vaak gemakkelijker om nieuwe Python te leren dan om van domein te veranderen (bv. van Data Science naar Web Applications).

In 2007 werd Python 3.0 uitgebracht. Het werd afgewezen door de gemeenschap vanwege achterwaartse incompatibiliteit. Dit stelt de gemeenschap tot op de dag van vandaag voor een uitdaging, aangezien Python 2 en 3 tot op de dag van vandaag vrijwel dezelfde markeringen hebben.

Python is dynamisch getypt, wat scripting en het schrijven van kleine toepassingen vergemakkelijkt. Er wordt vaak gezegd dat het problemen oplevert bij het bouwen van grote en langdurige applicaties.

3. Hoe kunnen de vaardigheden van Python ontwikkelaars in de screening fase worden geverifieerd?

Screening is vermoeiend, moeizaam en tijdrovend. Gewoonlijk maken IT-recruiters gebruik van cv-screening, technische screening (coding tests) en interviews om de Python-vaardigheden te beoordelen.

Hieronder vindt u enkele nuttige en praktische aanwervingstips voor het verifiëren van Python-vaardigheden aan de hand van elke methode.

3.1. Technische screening van Python ontwikkelaarsvaardigheden op basis van CV

Gelukkig (voor het werven) heeft Python minder bibliotheken en technologieën om op te screenen dan b.v. Java. Toch kunnen een aantal zaken verwarrend zijn.

Python taal Populaire versie 2.6, 2.7, 3.4, 3.5
Python web frameworks Django, Flask, Bottle, Tornado, web2py
ORM SQLAlchemy, Django ORM
Gereedschap bouwen Setup-tools, pip, tox
Testkaders UnitTest, py.test, neus
Asyncio Python 3.5, Tornado, Twisted
Hulpmiddelen voor gegevensanalyse NumPy, SciPy, Pandas

Hoogtepunten:

  • Python 2 en 3 zijn zeer verschillend. Python 2.7 is de laatste (en laatste) versie van Python 2. Python 3 versie is in ontwikkeling en de laatste versie is 3.6.
  • Asyncio komt alleen voor in Python 3.
  • Tornado, Twisted, Gevent zijn allemaal bibliotheken voor async programmeren.
  • Django is veruit het populairste web framework.
  • Unit test bibliotheek is ingebouwd in de taal, en wordt daarom zelden apart genoemd.

Certificering

De Python gemeenschap biedt geen certificatie programma aan. Daarom is het zeldzaam om (onafhankelijke) certificaten voor Python taal of bibliotheken tegen te komen.

Full-stack ontwikkelaars

Fullstack betekent vaak dat een Python-ontwikkelaar ook HTML-pagina's met CSS en JavaScript mag maken. Frontend vaardigheden zijn welkom en de meeste JavaScript doorlichtingskennis is hier van toepassing.

3.2. Technische screening van Python-technische vaardigheden tijdens een telefoon-/video-interview

Aangezien het vrij moeilijk is om betrouwbare conclusies te trekken over de programmeervaardigheden van een kandidaat uit zijn cv zelf, houden IT-recruiters vaak een telefonisch of video-interview. Zo'n interview biedt de mogelijkheid om vragen te stellen over hun Python-vaardigheden. In veel bedrijven is zo'n technisch telefoon- of video-interview de basis voor de beslissing om iemand al dan niet uit te nodigen voor een technisch interview ter plaatse met het IT-team, dus het is de moeite waard om de juiste technische vragen te kiezen en te stellen.

De vragen zelf kunnen variëren naargelang de functie waarvoor u rekruteert en de specifieke vaardigheden die u wilt nagaan. Op basis van mijn ervaring zou ik u de volgende algemene vragen aanbevelen om meer te weten te komen over de Python-vaardigheden van een kandidaat:

A. Python interview vraag over de ervaring van de ontwikkelaar

  • Q1: Met welke in uw CV genoemde technologieën hebt u in de afgelopen 2 jaar commerciële ervaring opgedaan? Wat waren uw verantwoordelijkheden? Wat was uw grootste prestatie?
  • Waarom vraag je Q1: Door deze vraag te stellen, komt u meer te weten over de actuele Python-ervaring, verantwoordelijkheden en prestaties van de kandidaat. Zo leert u uw kandidaat beter kennen.

B. Python interview vraag over de kennis en meningen van de ontwikkelaar

  • Q2: Welke Python open source bibliotheken vind je waardevol en waarom?
  • Waarom vraag je Q2: Met deze vraag kan de kandidaat zijn kennis van het Python-ecosysteem aantonen. Bovendien kan de kandidaat aangeven waar hij rekening mee houdt bij de keuze voor een bepaalde technologie. Als vervolgvraag kun je ook vragen wat naar zijn mening voordelen zijn van commerciële oplossingen boven open source en vice versa. Dit laat zien hoe de kandidaat denkt.
  • Q3: Ik heb gezien dat je kader X op je CV hebt staan. Wat is je mening daarover? Is het een goede keuze?
  • Waarom vraag je Q3: Met zo'n open vraag kan een kandidaat laten zien dat hij kennis heeft, als hij die heeft. U kunt ook advocaat van de duivel spelen op basis van hun antwoorden "Maar waarom gebruikt u daarvoor niet framework Y?". Zo kunt u zien hoe de kandidaten een technologie kiezen, hun keuzes rechtvaardigen en of zijn mening overeenstemt met die van uw IT-teams.

C. Python interview vraag over de besluitvorming van ontwikkelaars met betrekking tot Python technologie

  • Q4: In welk stadium bent u bij recente projecten betrokken geweest? Was u betrokken bij de keuze van de technologie of de opzet van het project? Zo ja, welke technologie heeft u gekozen of aanbevolen voor het project en waarom?
  • Waarom vraag je Q4: Dergelijke vragen laten niet alleen zien hoe een kandidaat keuzes maakt met betrekking tot technologie, maar ook of hij of zij bij de besluitvorming werd betrokken. Vooral belangrijk als u op zoek bent naar iemand met ervaring.

D. Gedragsvraag voor python ontwikkelaar

  • Q5: Denk aan de programmering van een projectbeslissing die je hebt genomen en die een mislukking was. Waarom denk je dat het een fout was? Waarom is het gebeurd? Kon er iets anders worden gedaan om het tot een succes te maken? Welke stappen heb je ondernomen om de situatie te verbeteren? Wat heb je van deze ervaring geleerd?
  • Waarom vraag je Q5: Met dat soort vragen kunt u te weten komen hoe de kandidaat zijn beslissingen ziet, conclusies trekt en hoeveel hij van zijn eerdere ervaring leert.

3.3. Technische screening van Python-vaardigheden met online codeertest

Online coding tests kunnen een goede manier zijn om Python vaardigheden te screenen. Hieronder vindt u informatie over hoe u codetests kunt gebruiken en welke u het beste kunt kiezen.

Online Python-coderingstests - de primaire of aanvullende methode voor screening

Sommige bedrijven gebruiken een programmeertest als een aanvulling op de screening van kandidaten nadat het cv is geanalyseerd en een telefonisch of video-interview is afgenomen. Maar steeds meer bedrijven maken gebruik van codetests als de eerste methode om programmeurs te screenen. Bedrijven nodigen tegenwoordig alle kandidaten die voor een bepaalde functie solliciteren uit om een test te doen. Op die manier besteden recruiters hun tijd alleen aan kandidaten die het examen met succes hebben afgelegd, om te bewijzen dat zij over Python programmeervaardigheden beschikken. Aan de andere kant wordt kandidaten niet gevraagd om al in een vroeg stadium veel tijd te besteden aan het wervingsproces - in plaats daarvan maken ze de test snel af (meestal binnen een uur) wanneer het hen uitkomt, zowel qua tijd als qua plaats.

Python online coderingstest - welke te kiezen?

Er zijn veel Python online codeer tests op de markt, maar meestal controleren ze de kennis van de kandidaat in plaats van de programmeervaardigheden en het vermogen om echte codeerproblemen op te lossen. Daarom houden veel ervaren programmeurs niet van dit soort toetsen en bovendien kunnen ze geen goede score halen omdat ze hun ervaring en vaardigheden in het oplossen van echte programmeerproblemen niet kunnen laten zien.

Welke kenmerken moet een goede codeertest hebben? Hieronder vind je mijn top 5 van kenmerken waar je naar moet zoeken:

  1. Python-programmeertesten moeten niet alleen de Python-vaardigheden toetsen voor zover het de technologie in het algemeen betreft, maar ook frameworks en bibliotheken;
  2. Python codeertests moeten bestaan uit een aantal taken, niet alleen multiple-choice tests, maar vooral uit programmeertaken waarvan de moeilijkheidsgraad moet overeenkomen met de verantwoordelijkheden die de kandidaten zullen hebben als ze de baan krijgen (tests moeten niet gebaseerd zijn op algoritmische taken, omdat je dan niet kunt nagaan of een kandidaat real-life codeeruitdagingen kan oplossen);
  3. Bij voorkeur moeten Python-programmeertaken worden voorbereid op de eigen codebasis van het bedrijf, omdat dit de beste manier is om de uitdagingen na te bootsen die de kandidaat zal krijgen zodra hij de baan heeft;
  4. Het heeft geen zin de programmeur te verbieden externe bronnen te gebruiken. De beste manier is om een omgeving te creëren die lijkt op de omgeving die ze op het werk zouden hebben, dus een open boek examen is veel geschikter. Bovendien moet de kandidaat de IDE van zijn voorkeur kunnen gebruiken, net zoals hij dat in het dagelijks leven doet.
  5. Coding tests kunnen ook een taak met code review uitdagingen bevatten om Python vaardigheden te testen. Dit geeft zeer nauwkeurige informatie over de ervaring van de kandidaat, zijn benadering van de kwaliteit van de code en de efficiëntie van het debuggen en het vinden van valkuilen. Een dergelijke beoordeling zou verplicht moeten zijn bij de aanwerving van Python senior ontwikkelaars.

Noot van de redactie: Dit bericht werd oorspronkelijk gepubliceerd op 28 februari 2016. Het is uitgebreid bijgewerkt om de nieuwste technische informatie en beste praktijken weer te geven.

Auteur - Wojtek Erbetowski

Wojtek_Erbetowski Pyhton ontwikkelaar technische vaardigheden

Wojtek is een hands-on leider met ~10 jaar API's / web apps ervaring in Python en Java. Werkte als Head of Engineering @ Polidea, CTO @ GrowBots en neemt actief deel als Community Leader @ Warsaw Java User Group en Mobile Warsaw en organisator van de MCE Conference. Open source library contributor, software ontwikkelaar, agile voorstander. Hij werkte in verschillende sectoren, bijv. verkoop, ouderwetse en nieuwe media reclame, e-mail marketing, farmaceutische bedrijven, door de EU gefinancierde portals, groothandel in boeken en meer) en zette zakelijke behoeften om in gespecialiseerde apps.

DevSkiller klaar voor gebruik online Python codering beoordelingstests

DevSkiller helpt bedrijven in het IT wervingsproces door hen te voorzien van een infrastructuur waarmee ze programmeervaardigheden van kandidaten kunnen testen in een omgeving die de eerste dag op het werk nabootst. Wij stellen bedrijven in staat om hun eigen code base, hele IT projecten met behulp van frameworks en bibliotheken, te gebruiken om programmeurs online te testen. We hebben echter ook een aantal kant-en-klare Python codeer tests die u kunt gebruiken in uw technische wervingscampagne.

Python
MIDDEN
Geteste vaardigheden
Duur
70 maximaal minuten.
Evaluatie
Automatisch
Testoverzicht

Keuzevragen

beoordeling van kennis van Python, Vonk

Programmeeropdracht - Niveau: Medium

Python | PySpark | Customer Preference Model - Implementeer een Data Engineering applicatie voor het voorbewerken van marketing data.

Python
MIDDEN
Geteste vaardigheden
Duur
104 maximaal minuten.
Evaluatie
Automatisch
Testoverzicht

Keuzevragen

beoordeling van kennis van Keras, Machine Leren, Python

Programmeeropdracht - Niveau: Medium

Python | NLP, Keras | Sentiment analyse van klantenbeoordelingen - Voer een sentimentanalyse en tagging uit van klantenbeoordelingen van films en luchtvaartmaatschappijen, met behulp van een multi-output neuraal netwerkmodel.

Python
MIDDEN
Geteste vaardigheden
Duur
72 maximaal minuten.
Evaluatie
Automatisch
Testoverzicht

Keuzevragen

beoordeling van kennis van Machine Leren, Versterkingsleren

Programmeeropdracht - Niveau: Medium

Python | PyTorch | Reinforcement Learning | Deep Q-Network - Voltooi de implementatie van het DQN algoritme.

Python
JUNIOR
Geteste vaardigheden
Duur
35 maximaal minuten.
Evaluatie
Automatisch
Testoverzicht

Keuzevragen

beoordeling van kennis van Python

Programmeer taak - Niveau: Gemakkelijk

Python | NumPy | Over/Under sampling - Gegeven sequentie A, maak een sequentie B zo dat B elementen heeft uit A en een gegeven verdeling over even grote bins.

Python
JUNIOR
Geteste vaardigheden
Duur
65 maximaal minuten.
Evaluatie
Automatisch
Testoverzicht

Keuzevragen

beoordeling van kennis van Python

Programmeer taak - Niveau: Gemakkelijk

Python | PySpark | ML Logs Transformer - Voltooi de implementatie van de logs transformatie pijplijn.

Ubuntu
SENIOR
Geteste vaardigheden
Duur
60 maximaal minuten.
Evaluatie
Automatisch
Testoverzicht

DevOps taak - Niveau: Moeilijk

DevOps | Ubuntu | Ansible Dynamic Inventory plugin - Het doel van deze taak is om Ansible plugin schrijven vaardigheden (geavanceerde Ansible vaardigheid) te controleren. Om deze taak te voltooien, moet de kandidaat een programmeertaal kennen.

CentOs
SENIOR
Geteste vaardigheden
Duur
60 maximaal minuten.
Evaluatie
Automatisch
Testoverzicht

DevOps taak - Niveau: Moeilijk

DevOps | CentOs | Ansible Dynamic Inventory plugin - Het doel van deze taak is om Ansible plugin schrijfvaardigheid te controleren (geavanceerde Ansible vaardigheid). Om deze taak te voltooien, moet de kandidaat een programmeertaal kennen.

Gegevenswetenschap
JUNIOR
Geteste vaardigheden
Duur
45 maximaal minuten.
Evaluatie
Automatisch
Testoverzicht

Taak - Niveau: Gemakkelijk

SQL | Postzegelcatalogus | De drie hoogste prijzen - Kies drie postzegels (prijs en naam) met de hoogste prijs.

Programmeer taak - Niveau: Gemakkelijk

Python | Pandas | HTML tabel parser - Implementeer een functie om een HTML tabel om te zetten in een CSV-formaat bestand.

Python
JUNIOR
Geteste vaardigheden
Duur
35 maximaal minuten.
Evaluatie
Automatisch
Testoverzicht

Keuzevragen

beoordeling van kennis van Python

Programmeer taak - Niveau: Gemakkelijk

Python | Pandas | HTML tabel parser - Implementeer een functie om een HTML tabel om te zetten in een CSV-formaat bestand.

Python
JUNIOR
Geteste vaardigheden
Duur
63 maximaal minuten.
Evaluatie
Automatisch
Testoverzicht

Keuzevragen

beoordeling van kennis van Machine Leren, PyTorch

Programmeer taak - Niveau: Gemakkelijk

Python | PyTorch, Computer Vision | Model Builder - Voltooi de implementatie van een model training pijplijn.

Post delen

Meer informatie over het inhuren van tech

Abonneer u op onze Learning Hub en ontvang nuttige inzichten rechtstreeks in uw inbox.

Verifieer en ontwikkel coderingsvaardigheden naadloos.

Zie DevSkiller producten in actie.

Beveiligingscertificeringen & naleving. Wij zorgen ervoor dat uw gegevens veilig en beveiligd zijn.

DevSkiller logo TalentBoost logo TalentScore logo