Scherm C en C++ Ontwikkelaars Vaardigheden

Gepubliceerd: Laatst bijgewerkt:
C en C++: software ingenieur interviewvragen

C- en C++-ontwikkelaars krijgen niet dezelfde buzz als ontwikkelaars in andere talen. Ze zijn niet zo alomtegenwoordig als JavaScript-ontwikkelaars. Ze zijn niet zo goed verbonden met hot topics als data science als Python ontwikkelaars. Ze gebruiken geen technologie die zo in opkomst is als Kotlin-ontwikkelaars. Maar in tegenstelling tot de technologieën die alle krantenkoppen halen, zijn C en C++ nog steeds de werkpaarden van veel essentiële systemen en gebieden als embedded technologie en gaming. Als gevolg daarvan is er nog steeds veel vraag naar C en C++ ontwikkelaars. De vraag is dus, hoe screen je de vaardigheden van C en C++ ontwikkelaars?

C en C++ bestaan beide al heel lang, dus er valt veel over te leren. Er zijn verschillende versies, technologieën en hulpmiddelen die voor deze technologiestapels zijn gebouwd. Je moet specifieke C en C++ interview vragen gebruiken omdat de vragen die je gebruikt voor talen als Java het gewoon niet zullen doen. Er zijn concepten die je buiten C gewoon niet in C++ tegenkomt. Bovendien hebt u het juiste technische scherm nodig om te zien of iemand C- of C++-vaardigheden heeft. Maar maak u geen zorgen, dit artikel geeft u de 411 informatie over alles wat u moet weten over het screenen en inhuren van C en C++ ontwikkelaars.

In deze gids zul je vinden:

c++ ontwikkelaar vaardigheden lijst1. Wat is C en wat is C++?

Het eerste wat u moet begrijpen is dat C en C++ niet hetzelfde zijn. Zoals u zich kunt voorstellen, bestaat C al wat langer dan C++. C werd geïntroduceerd in 1972 en werd de de facto standaard aan het eind van dat decennium. De eerste C++ versie verscheen pas in 1984. Maar ook hier duurde het maar 10 jaar voordat de standaard doorbrak. Tegen het begin van de jaren 90 had C++ veel aan populariteit gewonnen.

1.1 Wat is het verschil tussen C en C++?

Ten eerste is C een procedurele taal. C++, daarentegen, is een meervoudige paradigma taal. Hij blinkt uit in procedureel en objectgeoriënteerd programmeren. Daarnaast maken nieuwe mogelijkheden het een praktische keuze voor functioneel programmeren. In de meeste praktijkgevallen zullen C++ programma's in meer of mindere mate gebruik maken van alle beschikbare programmeer paradigma's. In feite zult u vaak eenll drie paradigma's door elkaar.

Programmeerparadigma's zijn niet het enige verschil tussen de twee. C staat vrij dicht bij het machineniveau en wordt soms de "draagbare assembler" genoemd. C++ daarentegen staat dichter bij talen van een hoger niveau, zoals Java, C# en D (hoewel het nog steeds enkele van de low-level functies van C heeft).

1.2 Wat is er vergelijkbaar aan C en C++?

Naast deze verschillen zijn er zeker ook overeenkomsten. De syntaxis die door deze twee talen wordt gebruikt, wordt vaak de "C-familie syntaxis" genoemd. Omdat C zo populair is geweest, zult u merken dat de grammatica en syntaxis van C de basis vormen voor een aantal programmeertalen zoals Java, C#, C++, D, Objective-C, JavaScript en nog veel meer.

Waar worden C en C++ voor gebruikt?2. Waarvoor worden C en C++ gebruikt?

2.1 Waar wordt C voor gebruikt?

Omdat ze zo dicht bij het machineniveau staan, worden C en C++ vooral gebruikt voor toepassingen waarbij verwerkingssnelheid en handmatige afstemming belangrijker zijn dan engineeringtijd. Hiertoe behoren low-level programmering (BIOS), embedded programmering (apparaten), systeemprogrammering (besturingssystemen), en prestatiegerichte programmering (b.v. game engines, GPU/wetenschappelijke berekeningen, cryptografie).

