Im Programm kommen Objekte an. In jedem Objekt kann eine Telefonnummer und/oder ein Login angegeben sein (oder eines dieser Werte, oder beides gleichzeitig), sowie eine Nutzlast in Form von Binärdaten. Eingehende Objekte müssen im Arbeitsspeicher gespeichert werden unter Einhaltung der folgenden Einschränkungen: Wenn das eingehende Objekt ein Login und/oder eine Telefonnummer hat, die mit einem bereits gespeicherten Objekt übereinstimmen, muss das gespeicherte Objekt gelöscht werden, und das eingehende nicht gespeichert werden. Wenn ein Objekt länger als 60 Sekunden im Arbeitsspeicher bleibt, muss es gelöscht werden. Es wird angenommen, dass Objekte häufig eintreffen. Dabei sind Objekte, die durch Login/Telefonnummer übereinstimmen, deutlich seltener als die Gesamtzahl der eintreffenden Objekte. void process(Object o) { }
C/C++
[Name] erzähle mir von dir und den Produkten, an denen du gearbeitet hast, sowie den Aufgaben, die du erledigt hast.
Bei der Überprüfung ist ein Diff sichtbar, der wie ein grober Copy-Paste oder ein seltsamer Hack aussieht: Der Code führt die erforderliche Aktion aus, aber es ist nicht offensichtlich, wie er funktioniert oder ob er überhaupt richtig funktioniert. Was sind deine nächsten Schritte?
Welche Eigenschaften muss eine Aufgabe haben, um umgekehrt die Reaktion 'Oh, das möchte ich nicht machen' hervorzurufen?
Und was schreckt Sie im Gegenteil bei solchen Veranstaltungen ab?
Welche Eigenschaften sollte ein Kollege haben, damit es angenehm ist, mit ihm zu arbeiten?
Wie erkennt man, dass eine Änderung (z.B. Wechsel von Boost zur Standardbibliothek) wirklich « funktioniert »?
Haben Sie Erfahrung mit groß angelegtem Refactoring einer großen Legacy-Datenbank? Wenn nicht, wie würden Sie vorgehen, wenn Sie müssten?
Wie stehst du zu Aktivitäten außerhalb der Arbeit (Foren, Firmenveranstaltungen, Sport) und was reizt dich daran am meisten?
Haben Sie schon einmal an technischen Diskussionen/Meinungsverschiedenheiten innerhalb des Teams teilgenommen? Wie verliefen sie und wie wurden sie gelöst?
Warum hast du deinen vorherigen Arbeitsplatz verlassen?
Es gibt eine Code-Review-Aufgabe: Ein Kollege hat eine Lösung eingereicht, die funktioniert und durch Unit-Tests abgedeckt ist, aber die Implementierung ist überhaupt nicht so, wie du sie machen würdest. Was wirst du tun?
Was hat dich dazu motiviert, nach einem neuen Ort zu suchen?
Situation: Zwei Manager kommen und geben zwei dringende Aufgaben, aber es gibt keine Zeit. Was würdest du tun?
Wie könnte man die RVO/NRVO-Optimierung in einem Compiler implementieren?
Gab es genügend Informationen für die Analyse bei der Planung, oder wurde die Entscheidung eher blind getroffen, aber erfolgreich?
Was ist der Plan für die Refaktorisierung und was muss vorhanden sein, um sie sicher durchzuführen?
Was wird auf dem Bildschirm angezeigt? (Frage 1: Konstruktoren, RVO/NRVO)
Was wird auf dem Bildschirm angezeigt? (Frage 3: sizeof des Arrays, Zeiger, Referenz auf das Array)
Wie vermeidet man eine Situation, in der nach drei Monaten alles "chaotisch" ist und nichts funktioniert, wenn der Leiter beschlossen hat, den Code radikal neu zu schreiben (zum Beispiel Boost zu entfernen)?