Startseite Blog Trends Wie kann man einen C ++ Entwickler beschäftigen: „Was ich sehen möchte, ist wie Kandidaten denken und wie Problemlösungen angehen“

Wie kann man einen C ++ Entwickler beschäftigen: „Was ich sehen möchte, ist wie Kandidaten denken und wie Problemlösungen angehen“

Autor Daxx Team
Veröffentlicht am Jun 12, 2017
Trends

In seiner 20-jährigen Karriere in Software Design, Engineering und Management hat Andriy Syrovenko ein breites und vielfältiges Spektrum an Fähigkeiten entwickelt. Zu seinen Interessen gehören Datenbank Management Systeme, Informations- und Netzwerksicherheit, Parallel Computing, Netzwerktechnologien, VoIP, Abrechnungssysteme, Virtualisierung und vieles mehr.


Als Team Lead und Senior C ++ Entwickler führt Andriy häufig Vorstellungsgespräche. Wir haben ihn gebeten, seinen Interviewprozess für C ++ Ingenieure zu beschreiben.

Wenn ich daran denke, wie ich vor zwölf Jahren Vorstellungsgespräche führte, kann ich nur  zusammenzucken. Diese Gespräche waren voller Standardfragen für C ++ Programmierer, die ich immer wieder mit einem einzigen Zweck benutzte - um meine Überlegenheit gegenüber dem Kandidaten zu demonstrieren.

Heutzutage benutze ich keine Interviewroutine mehr. Die Fragen, die ich stelle, hängen stark von dem Projekt ab, für das ich einen C ++ Entwickler einstellen muss.

Die grundlegendste technische Aufgabe, die ich den C / C ++ Kandidaten gebe, ist in ihren eigenen Worten den Begriff Pointer zu beschreiben.

Egal, ob ich mit einem Senior C ++ Entwickler oder einem Junior Kandidaten spreche, möchte mit den Grundlagen beginnen. Ich habe Ingenieure mit über 10 Jahren Erfahrung getroffen, deren Anfängerkenntnisse rostig waren, einfach weil sie diese Kenntnisse nicht in ihren Projekten verwenden konnten. Wenn einer  jahrelang mit high-level  Bibliotheken arbeitet, ist es nicht verwunderlich, dass er oder sie low-level C-Programmierung vergessen hat, die ein guter C ++ Programmierer normalerweise kennt. Deshalb möchte ich besonders darauf achten, dass der Kandidat, den ich interviewe, versteht was C ist.

Die grundlegendste technische Aufgabe, die ich C / C ++ Kandidaten gebe, ist in ihren eigenen Worten den Begriff Pointer zu beschreiben. Dies ist eine sehr primitive Frage, erlaubt mir aber zu verstehen, wie ein Kandidat die Sprache sieht und wie gut er oder sie die Grundlagen der C ++ Entwicklung versteht. Es ist auch universell: Jeder C ++ Entwickler sollte, unabhängig von Erfahrung , auf diese Frage antworten können.

Was ich sehen möchte ist wie Kandidaten denken und wie sie Problemlösungen angehen.

Manchmal frage ich die Kandidaten den Unterschied zwischen Big-Endian und Little-Endian Architektur zu erklären. Wenn sie danach gefragt werden, beginnen Kandidaten normalerweise mit einer Beschreibung realer Beispiele und Schwierigkeiten, die sie bei ihrer eigenen Arbeit erlebt haben. Diese Informationen erlauben es mir zu beurteilen, wie vielseitig und umfassend ihre Erfahrung ist.

learn-more

Sie möchten mehr über den Aufbau eines erweiterten Entwicklungsteams bei uns erfahren?

Mehr erfahren

Ich liebe es auch Kandidaten Aufgaben mit logischen Problemen in Bezug auf die Programmierung zu geben. Zum Beispiel könnte ich ein generisches Problem darlegen, das normalerweise mit dem klassischen merge sort  Algorithmus gelöst wird. Manche Menschen erkennen es sofort und erklären, wie es funktioniert.

Im Laufe der Zeit bin ich zu dem Schluss gekommen, dass ein Mehrzweckentwickler die Art von Kandidat ist, nach der ich definitiv nicht suche.

Allerdings, ist dieser Algorithmus - obwohl er für mein aktuelles Projekt relevant ist - nicht besonders weit verbreitet, sodass die meisten C ++ Programmierer nichts über den Algorithmus wissen und um etwas Zeit bitten darüber nachzudenken. Einige können es ziemlich schnell herausfinden, während andere falsche Lösungen vorschlagen. So oder so diskutieren wir am Ende die  Antworten. Diese Phase kann zwischen fünf zum zwanzig Minuten dauern. Ich bin nicht unbedingt an der richtigen Antwort interessiert. Was ich sehen möchte, ist wie der Kandidat denkt und wie seine die Herangehensweise an Probleme ist.