Het echte voordeel van C en C++ is dat de programmeur kan zeggen wat er met het programma gebeurt op het laagste niveau, dat het dichtst bij het machineniveau ligt. Aan de ene kant geeft dit C en C++ ongelooflijke prestaties. De keerzijde hiervan is dat er een veel kleinere foutmarge is om de code goed te krijgen, omdat ze de geheugenbeheerfunctie van hogere talen missen. In de praktijk betekent dit dat het veel langer kan duren om werkende code te schrijven in C en C++ dan in een programmeertaal op hoger niveau zoals Java of Python.

Omdat C zo dicht bij het machineniveau staat, is het in wezen de lingua franca van de programmeerwereld. De meeste andere programmeertalen zijn gebouwd met behulp van C en de meeste software stelt zijn functies beschikbaar in C. Bijna alle andere talen zijn in staat C-functies aan te roepen.

Op een basisniveau is C vrij gemakkelijk te leren. Zijn syntaxis en grammatica zijn vrij eenvoudig om de basis te leren, maar moeilijk om onder de knie te krijgen. In tegenstelling tot andere talen, mist C de hulpmiddelen die de last van het drukke werk verlichten dat een ontwikkelaar normaal zou willen vermijden.

2.2 Waarvoor wordt C++ gebruikt?

C++ is gedeeltelijk ontwikkeld om enkele van de low-level problemen van C op te lossen en toch een C-programmeerstijl te behouden. Helaas heeft dit ertoe geleid dat de leercurve voor C++ ongelooflijk steil is en dat het een veel meer expert-vriendelijke taal is. Dit kan het nog moeilijker maken om een vreemde codebasis te gebruiken. Gelukkig maken de nieuwe versies van C++ het mogelijk om veilig en gemakkelijk een buitenlandse code base te gebruiken. Toch is het aan het coderingsteam om het gebruik van de onveilige constructies te vermijden en de regels te handhaven.

C++ was vroeger een uitbreiding van C, maar dat is sinds 1998 niet meer zo. Het is nu een heel eigen taal. De meeste C-code kan in C++ worden gecompileerd zonder dat er iets aan verandert, maar geen van beide is een strikte subset van de andere. Toch blijft de kloof tussen de twee groter worden naarmate nieuwe normen worden uitgebracht.

2.3 Wat is het verschil tussen C en C++?

C++ maakt het mogelijk om de meeste C constructies en code te compileren als C++ code, terwijl er ook meer programmeer gereedschappen mogelijk zijn zoals templates, RAII (Resource Acquisition Is Initialization), classes, lambda expressies, een grotere en krachtigere standaard bibliotheek, en een sterker type systeem.

Tegelijkertijd heeft C enkele hulpmiddelen die C++ ontbeert. Deze omvatten aangewezen initializers en variabele lengte arrays (VLAs). Een algemene vuistregel is dat als er een C++ omgeving aanwezig is, u er honderd procent zeker van kunt zijn dat er een C omgeving aanwezig is. Het omgekeerde is niet noodzakelijk waar.

Wat moet een IT Recruiter weten over C en C++?3. Wat moet een IT Recruiter weten over C en C++?

C is al een tijdje niet meer veranderd. De laatste twee revisies, C11 en C18, waren beide vrij klein en boden geen grote veranderingen. De toekomstige C21 lijkt ook niet baanbrekend te zijn.

C++, daarentegen, begint vooruitgang te boeken na de afgelopen tien jaar niet veel te hebben gedaan. Sinds C++ 11 komt er om de drie jaar een herziening uit en de voorspelling is dat C++ 20 op tijd zal komen.

Bijna alle beschikbare bibliotheken hebben een C API of binding, zelfs als ze in een andere taal zijn geschreven. Voor al deze bibliotheken kan C++ worden gebruikt. Er zijn ook enkele C++ only bibliotheken zoals Boost, Qt, en POCO.

3.1 Met welke gereedschappen en technieken moet een C- of C++-ontwikkelaar vertrouwd zijn?

Waarschijnlijk het belangrijkste voor een C ontwikkelaar is om begrip te hebben van pointer arithmetic en wat ongedefinieerd gedrag is. Bovendien moet een C-ontwikkelaar goed overweg kunnen met debug-gereedschappen zoals Address/Memory/UndefinedBehavior Sanitizer, Valgrind, debuggers (b.v. GDB), en statische code analyse gereedschappen.

