Wenn ich in einem Interview gebeten werde, Code aufzuschreiben, sollte ich mich dann vollständig an C ++ halten, oder ist es akzeptabel, die beiden zu "mischen", um einfachen Code zu schreiben, wenn es mir in den Sinn kommt?
Ich werde es erklären: Wenn ich gebeten werde, einen "Stack" -Datentyp zu erstellen, ist eine C ++ - Klasse perfekt geeignet. Wenn ich einige Zeichenfolgen analysieren muss, ist ein strtok / sscanf weitaus einfacher als STL. Auf der anderen Seite, wenn ich einen generischen Container brauche, sind STL und Vorlagen der richtige Weg.
Alles kann in C oder in C ++ gemacht werden, aber in einem Interview kann ich nicht alles codieren oder mich an jede Standard- / STL-Funktion erinnern. Was ist ein akzeptabler Kompromiss?
Antworten:
Um wirklich pedantisch zu sein, bietet C ++ Unterstützung für C, nativ vielleicht nur eine Teilmenge , aber wenn das Thema C ++ ist, ist die Programmiersprache C enthalten, und dies ist keine Meinung, ich würde keine Argumente dafür von einem Fachmann erwarten Umgebung.
quelle
Sofern nicht anders angegeben, können Sie bei den meisten Programmierfragen bei der Beantwortung einer bestimmten Frage die gewünschte Sprache verwenden. Möglicherweise möchten Sie erklären, welche Sprache Sie zur Beantwortung der spezifischen Frage verwenden, um Verwirrung zu vermeiden, und erklären, warum Sie sie verwenden.
Wenn Sie nicht sicher sind, ob dies für den Interviewer in Ordnung ist, fragen Sie - es ist absolut akzeptabel zu fragen, ob Sie verschiedene Fragen in verschiedenen Sprachen beantworten können (in den meisten Antworten auf Papier ist Pseudocode mehr als akzeptabel).
quelle
Sie sollten den Interviewer nur fragen, was er bevorzugt, wenn Sie wissen, wie man beide verwendet.
Abhängig von seiner Antwort können Sie entdecken:
Es gibt keine generische Antwort auf diese Frage. Es ist zu abhängig vom Job und den Zielen des Personalvermittlers. Wenn er möchte, dass Sie Sprachkenntnisse zeigen, ist er spezifisch. Wenn er möchte, dass Sie Ihnen Fähigkeiten zur Problemlösung und Kommunikation zeigen, ist ihm das eigentlich egal.
quelle
Sofern Ihr Interviewer nicht ausdrücklich verlangt, dass Sie in C oder C ++ codieren, würde ich nur das verwenden, was für das Interview angemessen ist.
Wenn mein Kandidat die beiden verwechseln würde, wäre ich für mich mehr an seiner Strategie oder dem Grund für die Vermischung der beiden Sprachen interessiert. Es ist äußerst wertvoll, jemanden in meinem Team zu haben, der eine Lösung bereitstellen und die Lösung rechtfertigen kann .
quelle
Das hängt ganz davon ab, für welche Art von Stelle Sie sich bewerben und welche Sprache Sie erwarten. Wenn Sie C ++ schreiben, ist es im Allgemeinen am besten, sich so weit wie möglich an C ++ zu halten. Ich würde jedoch erwarten, dass jeder C ++ - Programmierer mindestens ein bisschen C kennt (und umgekehrt).
Wenn sie erwarten, dass Sie während des Interviews einen ganzen Arbeitsdatentyp schreiben, sollten Sie vorsichtig sein. Es ist gut, wenn sie Sie nach technischen Details fragen, aber wenn sie erwarten, dass Sie während des Interviews stundenlang Programme schreiben, sagt das wahrscheinlich etwas Schlechtes über den Arbeitgeber aus.
Wenn Sie scanf () verwenden, haben Sie wahrscheinlich einen großen Fehler gemacht, egal ob C oder C ++. Sie sollten dem Interviewer besser erklären, dass Sie nur etwas schnelles und schmutziges schreiben und niemals scanf im Produktionscode verwenden würden. Es gibt viele Grubenfälle mit verschiedenen Funktionen der C-Bibliothek.
Der Interviewer sollte nicht erwarten, dass Sie sich an jede Funktion im C- und C ++ - Standardbibliothekar erinnern, aber er sollte erwarten, dass Sie wissen, welche offensichtlich gefährlich sind. get (), getchar (), scanf (), setjmp () usw.
quelle
Ich denke, wenn Sie tatsächlich ausdrücklich aufgefordert werden, eine kurze Aufgabe in C ++ zu erledigen, wäre es von größter Wichtigkeit, tatsächlich bei C ++ zu bleiben und C nicht damit zu mischen. Modernes C ist keine Teilmenge von modernem C ++, da ein solches Mischen der beiden nur bedeuten würde, dass Sie nicht sehr vertraut mit sauberem, modernem C ++ sind.
quelle