2009-04-11 9 views
4

Ich bin ein ziemlich junger Programmierer und habe die Aufgabe, einen erfahrenen Mainframe-COBOL-Programmierer für eine Position in der C++ - Entwicklung für Windows Mobile zu interviewen. Mit Erfahrung meine ich, dass die gesamte Programmierkarriere des Kandidaten COBOL war.Übergang von COBOL nach C++

Ich bin nicht gegen eine bestimmte Sprache voreingenommen, nur etwas besorgt über meine Fähigkeit, ein gründliches Interview zu führen.

Wie kann ich, ohne COBOL-Erfahrung, in einem Interview ein gutes Gefühl für die Fähigkeiten dieses Interviewten bekommen?

Gibt es bestimmte Dinge, die ich fragen oder suchen sollte?

Ich habe bereits über viele allgemeine Interviews Zeug auf SO gelesen, was hilfreich wäre, sind bestimmte Dinge, die ich für die Art des Kandidaten Hintergrund suchen.

Antwort

5

Das Beste ist, geben Sie ihm eine Aufgabe, ähnlich wie bei Ihrem Unternehmen. Sag ihm, er kann Pseudo-Code verwenden (also kein Internet wird benötigt).

Auch das Hauptproblem, das Cobol Leute haben, ist, OO zu begreifen (da Cobol meistens prozedural ist ... Ich kenne neue OO Versionen).

Ein weiteres pitfall Cobol Menschen den Umfang Konzept zu erfassen haben, als traditionellen Cobol jede Variable Live vom Anfang bis zum unteren Rande der App er ist.

+0

Danke, ich hatte von den OO-Einschränkungen älterer Versionen von COBOL gehört, aber nicht von Scoping-Sachen. –

1

Ist es nicht wichtiger herauszufinden, wie gut der Befragte in Bezug auf C++ ist, wenn er daran arbeiten soll?

+0

Der Kandidat ist wahrscheinlich ein besserer Programmierer, als seine Fähigkeit mit C++ vorschlagen wird, da C++ bereits sehr komplex und außerdem unbekannt ist. Die Frage fragt nach Möglichkeiten, die Programmiereignung des Kandidaten, nicht die C++ - Erfahrung, zu erfahren. – SingleNegationElimination

+0

Stimmt, aber um zu entscheiden, ob er effektiv am C++ - Projekt arbeiten kann, würde ich ihn bitten, mit dem Lernen von C++ zu beginnen, später zurückzukommen und seinen (oder ihren) Fortschritt zu überprüfen. – lothar

+0

Wir rekrutieren mehrere Personen für einen kurzfristigen Vertrag mit der Möglichkeit der Vermietung danach. Der begrenzte Zeitrahmen gibt uns nicht den Luxus, ihn zu bitten, später zurückzukommen. –

5

Wenn diese Person überhaupt ein guter Programmierer ist, kann er/sie habe Erfahrung mit anderen Sprachen. (Als alter Furz zu sprechen, der mit COBOL und noch schlimmer mit RPG/II anfing.) Auch wenn diese Person nie einen Job bei irgendetwas anderem hatte.

Hier sind einige Dinge, die Sie vielleicht fragen:

  • „Wie hast du mit Computern angefangen?“
  • "Machst du irgendwelche Programmierung für Spaß?"
  • "Warum möchten Sie in eine C++ Umgebung wechseln?" (Dies ist eine besonders gute Frage, denn gute COBOL-Programmierer sind jetzt wirklich schwer zu finden. Ich wette, diese Person möchte etwas Neues lernen.)
  • "Haben Sie eine Assemblerprogrammierung gemacht?" (Die Chancen sind viel besser, sie werden schnell zu C/C++, wenn sie mit der Maschine vertraut sind.)
  • "Können Sie beschreiben, was 'objektorientierte Programmierung' bedeutet?" (Schlüssel: Suchen Sie nach einer Beschreibung dessen, was "Objekte" sind, "Vererbung" und "Polymorphismus". Wenn das klappt, fragen Sie, wann sie Vererbung gegen Aggregation verwenden würden, dh "ist ein" Relationen vs "hat eine" Beziehungen.)
  • "Haben Sie einen Windows-Computer zu Hause oder haben Sie einen echten Computer?"

Wenn sie keine C++ Kenntnisse behaupten, eine wirklich gute Gruppe von Screening-Fragen sind:

  • „Was ist der Unterschied zwischen einer Erklärung und einer Definition in C?„
  • ‚Was sind die Unterschiede zwischen ‚privaten‘, ‚geschützt‘ und ‚öffentlich‘ Erklärungen in einer Klasse?‘
  • ‚Was ist ein ‚Freund‘?‘(Extra-Kredit, wenn sie wissen, zu sagen, dass“ In C++ nur Ihre Freunde können Ihre privaten Teile zugreifen. ")
  • ‚Was ist eine virtuelle Funktion Mitglied?‘
  • ‚Was ist "virtuelle Vererbung?‘
2

Stellen sie sicher, sie kennen und verstehen structs/Klassen, Typen, Polymorphismus, Vorlagen, Funktionen und vor allem Zeiger Stellen Sie sicher, dass sie die Syntax verstehen hey einen Zeiger auf eine void-Funktion deklarieren, die zum Beispiel zwei ganzzahlige Argumente benötigt? Wie würden sie das ärgerlichste Parse lösen? Wie können Initialisierungslisten den Code optimieren? Sind sie mit der Standardvorlagenbibliothek vertraut? Können sie manuell eine primitive verkettete Liste oder ein Vektor-Array von Hand codieren? Diese Dinge wollen Sie in einem Programmierer, der in der Lage ist, effizienten und sauberen Code zu schreiben.