Een C++-ontwikkelaar zou alle C-gereedschappen en ook de Boost- en Qt-bibliotheken goed genoeg moeten begrijpen om ze te kunnen gebruiken.

Wanneer we kijken naar de ervaring van een ontwikkelaar, zeggen commerciële en open source-projecten bovendien het meest over waartoe zij in staat zijn.

C- en C++-vaardigheden verifiërenHoe kunnen de vaardigheden van C- en C++-ontwikkelaars in de screeningfase worden gecontroleerd?

Technische interviews zijn duur en tijdrovend voor u en uw kandidaten. U wilt niet iedereen die solliciteert interviewen. In plaats daarvan is het belangrijk om uw kandidaten te screenen, zodat alleen zij die het interviewstadium halen, de technische vaardigheden hebben die nodig zijn voor de baan.

AANBEVOLEN LECTUUR: Volledige salarisgegevens C++ ontwikkelaar

4. Screening van een C-ontwikkelaar of een C++-ontwikkelaar aan de hand van hun cv

Het cv is de eerste plaats waar u aanwijzingen kunt vinden over wat uw kandidaat kan. Voor een niet-technische recruiter kan dit vaak een moeilijke plek zijn om te beginnen, omdat de informatie vaak zeer technisch is. Om je te helpen hebben we een lijst samengesteld van dingen die je op het cv van een C en C++ ontwikkelaar moet zoeken.

C en C++ woordenlijst4.1 Woordenlijst C en C++ voor technische recruteerders

C-bibliotheken De standaardbibliotheek van C

  • De bibliotheek beschreven door het C standaard document, geleverd met elke compiler

Andere, minder universeel gebruikte, maar nog steeds populaire bibliotheken:

GTK

  • Een bibliotheek voor het maken van grafische gebruikersinterfaces

Cairo

  • Een 2d grafische bibliotheek

ALSA

  • Een bibliotheek als interface met de geavanceerde Linux geluidsarchitectuur

BLAS

  • Basis Lineaire Algebra Subprogramma's. Deze bibliotheek wordt gebruikt voor efficiënte vector- en matrixbewerkingen

GMP

  • GNU Multi Precision. Een bibliotheek voor rekenkundige bewerkingen op getallen met willekeurige precisie

cURL

  • De multiprotocol bibliotheek voor bestandsoverdracht. Meestal gebruikt voor HTTP-communicatie

OpenSSL

  • Een commerciële en zeer populaire bibliotheek gebruikt voor cryptografische ondersteuning
C++ Bibliotheken De C++-standaardbibliotheek

  • De bibliotheek beschreven in het C++ standaard document, meegeleverd met elke compiler

Boost

  • Een van de populairste bibliotheken voor C++, een set van enkele tientallen losgekoppelde bibliotheken die vrij kunnen worden gebruikt in C++ programma's

Qt

  • Het GUI raamwerk voor C++

STL

  • Een controversieel acroniem, dat gewoonlijk C++ Standard Library betekent, maar wordt opgevat als Standaard Sjabloonbibliotheekalsof de niet-template delen er geen deel van uitmaakten

Andere, minder universeel gebruikte, maar nog steeds populaire bibliotheken:

Eigen

  • C++ template bibliotheek voor lineaire algebra (matrices, vectoren, numerieke oplossers en gerelateerde algoritmen)

GSL

  • Richtlijnen Ondersteuning bibliotheekimplementatie, aanbevolen door Bjarne Stroustrup, Herb Sutter, en Co. in C++ Core richtlijnen

Loki

  • ontwerppatronen

Folly

  • Een set C++11 componenten die de standaard bibliotheek uitbreiden. Ontworpen met efficiëntie en bruikbaarheid in het achterhoofd. Ontwikkeld door Facebook

Abseil

  • Een verzameling C++ bibliotheken die de standaard bibliotheek uitbreiden. Gemaakt door Google

POCO

  • Een set bibliotheken met ondersteuning voor HTTP, netwerken, encryptie en zip-bestanden

WxWidgets

  • Een bibliotheek waarmee systeemonafhankelijke GUI-toepassingen kunnen worden gemaakt

