C++ Interview Fragen
-
Argh, hatte gehofft die gerade dadurch auszusieben.
-
Ich stelle immer, aehnlich wie Volkard vorgeschlagen hat, eine einfache Programmieraufgabe. Z.B. etwas in der Art: "Wieviele Quadrate kann man auf einem Schachbrett bilden und schreiben Sie eine iterative und eine rekursive Loesung dazu auf."
Da sieht man ob die Person ein Problem analysieren, in eine Formel packen und in Code umsetzen kann.
Bei einzelnen Schritten gebe ich dann, je nach Nervositaet der Kandidaten, Hilfestellung.
Hat bisher immer mit guten Ergebnissen funktioniert, denn die Spreu trennt sich schon bei einfachen Aufgaben vom Weizen. Beim Code kann man dann immer noch nach Dingen wie der Verwendung der Standard-Bibliothek fragen (nicht gerade bei oben genanntem Problem, aber z.B. beim String-Umdrehen).
Wenn man allerdings einen Super-TMP-festen C++'er haben muss, der vom Start weg funktioniert, muss man natuerlich mehr und anders fragen.
-
@volkard: ok so?
void reverse(string &s) { int j = s.size() - 1; for(int i = 0; i < s.size() / 2; i++) { swap(s[i], s[j]); j--; } }
-
Concita_Wurst schrieb:
@volkard: ok so?
void reverse(string &s) { int j = s.size() - 1; for(int i = 0; i < s.size() / 2; i++) { swap(s[i], s[j]); j--; } }Hatte einen C-String gemeint, Zeiger auf nullterminierte char-Kette.
-
@volkard: funktioniert doch gleich vom prinzip!?
-
Concita_Wurst schrieb:
void reverse(string &s) { int j = s.size() - 1; for(int i = 0; i < s.size() / 2; i++) { swap(s[i], s[j]); j--; } }intist der falsche Typ.Das wäre für mich die richtige Lösung:
std::reverse(s, s + std::strlen(s));Wenn ich jemanden suchen würde, der C++ kann, würde ich ihn zum Beispiel die wesentlichen Teile von
std::function,shared_ptroder so programmieren lassen.
Das kann natürlich fast niemand. Ich würde also wahrscheinlich kein Personal finden..
-
Das kann natürlich fast niemand.
Das bisschen Type-Erasure in
functionist so trivial, das kriegt hier im Forum doch jeder hin.
-
qwertiop schrieb:
"Wieviele Quadrate kann man auf einem Schachbrett bilden und schreiben Sie eine iterative und eine rekursive Loesung dazu auf."
Hab erstmal Minuten einen Schrecken gekriegt, weil ich dachte, Rechtecke sollten gezählt werden.
-
Hab erstmal Minuten einen Schrecken gekriegt, weil ich dachte, Rechtecke sollten gezählt werden.
Ist doch beides in O(1) Zeit lösbar? Also wozu rekursive Lösungen abfragen?
-
Ich mag die Frage "Chef hat gesagt Sie sollen dieses Array an diese Funktion übergeben. Wie machen Sie das?"
Erwartung:
1. Ok.
2. Man kann keine Arrays übergeben.
3. Man kann keine Arrays übergeben, aber es gibt da einen Workaround.Sinn ist, dass man erkennt, ob sich die Person auskennt und ob sie mitdenkt. Man braucht natürlich mehrere derartige Fragen.
-
volkard schrieb:
- Warum wird für embedded systems immer nur C++ verwendet?
Hä? Seit wann das?
-
wat schrieb:
volkard schrieb:
- Warum wird für embedded systems immer nur C++ verwendet?
Hä? Seit wann das?
wat schrieb:
Sinn ist, dass man erkennt, ob sich die Person auskennt und ob sie mitdenkt.
-
Arcoth schrieb:
Das kann natürlich fast niemand.
Das bisschen Type-Erasure in
functionist so trivial, das kriegt hier im Forum doch jeder hin.Ja, hier im Forum. Aber frag mal zehn zufällige C++-Entwickler aus der Wirtschaft was
std::functionist. Wenn mindestens einer mal davon gehört hat, bin ich erstaunt.
-
nettest video

https://www.youtube.com/watch?v=WdwaPUWtT-Y
-
Wenn man nur jemanden sucht, der Java mit Sternchen produzieren kann, reichen Kindergartenaufgaben und dämliche Quizfragen.
Wenn man selbst nur mit Ach und Krach Java mit Sternchen kann, ist es egal was man im Interview fragt. Bei so jemandem würde Bjarne Stroustrup als Bewerber nicht unbedingt besser abschneiden als Hans Wurst, der mal ein PHP-Videotutorial gesehen hat.
wernerschwarz schrieb:
nettest video

https://www.youtube.com/watch?v=WdwaPUWtT-Yvoid repeat_n(unsigned int n, std::function<void ()> const &f) { for (auto i = 0; i < n; ++i) { f(); } }Der hat C++ so ungefähr verstanden. Aber er achtet nicht gut genug auf Details. Wenn er Warnungen aktiviert hätte, wüsste er, dass der Vergleich
i < nnicht portabel ist. Dennihat ersignedgemacht undnunsigned. Es gibt Werte fürn, bei denen++iüberlaufen wird, was undefiniertes Verhalten hat.
Vor allem istfviel zu teuer für so einen trivialen Algorithmus. Da hätte ein guter C++-Programmierer ein Template benutzt.
Er könntefunctionvermutlich nicht korrekt implementieren. (EDIT: OK, bei 5:56 sagt er immerhin, dass er das nicht könnte.)
-
Ich hab was wieder gefunden: Deep C. Diesmal habe ich besser abgeschnitten, aber immernoch voreilig und falsch geantwortet

-
simple schrieb:
Trotzdem kann man an der Art wie diese Frage beantwortet wird schon eine Menge über den Bewerber erfahren.
Jain.
Die richtige Antwort wäre nämlich: nix.
-
Zitat:
Hab erstmal Minuten einen Schrecken gekriegt, weil ich dachte, Rechtecke sollten gezählt werden.Ist doch beides in O(1) Zeit lösbar? Also wozu rekursive Lösungen abfragen?
Ja, aber die Summenformel hat kaum jemand (mich ein geschlossen) auswendig parat. Bis jetzt ist im interview auch noch niemnd darauf gekommen. Sollte das doch mal der Fall sein, frage ich trotzdem nach einem iterativen/rekursiven Ansatz!
-
Bis jetzt ist im interview auch noch niemnd darauf gekommen.
Ist doch echt nicht schwer...
für Quadrate ist es sogar trivial. Ich würde so anfangen: Jede Quadratgröße durchgehen. Wenn das große Quadrat Seitenlänge N hat, dann gibt es von Quadraten der Seitenlänge genau .
Also:
Ist sicher falsch, habe das ohne Stift&Papier gemacht... :pEdit: Die Summenformel für kannte ich nur auswending weil wir das gerade in der Schule nebenbei angesprochen haben.
-
Arcoth schrieb:
Edit: Die Summenformel für N2 kannte ich nur auswending weil wir das gerade in der Schule nebenbei angesprochen haben.
Deswegen das Schleifchen, falls man gerade keine Formelsammlung zur Hand hat.