Muss man bei Bewerbungsgesprächen oft Probleme lösen?



  • Ich bin zugegeben relativ schwach darin, ad hoc Algorithmen auf Papier auszudenken. Wenn ich eine IDE habe, in der ich erste Ansätze einfach mal durchlaufen lassen kann und etwas Zeit habe, um darüber nachzudenken, dann kann ich in der Regel schon ganze saubere Lösungen zu gewissen, logischen Problemen finden.
    Wenn ich das aber auch einem Blatt Papier in einem Job-Interview unter Zeitdruck machen müsste, dann würde wahrscheinlich nicht all zu viel bei raus kommen.

    Sind solche Problemlösungsaufgaben üblich in Interviews? Es scheint im Internet viele Seiten zu geben, die einem helfen, sich auf solche Fragen vorzubereiten. Es sieht also so aus, als würde das schon öfter vorkommen. Wie sind da Eure Erfahrungen? Was habt ihr gemacht, um Euch da nicht zu blamieren?



  • Ja, ist üblich.

    Ich musste sogar erst 3 Probleme (je 30 min/Problem) auf so einer Online-Programmierseite lösen, bevor ich überhaupt zum Interview eingeladen wurde (habe vergessen, wie die hieß). Die Website hat dann auch automatisch Tests laufen lassen mit vielen Spezialfällen und auch mit großen Eingaben, sodass die Komplexität geschätzt wurde - bei manchen Problemen gab es O(nlgn)O(n \lg n)-Lösungen und wenn man es in O(n2)O(n^2) gelöst hat, gab es Abzug - ich hatte, weiß ich noch, in einem Problem nur eine Average-Komplexität von nlgnn \lg n, aber bei komplett identischen Eingabedaten hatte ich n2n^2, das wäre in meinem Code mit einem if vermeidbar gewesen... Naja, was solls. Dann im eigentlichen Interview musste ich ein char-Array mit "die sonne scheint" in "scheint sonne die" (also Wörter rückwärts) umwandeln, wobei aber irgendwelche String-Funktionen verboten waren - also nur mit Schleifen lösen. Es gab nur eine (recht kleine) Tafel - gelöst habe ich es, aber man kommt ins Schwitzen!

    Inzwischen bin ich woanders und habe selbst schon mal Bewerbern Aufgaben gestellt. Ich stelle fest: man kann auch die allereinfachsten Dinge fragen und bekommt schell einen Eindruck. Man erlebt Überraschungen wie dass Leute mit "Expertenkenntnisse in SQL" nicht wissen, wie man ein SELECT schreibt... ARGH!



  • Erstmal danke für dein Input!

    Scheint als würde es also durchaus Sinn machen, sich auf sowas vorzubereiten. Ich komme bei den Programmier-Tasks, die ich so im täglichen Alltag mache, kaum mit solchen Problemstellungen hin Kontakt, daher bin ich was das angeht auch sehr eingerostet. Etwas demotivierend, eigentlich sollte man sowas als Software-Entwickler aus dem Effeff können, da es an sich ja eigentlich nur um die Fähigkeit logisch zu denkend geht.
    Wenn da jemand zufällig etwas hat, wo man es besonders gut lernen kann, dann gerne her damit. Ansonsten findet man natürlich auch genug, wenn man einfach googelt.

    Tatsächlich hatte ich damals bei meinem Studium vorher auch so ein Interview, die Fragen in der Richtung waren aber wesentlich banaler. Da ging es um die Türme von Hanoi - gegeben war, dass für x Scheiben der Algorithmus y Schritte braucht, gefragt wurde wie viel es denn für x+1 Scheiben sind, was ja relativ banal ist, besonders weil vorher beschrieben wurde, wie der Algorithmus arbeitet. Wenn ich stattdessen den Algorithmus selber hätte implementieren müssen, wäre ich wohl gescheitert.

    Noch eine Frage direkt an dich, wob, da du ja selber Interviews zu führen scheinst(oder mal geführt hast): Worauf achtest du denn besonders, um herauszufinden, ob jemand "gut" ist?



  • Bei uns geht es beim Programmieren nicht um "gut", sondern eher darum, ein bisschen zum überprüfen, ob jemand überhaupt damit klarkommt bzw. ob es stimmt, was in der Bewerbung steht (sowas wie "C++: sehr gute Kenntnisse, 5 Jahre Berufserfahrung" kann auch heißen, "ein bisschen mit C mit cout herumgedoktort und noch nie was von unique_ptr geschweige denn von move-Semantik gehört"). Wir machen Datenanalyse, da ist Programmieren nur ein notwendiges Übel (und in der Regel nicht in C++, daher ist mir auch egal, welche Sprache jemand kennt, es sollten nur zumindest solide Grundkenntnisse vorhanden sein). Wir hatten auch schon einen Kandidaten, der mitten im Gespräch, weil er eine einfache Aufgabe nicht sofort lösen konnte, auf einmal meinte, dass er den Job nicht mehr will und gegangen ist, ohne sich zu verabschieden. Also, wir machen das auch, um die Leute besser einschätzen zu können. Aber allgemein arbeite ich in einer sehr sehr kleinen Firma, mein Chef macht die Interviews selbst, aber ich gucke dann so ein bisschen nach den technischen Kenntnissen.

    Vielleicht können ein paar andere ja auch mal ihre Erfahrungen beschreiben. Würde mich auch interessieren!



  • In meiner Abteilung werden keine Tests gemacht (in anderen einfache Tests). Bei dem Vorstellungsgespräch kann man aber schon oft ein gewisses Gefühl dafür bekommen, ob´s jemand drauf hat oder nicht.
    Im übrigen muss jemand auch nicht unbedingt "gut" sein, es reicht schon, wenn er "nicht schlecht" ist und sich nicht überschätzt. Es geht eher darum, die wirklich schlechten rauszufiltern, und die übrigen halbwegs einzuschätzen, damit man sie sinnvoll einsetzen kann. Gute Leute haben wir schon genug. Es mangelt eher an "Fachkräften".



  • Hm, ich hatte mal ein Gespräch in dem ich erklären sollte wie ich irgendein Problem mit Zusatzzahlen in C implementieren würde. Das Problem war recht trivial, und das hatte sich erledigt als ich mit Randbetrachtungen angefangen habe. Da ging es nur darum festzustellen ob man wirklich eine ganz grobe Idee hat.

    Bei meinem aktuellen Job gingen die Fachfragen eher in die Richtung von allgemeinen numerischen Verfahren, wobei die im tatsächlichen Job nicht das Hauptgebiet sind. War ich aber drauf vorbereitet, weil numerische Verfahren in der Ausschreibung standen.

    Ich habe, wenn ich auf der anderen Seite sitze, immer ein paar sehr einfache anwendungsbezogene Fragen vorbereitet, die ich Stelle, wenn ich mir im Gesprächsverlauf unsicher bin, was die entsprechenden Qualifikationen betrifft.

    P. S. Fast vergessen, für ein Studentenjob musste ich tatsächlich mal was live vorprogrammieren. Das ist auch glorreich schief gegangen. Den Job habe ich trotzdem bekommen und viel dabei gelernt.



  • Erstmal Danke an alle für den Input, alles sehr interessant und hilfreich!

    Ich nehme jetzt mal mit, dass es durchaus üblich und sehr zu erwarten ist, dass man in einem Vorstellungsgespräch konkrete Aufgaben lösen muss. Auch wenn es manchmal nicht der Fall ist, so wie Mechanics berichtet hat, ist es also grundsätzlich sinnvoll, dass man damit umgehen kann.

    Interessant fand ich, dass einige wohl die Aufgaben auch nicht mit links bewältigt haben. Lag das am fehlenden Wissen oder eher an der stressigen Situation?
    Ich habe auch auf Youtube schon einige Videos geschaut, in dem einige sehr Schwierigkeiten mit solchen "Whiteboard interviews" hatten. Also Interviews, in den man live vor-coden muss während eine andere Person kritisch zuschaut. Komisch, denn einige von den Youtubern machen eigentlich einen sehr kompetenten Eindruck.



  • @newmember sagte in Muss man bei Bewerbungsgesprächen oft Probleme lösen?:

    Interessant fand ich, dass einige wohl die Aufgaben auch nicht mit links bewältigt haben. Lag das am fehlenden Wissen oder eher an der stressigen Situation?

    Der Stress der Situation gehört sicherlich auch dazu, aber wenn man das gestellte Problem (oder ein ähnliches) bereits kennt, hat man es deutlich leichter. Es gibt inzwischen recht viele Webseiten die "Programming Challenges" anbieten (oft auch kostenlos für Entwickler). Und wie wob erwähnt hat, werden manche davon sogar von den Unternehmen verwendet. Ich hatte vor ein 1-2 Jahren Hackerrank ausprobiert und dort ein Großteil der Algorithm Challenges gemacht.


  • Gesperrt

    Dieser Beitrag wurde gelöscht!


  • Ist zwar schon etwas älter, aber ich hätte auch noch ne Anschlussfrage. Ich hab in Vorbereitungsvideos gesehen, wie die Probleme an einer Tafel gelöst wurden. Aber wie wird das bei uns bei Bewerbungsgesprächen über Zoom gemacht. Einfach mit nem Blatt Papier, oder kann man es auch in der IDE oder im Editor machen.


  • Mod

    Das wird sicherlich ganz drauf ankommen, wen du fragst, denn verschiedene Unternehmen werden verschiedene Lösungen gefunden haben. Wenn wir so etwas machen, dann quasi als Hausaufgabe zur Abgabe mit zwei Wochen Zeit. Der klassische Test a la "Sortieren Sie mal eine verkettete Liste an der Tafel" ist seit Jahren out (der Thread ist ja auch schon etwas älter), weil er keine für Programmierer relevanten Fähigkeiten testet. Wenn jemand so etwas von dir verlangt, würde ich den Bewerbungsprozess dort in Frage stellen und mir überlegen, ob ich dort arbeiten möchte, denn die Firma hinkt weit hinterher. Bei uns ist die Hausaufgabe daher auch nicht wirklich schwer, sondern soll nur diejenigen frühzeitig ausfiltern, die überhaupt gar nichts eigenständig auf die Reihe bekommen (was erstaunlich viele sind). Das haben wir aber auch schon vor Zoom gemacht, denn, wie gesagt, sind Algorithmen an der Tafel (und erst recht kreative Denksportaufgaben) seit Jahren out.



  • Danke für die Info, in den Videos wurde es immer so dargestellt, als wäre das Usus. Kann aber eventuell daran liegen, das die aus dem englischsprachigen Raum sind, da ist es vielleicht noch anders. In den USA werden so viel ich weiß auch Lebensläufe und Anschreiben anders verfasst, als bei uns.
    Aber wenn man dann eh früh genug die Aufgabe bekommt, dann wird das auch zu machen sein, sofern man es wirklich möchte denk ich.



  • Da ich vor kurzem in eine Festanstellung gerutscht bin, kann ich vielleicht Dir (und anderen) auch etwas bzgl. der Aufgaben berichten.

    Fast alle Unternehmen, in welchen ich mich vorstellte, haben mir Aufgaben erteilt. Du wirst, und das macht den Vergleich etwas schwieriger, überall (etwas) anders getestet.

    In der Regel erhielt ich für alle Aufgaben angemessen viel Zeit, soll heißen, entweder eine Woche oder teils zwei. Zu den gestellten Aufgaben gehörten teils Tests via Codililty oder auch stark auf meinen Lebenslauf (hier die von mir genannten Fähigkeiten) zugeschnittene Aufgaben.

    Wenn Du also schreibst, ORMs, SQL oder was auch immer zu verstehen, kann man bei einigen Unternehmen damit rechnen, dass dann eine entsprechende Aufgabe eintrudelt. Viele Tests gaben mir viele Freiheiten, es wurden meist wenig Vorgaben gemacht sondern nur beschrieben, was das Programm schlussendlich können soll.

    Einmal sollte ich einen Onlineshop programmieren, welcher Produkte in einer In-Memory-Datenbank zur Laufzeit speichert, ein anderes Mal sollte ich direkt an einem realen Projekt arbeiten und ein Feature umsetzen und dieses mit einem Pull-Request abschließen. War auch etwas nervig, da man Verschwiegenheit zum Code bei sowas garantieren musste, aber bei sowas sehe ich auch, wie die potenziellen Kollegen programmieren und kann abschätzen, ob man sich das antun möchte.

    Ansonsten hatte ich fast immer Fachgespräche, wo auch oft die Tests besprochen wurden und dann weitere technische Fragen gestellt wurden.

    Ich schätze, so ganz anders wird es im englischsprachigen Raum nicht sein. Hätte ich diese Lebenserfahrung bereits vorher gehabt, hätte ich den Sprung in die Festanstellung, wodurch mir bspw. mein Studium in Vollzeit vom Einkommen mehr als gesichert ist, bereits während des Abendgymnasiums getätigt.

    Hoffe, Dir damit einen verwertbaren Erfahrungswert gegeben zu haben.



  • @patrik-kuehl sagte in Muss man bei Bewerbungsgesprächen oft Probleme lösen?:

    ein anderes Mal sollte ich direkt an einem realen Projekt arbeiten und ein Feature umsetzen und dieses mit einem Pull-Request abschließen

    Lol ... die Firmen werden aber auch immer dreister 😃 Sind jetzt mittlerweile selbst die Praktikanten zu teuer geworden? Also lieber die Bewerber das Produkt für Umme entwickeln lassen ... clever, clever.



  • @Leon0402

    Es gab tatsächlich Leute vom HR, die am Hörer eine weitere Teilnahme im Prozess aufgrund einer gewissen Gehaltsforderung ausgeschlossen haben. Junior-Position mit Anforderungen, die wir beide erst in zehn Jahren erfüllen könnten. Anders gesagt, man sucht keinen Entwickler, sondern eine Abteilung.



  • Wurde doch noch mal etwas belebt hier. Danke für eure Antworten, es hat mir zumindest definitiv geholfen.


  • Mod

    @codingnoobert sagte in Muss man bei Bewerbungsgesprächen oft Probleme lösen?:

    Danke für die Info, in den Videos wurde es immer so dargestellt, als wäre das Usus. Kann aber eventuell daran liegen, das die aus dem englischsprachigen Raum sind, da ist es vielleicht noch anders. In den USA werden so viel ich weiß auch Lebensläufe und Anschreiben anders verfasst, als bei uns.
    Aber wenn man dann eh früh genug die Aufgabe bekommt, dann wird das auch zu machen sein, sofern man es wirklich möchte denk ich.

    Liegt unter anderem auch eher daran, wie konservativ das Unternehmen in seinem Bewerbungsprozess ist. Wenn ich mich bei der Telekom oder der Bahn bewerben würde, würde ich nicht überrascht sein, wenn so etwas in der Art kommt. (Also als Beispiel vom öffentlichen Image dieser Firmen her, vielleicht tue ich ihnen auch großes Unrecht und die sind intern ganz cool!) Ich arbeite eigentlich auch bei einem eher gestrigen Unternehmen, aber unsere relativ moderne Abteilung führt den Bewerbungsprozess intern durch, anstatt ihn an HR abzugeben, von daher sind wir da flexibler.

    In den USA sind solche Fragen tatsächlich ein Klischee, aber auch da gilt das als Zeichen für eher weltfremde Firmen. Ich habe mich noch nicht so oft dort beworben, daher kann ich nicht sagen, ob das wahr ist.



  • Bei meiner letzten Bewerbungsrunde wurde ich bei einem Unternehmen nach Datenbanken ausgefragt, und bei der einen musste ich ein billiges Quiz machen (virtual destructor, keine referenzen auf temporaries zurückgeben - Effective C++ von Scott Meyers eliminiert diese ganzen Unkentnisse).
    Bei der einen musste ich Kenntnisse zu Komplexitätsklassen vorweisen (welcher Sort algo hat welche laufzeit und warum verwendet man den).
    Den einen hatte mein github Account scheinbar gereicht.



  • @SeppJ sagte in Muss man bei Bewerbungsgesprächen oft Probleme lösen?:

    der Bahn bewerben würde

    Also bei der DB Systel ist das letzendes abhängig von der Abteilung / Team, was einen einstellt, da das Team selbst die Bewerber einstellt. Bei meiner Bewerbung als dualer Student hatte ich jedenfalls das volle Programm: Online Test, Assesment Center (mit Einzelgesprächen, Gruppenaufgaben, Mathe Test etc.) und dann nochmal einem 90min Einzelgespräch nach Weiterkommen der ersten beiden Phasen.

    Meine Erfahrung war aber, auch wenn es vlt. etwas horrormäßig klingt, sehr positiv. Gut der Online Test war mies ... nur mathe & logik und zwar richtig auf Zeit, da sind viele viele Bewerber rausgeflogen (auch solche die eig. sehr gut in Mathe sind, d.h. halte ich nicht so viel davon). Das Assesment Center hat Spaß gemacht. Es haben einen in mehren Runden 10 normale Mitarbeiter aus unterschiedlichen Bereichen bei interessanten Aufgaben bewertet. Am Ende haben diese quasi (im Geheimen) abgestimmt, wer weiter kommt.

    Aus meiner Sicht wesentlich moderner als bei anderen Firmen. Bei einem anderen Einstellungprozess bei einer anderen Firma war das so:

    • Online Tests in verschiedenen Bereichen -> Den fand ich sogar ganz gut, da mehr fachlich, weniger auf Zeit
    • Telefongespräch mit extern beauftragten Dienstleister (Die haben nur vorher festgelegte Fragen gestellt und die Antworten 1:1 mitgeschrieben, keine Rückfragen / Bemerkungen etc) -> Sehr unangenehm
    • Noch ein Mathe/Englisch/etc. Test vor Ort bei dem man rausfliegen konnte direkt, war okay
    • Ein langes Einzelgespräch mit einer Personalerin, einem Psyschologen und einem der einigermaßen vom Fach war -> Auch hier eher unangenehm. Meine Fragen konnten kaum beantwortet werden, da die Personen nicht vom Fach waren ... das war mehr ein weiterer Test (durfte mit dem Psyschologen auch ein Rollenspiel machen) anstatt einem netten lockerem Gespräch

    Das sind natürlich sehr spezielle Bewerbungsgespräche, da es um ein duales Studium geht. Viele schaffen das Studium nicht und entsprechend haben die Firmen sehr umfangreiche mehrstufige Bewerbungsprozesse.

    Von den Berichten meiner Kollegen weiß ich, dass bei uns in der DB Systel, die Bewerbungsgespräche normalerweise eben direkt beim Team stattfindet. Dort wurde auch die fachliche Eignung geprüft, aber immer im direkten Bezug auf die Tätigkeit und das eigene (angegebene) Wissen. Irgendwelche Algorithmen muss da i.d.R keiner hinkritzeln.

    Bei der Telekom kam die Einladung zum Bewerbungsgespräch über 1 Jahr später als ich schon mit meinem Studium angefangen habe. Entsprechend kann ich dazu nicht viel berichten. Kann nur hoffen, dass das nicht die gängige Praxis ist.



  • Ich bin eigentlich kein HRler - so jemanden haben wir nicht in der Firma, da zu klein. Mein Chef macht meist meist zusammen mit mir das Bewerbungsgespräch (zumindest den fachlichen Teil). Wir machen ja eigentlich Machine Learning und fragen logischerweise auch dazu, aber wir machen auch einen minimalen (!) Programmiertest auf Papier. Das filtert Leute aus, bei denen man sich eigentlich gedacht hat, dass alles sinnvoll klingt und auch die richtigen Ideen zur Lösung eines konkreten Problems hatten, die es aber nicht schaffen, einfachste Formeln mal konkret auszuschreiben. Auch erkennt man leicht, ob "Expertenkenntnisse in Programmiersprache XY" wirklich stimmt. Eine for-Loop sollte man auch unter Bewerbungsstress problemlos schreiben können (uns ist dabei sogar die Programmiersprache egal - und Syntaxfehler zählen sowieso nicht). Wenn man unter dem Stress gar nichts mehr hinbekommt, dann können wir solche Leute auch nicht gebrauchen (und schon gar nicht mal zu einem Kunden schicken).

    Das Erschreckende ist, dass man ganz ohne den Bewerber/die Bewerberin mal eine Formel schreiben zu lassen, schon manchmal getäuscht werden kann (besonders da wir HR ja nur ab und an nebenbei machen).

    Wir haben schon gehabt:

    • "Expertenkenntnisse in SQL" im CV, Bewerber kannte aber "group by" nicht.
    • die Aussage "Oh, muss ich wirklich eine Formel schreiben? Ich komme mit Formeln nicht so gut klar" - und das bei Bewerbung als Data Scientist und abgeschlossenem Studium in dem Bereich! Bei dem Gespräch war schon nach 2 Minuten klar, dass wie die Bewerberin nicht nehmen können (und wir hatten uns so gefreut, endlich auch mal eine weibliche Bewerbung bekommen zu haben und hätten sicher über einige Schwächen hinweggesehen). Dabei sahen Referenzen usw. gut aus und sie hatte angeblich auch schon ein paar Projekte mit Machine Lerning mitgemacht. Code und github waren vorhanden. Bei Code in github ist aber oft nicht klar, was wirklich Eigenleistung ist. Zu oft habe ich Beispielcode, der irgendwo abgeschrieben wurde, gesehen.
    • ...

Anmelden zum Antworten