OpenCV

  • Een computervisiebibliotheek, ontworpen voor rekenefficiëntie met de nadruk op real-time toepassingen

OpenMP

  • Minder een bibliotheek, en meer een specificatie voor compilers hoe C++ kan worden uitgebreid om eenvoudig en goed ontworpen parallellisme mogelijk te maken

IntelTBB

  • Een sjabloonbibliotheek voor taakparallellisme. Ontworpen door Intel
Compiler Het gereedschap dat wordt gebruikt om een executable (een applicatie) te maken van de C/C++ broncode, het meest populair:

  • GCC - GNU Compiler Collectie
  • MinGW GCC - Windows versie van GCC
  • Clang - Compiler door het LLVM project
  • MSVC (ook wel, enigszins ten onrechte, MSVS of Visual Studio genoemd) - Microsofts compiler
  • ICC - Intel's compiler
Debugger Een hulpmiddel om bugs te vinden in lopende programma's

  • Valgrind
  • GDB
  • LLDB
  • WinDBG
Code-instrumentatie Dit is een uitbreiding op de compiler om een applicatieversie te produceren die gericht is op het vinden van bugs in plaats van prestatie

  • Adres/Geheugen/OnbepaaldGedrag Sanitizer
Statische analyse Een analyse van de broncode in termen van bugs. Er bestaat commerciële software die op deze manier bepaalde klassen van bugs kan vinden

  • CppCheck
  • Clang
  • Klocwork Statische Code Analyse
  • PC-Lint
  • Dekking
  • PVS-Studio

4.2 De meest voorkomende C- en C++-technologienamen die door elkaar worden gebruikt

  • De C++ Standaardbibliotheek en STL worden soms door elkaar gebruikt, maar niet correct

4.3 De verschillende versies van C en C++

Versies van C

Versies van C worden aangeduid met het jaar waarin ze werden uitgebracht (bv. C89 is C van 1989). Er zijn geen tussenliggende versies (b.v. C06), maar sommige kunnen verwijzen naar vóór C89

De meest populaire revisies zijn:

  • C89
  • C95
  • C99
  • C11
  • C18
  • C21 (nog niet gepubliceerd),
  • ANSI C

Versies van C++

Versies van C++ worden op dezelfde manier gelabeld als versies van C met het jaar waarin ze werden gepubliceerd.

De meest populaire revisies zijn:

  • C++84 - geen echte herziening, maar soms gebruikt om pre-standaard C++ te definiëren
  • C++98
  • C++03
  • C++11
  • C++14
  • C++17
  • C++20 (nog niet gepubliceerd)

Bovendien kunt u de namen zien die de versies kregen toen ze werden ontwikkeld.

  • C++0x (in ontwikkeling zijnde naam voor C++11, die vóór 2010 op de markt zou komen)
  • C++1y (benaming in uitvoering voor C++14)
  • C++1z (naam in ontwikkeling voor C++17)
  • C++2a (in-progress naam voor C++20?)

4.4 Hoe dicht liggen de respectieve versies van C- en C++-technologieën bij elkaar

  • C11/C18 - bijna hetzelfde
  • C++98/C++03 - bijna hetzelfde
  • C++11/C++14 - kleine wijzigingen
  • C++14/C++17 - kleine veranderingen (maar genoeg om het verschil tussen C++11/C++17 significant te maken)

4.5 Welke versies zijn totaal verschillend?

  • C++03/C++11 - de grootste verandering in de geschiedenis van C++
  • C++11/C++17 - geleidelijke verandering in de loop van de revisies
  • C89/C99 - grote veranderingen in termen van typeveiligheid en ondersteuning voor oudere probleemcode

4.6 Hoe belangrijk zijn C- en C++-certificaten voor de beoordeling van de coderingsvaardigheden van een kandidaat?

Er zijn geen gerespecteerde C/C++ certificeringen. Daarom kun je die op je cv het beste negeren, aangezien ze je niets zeggen over het vaardigheidsniveau van de kandidaat.

4.7 Andere zaken waarop moet worden gelet op het cv van een C- of C++-ontwikkelaar