Ich weiß, dass in den meisten Artikel zum Thema technisches Interview  zu live Coding Sitzungen geraten wird. Ich betrachte diese Übung als Zeitverschwendung

Im Laufe der Zeit bin ich zu dem Schluss gekommen, dass Mehrzweckentwickler nicht die Art von Kandidaten sind, nach denen ich definitiv nicht suche. Diese Leute sind sehr rar, und wenn man doch einen findet, erkennt man bald, dass er zu eingebildet und faul für sein eigenes Wohl ist. Solche Person in einem Team zu haben ist höchst ineffektiv. Eine viel bessere Idee ist es, jemanden einzustellen, dessen Fähigkeiten nicht so vielfältig sind, aber der bereit ist, schnell zu lernen und seinen Job mit Sorgfalt anzugehen.

Wenn ich mich dazu entscheide, einen Kandidaten persönlich zu treffen, kann man davon ausgehen, dass ein Lebenslauf meine Aufmerksamkeit auf sich gezogen hat und er wahrscheinlich gut passt. Das Ziel des Interviews ist es diese Annahme zu beweisen oder zu widerlegen. Darauf läuft das Interview letztendlich hinaus

Eine anderer Kandidatentyp, die Sie vermeiden wollen, sind C ++ Programmierer, die sofort über jeden neuen Trend lesen und in ihrer Arbeit sofort umzusetzen wollen. Meiner Erfahrung nach fühlen sich solche Kandidaten so selbstgefällig darüber wie fortschrittlich sie sind dass sie vergessen, dass ein Unternehmen  sich über Geld verdienen kümmert und nicht über fortschrittliche Technologieverwendung.

Ich weiß, dass in den meisten Artikeln zum Thema technisches Interview empfohlen wird live Coding Sitzungen zu organisieren. Ich betrachte das aber als Zeitverschwendung. Wie sollten einer dabei die Codequalität überprüfen? Dafür ist die Probezeit vorgesehen.

Zum Schluss möchte ich noch einmal zusammenfassen, was ich über Vorstellungsgespräch denke: Wenn ich mich dazu entscheide  einen Kandidaten persönlich zu treffen, kann man davon ausgehen, dass sein Lebenslauf meine Aufmerksamkeit auf sich gezogen hat und er wahrscheinlich gut passt. Das Ziel des Interviews ist es diese Annahme zu beweisen oder zu widerlegen. Darauf läuft das Interview letztendlich hinaus.

name

Daxx Team

Daxx Team is a team of passionate creative writers, content marketers, designers who vigorously research internet as well as cooperate with developers and Managing Director at Daxx to provide you with the top-notch material about tech, salary trends, development team hiring and management tips as well as up-to-date information about Ukrainian IT outsourcing market.

Diesen Artikel teilen

Kommentare

Lesen Sie mehr

Blog
Trends

In welchen Ländern entwickeln deutsche und niederländische Unternehmen Ihre Software? Wir haben mehr als 300 Unternehmen befragt

Wir haben uns mit 98 niederländischen und 204 Führungskräften aus der DACH Region ausgetauscht, um die wichtigsten Destinationen für Outsourcing zu erfahren und zu untersuchen, wie die Unternehmensgröße die Wahl eines...

Autor Olena Herasymchuk
Veröffentlicht am Oct 18, 2019
Blog
Trends

Ein Handbuch für offshore Entwicklerkosten: Wie kann man das geeignete Land für offshore Softwareentwicklung wählen?

In einer globalisierten Wirtschaft ist Talent die treibende Kraft. Das Team zum Aufbau oder zur Weiterentwicklung eines Unternehmens ist der Schlüssel zum Erfolg. Leider ist es schwer geeignete Menschen für den Job zu finden. ...

Autor Daxx Team
Veröffentlicht am Feb 27, 2017
Blog
Trends

Wie Softwareentwicklung in Osteuropa unsere Sichtweise auf Outsourcing verändert?

Mit einem eindrucksvollen Talentpool von einer Million Entwicklern, einem reichhaltigen wissenschaftlichen Erbe, einer günstigen geographischen Lage und wirtschaftlichen Verbindungen zur ganzen Welt, bringt Osteuropa frischen Wind auf den...

Autor Daxx Team
Veröffentlicht am Mar 01, 2018