Kijk uit of de kandidaat:

  • Specificeert de versie van de taal die zij hebben gebruikt
  • Heeft gewerkt aan een typisch C++ project
  • Heeft deelgenomen aan grote projecten, waarbij hij te maken had met unieke en strenge eisen

Bovendien kunnen technische interviews de kandidaat beoordelen op basis van zijn publiekelijk zichtbare geschiedenis:

  • Spreken op conferenties
  • Bijwonen van conferenties
  • Artikelen schrijven voor technische tijdschriften
  • Een technische blog schrijven
  • Bijdragen aan OSS
  • Bijdragen aan antwoordsites (bv. Stack Overflow)

C en C++ telefoon interview vragen - c++ ontwikkelaar vaardigheden lijst5. C en C++ interview vragen voor een telefoon/video technisch interview

Het kan nogal moeilijk zijn om volledig op een cv te vertrouwen. Het is immers belangrijk om de kandidaat uit te dagen op wat hij beweert om te zien of hij de vaardigheden ook echt heeft of dat hij alleen maar zegt dat hij ze heeft. Hoewel een telefonisch interview geen goede codetest vervangt, kan het u wel helpen te begrijpen hoe de kandidaat denkt en hoe hij problemen oplost.

5.1 Vragen over de ervaring van de kandidaat

Q1: (C/C++) Wat waren de beperkingen bij uw vorige projecten?

Waarom zou je Q1 vragen: De kandidaat moet in staat zijn zijn ervaring met de gegeven bedrijfstak te delen. Bij embedded programming is het bijvoorbeeld moeilijk om dynamisch geheugen te gebruiken en voor games is het heel belangrijk om ervoor te zorgen dat alle berekeningen klaar zijn tegen de tijd dat een frame wordt gerenderd.

Q2: (C/C++) Voor welke systemen heb je geprogrammeerd?

Waarom zou je Q2 vragen: In sommige opzichten is programmeren voor Embedded/Desktop en Linux/Windows/OSX enorm verschillend.

Q3: (C/C++) Was u aan het coderen volgens een specifieke standaard?

Waarom zou je Q3 vragen: De kandidaat kan u vertellen of hij ervaring heeft met MISRA enz.

5.2 Vragen over de kennis en meningen van de kandidaat

Q1: (C++) Wat zijn de belangrijkste verschillen tussen C++ en C?

Waarom zou je Q2 vragen: Deze vraag zal de kandidaat in staat stellen zijn begrip van de talen te tonen, alsook of hij C++ als een kleine toevoeging aan de taal C of als een aparte taal met verschillende gebruikspatronen behandelt.

Q2: (C) Wat is pointeraritmetiek?

Waarom zou je Q2 vragen: Dit is meestal voor C. Deze vraag laat de kandidaat zijn begrip van de fundamentele manier waarop C met geheugen omgaat, tot uitdrukking brengen.

Q3: (C++)Wat is pointeraritmetiek?

Waarom zou je Q3 vragen: Deze vraag geeft de kandidaat de kans zijn begrip te tonen van de fundamentele manier waarop C met geheugen omgaat. Pas op: voor C++ impliceert deze vraag het gebruik van onveilige en verouderde patronen in uw codebase.

Q4: (C++, instapniveau) Wat is het verschil tussen een klasse en een object?

Waarom zou je Q4 vragen: Om te bepalen of de kandidaat de grondbeginselen van C++ begrijpt.

Q5: (C++) Wat is een lambda expressie?

Waarom zou je Q5 vragen: Om te bepalen of de kandidaat op de hoogte is van de vooruitgang die C++ sinds C++03 heeft geboekt (lambda-expressies werden geïntroduceerd in C++11) en deze begrijpt.

Q6: (C/C++) Wat zijn locks, welke problemen lossen ze op en wat zijn de mogelijke problemen ermee?

Waarom zou je Q6 vragen: Dit zal aantonen dat de kandidaat inzicht heeft in "locks", "race conditions", "deadlocks" en "livelocks".

Q7: (C/C++, expert) Wat is vluchtigen hoe staat het in verband met de vraag over sloten en synchronisatie?

Waarom zou je Q7 vragen: De kandidaat moet in staat zijn om te vertellen dat vluchtig mag alleen worden gebruikt voor toegang tot hardware, en niet voor synchronisatie.

Q8: (C++) Hoe zou u een dynamische matrix maken?

Waarom zou je Q8 vragen: Hieruit zal blijken of de kandidaat een goede aanpak zal gebruiken, zoals std::vectorof de verouderde en onveilige nieuw.

Q9: (C++) Wat is RAII? Hebben andere talen het?

Waarom zou je Q9 vragen: Dit zal aantonen of de kandidaat dit fundamentele C++ idioom kent en of hij begrijpt wat het betekent. Bonuspunten voor het beschrijven van soortgelijke optionele functies in andere talen, zoals met() in Python of met in C#.

Q10: (C++) Kun je gooien vanuit een destructor?

Waarom zou je Q10 vragen: De kandidaat zal hier in detail op in kunnen gaan. De kern van de zaak is: het kan, maar het is een slechte praktijk, en het is standaard uitgeschakeld sinds C++11, omdat destructors dan impliciet nietrow.

Q11: (C++) Kun je een constructor erven?

Waarom moet je Q11 vragen: De kandidaat kan antwoorden dat dit mogelijk was sinds C++11, dat de werkwijze in C++14 licht gewijzigd is, en wat de gevolgen van deze wijziging zijn.

Q12: (C++) Kun je een virtuele constructor hebben?

Waarom zou je Q12 vragen: Het korte antwoord is nee, maar de kandidaat kan zijn snelle denkvermogen tonen door de fabriek en de prototypepatronen te noemen.

Q13: (C++) Wat is een interface?

Waarom moet je het vragen Q13: Dit is een beetje een strikvraag omdat C++ geen interfaces heeft. Het heeft echter wel abstracte klassen, en de kandidaat wordt verondersteld daarover te praten.

Q14: (C++, expert) Kun je een implementatie van een zuivere virtuele functie hebben?

Waarom moet je Q14 vragen? Het antwoord is ja, maar de bruikbaarheid is beperkt.

Q15: (C++, expert) Kun je een virtuele sjabloonfunctie hebben en waarom?

Waarom moet je Q15 vragen? De kandidaat kan aantonen dat hij inzicht heeft in het onderscheid tussen compileer- en runtime, en in implementatiedetails zoals vtables.

Q16: (C++, expert) Hoe zou u std::is_same?

Waarom moet je Q16 vragen? De kandidaat kan zijn kennis van metaprogrammering aantonen door dit triviale voorbeeld uit te voeren.

Q17: (C/C++) Wat is uw favoriete verandering (of een aantal veranderingen) in Cnn/C++nn?

Waarom moet je Q17 vragen? Om aan te tonen of de kandidaat de veranderingen in de taal (talen) bijhoudt en of hij zich bewust is van enigszins verschillende coderingsidioom in verschillende versies van de taal.

Q18: (C++) Wat zijn de verschillen tussen C++98 en C++11?

Waarom moet je het vragen? Q18: C++11 was een grote verandering in de C++ taal, zijn paradigma's en patronen. De kandidaat zal zijn kennis van deze grote verandering kunnen aantonen.

Q19: (C/C++) Hoe zou je een geheugencorruptie-fout opsporen en oplossen?

Waarom moet je Q19 vragen: Het denkproces, de kennis en de hulpmiddelen die daarbij van pas komen, laten zien.

Q20: (C/C++) Heb je ervaring met het gebruik van aangepaste allocators?

Waarom moet je Q20 vragen: De kandidaat zal zijn ervaring met aangepaste toewijzers kunnen delen.

Q21: (C/C++) Je hebt framework/bibliotheek X in je cv, beschrijf je ervaring ermee. Was het gebruik ervan een goede keuze? Is er een alternatief dat u had verkozen, of dat u nu zou verkiezen?

Waarom moet je Q21 vragen: Dit is een open vraag, die de rekruteerder laat weten of de kandidaat een brede kijk op de vakgebieden heeft, de alternatieven kent en de afwegingen begrijpt die worden gemaakt door voor de ene of de andere oplossing te kiezen.

Q22: (C/C++) Welk bouwsysteem heeft uw voorkeur en waarom? Hoe verhoudt het zich tot de concurrentie?

Waarom zou je Q22 vragen: Hieruit zal blijken dat de kandidaat kennis heeft van bouwsystemen.

5.3 Gedragsvragen moet u vragen om te begrijpen hoe de kandidaat in het verleden heeft gehandeld

Q1: Wat is je grootste succesverhaal met programmeren? Waarom is het gebeurd? Hoe kunt u het herhalen?

Waarom zou je Q1 vragen: Met deze vraag kan de kandidaat een succesverhaal voorleggen en kan de recruiter zien of de kandidaat meer geïnteresseerd is in het oplossen van het probleem dan in het krijgen van lof.

Q2: Wat was je grootste programmeerfout? Waarom gebeurde het? Hoe kunt u voorkomen dat het in de toekomst opnieuw gebeurt?

Waarom zou je Q2 vragen: Deze vraag stelt de kandidaat in staat een mogelijk verontrustend verhaal te vertellen en laat de recruiter zien of de kandidaat er open over is. Bovendien zal blijken of hij/zij meer geïnteresseerd is in het oplossen van het probleem dan in het afschuiven van de schuld.

Q3: (voor kandidaten op een hoger niveau) Zou je een junior ontwikkelaar willen begeleiden? Waarom? Hoe zou je dat doen? Heb je ervaring met het begeleiden van andere mensen?

Waarom zou je Q3 vragen: Zo kan de recruiter de belangstelling van de kandidaat peilen en nagaan welke zachte vaardigheden nodig zijn om kennis te delen.

Technische screening van C en C++ ontwikkelaarsvaardigheden6. Technische screening van C- of C++-ontwikkelaarsvaardigheden met behulp van een online-codeertest

Waar u absoluut duidelijk over moet zijn met C en C++ ontwikkelaars is dat het essentieel is dat ze vlekkeloze codeervaardigheden hebben. C laat geen enkele foutmarge toe en C++ laat niet veel meer toe. Zeker, een cv- en telefoonscreen kunnen u helpen een aantal van uw kandidaten uit te sluiten. Het laatste wat u echter wilt, is een kandidaat uitnodigen voor een technisch gesprek om er vervolgens achter te komen dat hij of zij nooit de codeervaardigheden heeft gehad die u altijd al nodig had.

6.1 Welke C of C++ online programmeertoets moet u kiezen?

Bij het zoeken naar de juiste C of C++ online programmeertest moet u ervoor zorgen dat ze aan de volgende criteria voldoen.

  • Zij weerspiegelen het echte werk dat wordt gedaan
  • Ze nemen niet veel tijd van de kandidaten in beslag, één tot twee uur maximum.
  • Ze kunnen automatisch worden verzonden en overal mee naartoe worden genomen
  • Zij gaan verder dan controleren of de oplossing werkt en controleren ook de kwaliteit van de code en hoe goed die werkt in randgevallen
  • Ze staan zo dicht mogelijk bij de natuurlijke programmeeromgeving en geven de kandidaat toegang tot het soort hulpmiddelen dat hij normaal op het werk zou gebruiken
  • Ze laten de kandidaat alle bibliotheken, frameworks en andere hulpmiddelen gebruiken die hij normaal zou gebruiken
  • Ze zijn van een passend niveau dat past bij de capaciteiten van de kandidaat

7. DevSkiller kant-en-klare online C en C++ coderingstoetsen voor ontwikkelaars

DevSkiller coderingstesten gebruiken onze RealLifeTestingTM methodologie om de werkelijke codeeromgeving waarin uw kandidaat werkt te weerspiegelen. In plaats van obscure algoritmen te gebruiken, vragen DevSkiller-tests kandidaten om applicaties of functies te bouwen. Ze worden volledig automatisch beoordeeld en kunnen overal ter wereld worden afgelegd. Tegelijkertijd heeft de kandidaat toegang tot alle bronnen die hij normaal zou gebruiken, inclusief bibliotheken, frameworks, StackOverflow, en zelfs Google.

Bedrijven gebruiken DevSkiller om kandidaten te testen met hun eigen codebase, waar ook ter wereld. Om het gemakkelijk te maken, biedt DevSkiller ook een aantal vooraf gemaakte C en C++ codeertests zoals degene hier:

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