Ich habe auch keine Ahnung, warum die Tests in Unternehmen so unterirdisch mies sind. Der Effekt davon ist dass man lauter Leute hat, die gut in Einstellungstests und Fizz-Buzz schreiben sind. Leider scheint das die Fortsetzung von schlechten Unis - die's leider auch gibt - zu sein, wo Leute lernen nur für Tests zu lernen. Unfassbar was Leute mit Masterstudium rund um den Bereich Software Engineeering manchmal nicht können/wissen. Wenn man ITler ist, sollte man meines Erachtens zumindest wissen, dass ein float nicht Arbitrary Precision bedeutet. Nichts desto trotz habe ich leider mehr als einen Entwickler gesehen, der dann meinte "das ist ein Bug in der Programmiersprache" und dafür könne er nichts.
Ganz generell würde ich wenn irgendwie möglich einen Bogen um derartige Unternehmen machen und sich auch trauen auszusprechen, dass das vielleicht doch nichts für einen ist. Ja, am Anfang in der Karriere ist das schwierig. Das ist schon klar. Vielleicht muss man da durch, aber wenn man überlegt, dass man dann tagtäglich mit dem Resultat von solchen Einführungstests arbeiten darf und das auf Jahre hinweg, dann ist es vielleicht sinnvoll nicht gleich den erstbesten Job zu nehmen.
Ein anderer Klassiker sind ja so "alles oder nichts Fragen" zu unnötigen Details oder zum Beispiel zu Begriffskenntnissen. Sachen die man im Fall des Falles in zwei Minuten nachgeschlagen hätte, nichts was Bugs verhindert. In denen bin ich persönlich relativ gut, drum habe ich schon ein paar mal gehört, dass ich der erste bin, der das richtig beantwortet hat und solche Dinge. Allerdings fallen die Dinge eher unter unnötiges Wissen. Ein Beispiel. Mein erster Job, noch neben der Uni. Da kam die Frage, ob ich weiß was das C10K-Problem ist. Wie ich später zufällig erfahren hatte, war das wohl an dem Tag gerade die große Bonus-Frage. Allerdings würde ich nicht behaupten, dass mich das auch nur im Geringsten zu einem besseren Mitarbeiter gemacht hätte. Klar, es sagt etwas aus, aber sicherlich nicht alleinstehend, was sie leider im Gespräch war.
Am Sinnvollsten für ein Unternehmen ist es wohl ein kleines echtes Projekt zu machen oder mal einen Tag im Team mitzuarbeiten. Oder eine ernste tiefere technische Diskussion mit jemanden zu haben. Damit kann man vor allem die Leute raussieben, die gut darin sind an der Uni Tests zu schreiben, aber zum Beispiel relativ wenig Zusammenhang sehen, was ein eher wichtiges Kriterium ist.
Und auch wenn Leute immer wieder behauten dass solche Sachen viel zu viel Aufwand für ein großes Unternehmen wäre, weil Zeit habe ich über Bekannte gehört die eben in größeren/internationalen Unternehmen arbeiten, dass das ein gutes Zeichen ist.
Obiges ist übrigens nicht gegen Unis gerichtet. Auch bei guten Unis hat man halt einfach einen Teil der Leute, der vielleicht mit einer anderen Fachrichtung besser wäre, aber auch dank Selbstdisziplin weit kommt. Das obige betrifft jetzt nicht wirklich faule oder inkompetente Leute, sondern eher Leute, die Informatik weniger aus Interesse sondern wegen Freunden, erwartetem Gehalt, Image oder falschen Vorstellungen gewählt haben und manchmal auch Leute, die geborene Akademiker sind und sich schwer tun außerhalb von entweder Theorie oder der Programmierung von sehr spezifischen Prototypen. Das soll nicht heißen, dass es für die keinen guten Job gibt. Mitunter wären das auch gute Leute für IT-Management, "richtige" Research-Abteilungen, etc., nur bekommt man so etwas mit einem FizzBuzz nicht raus. Damit kann man nicht-Programmierer erkennen, aber das war's auch.
Ich halte auch nichts von Whiteboard-Programmierung. Es ist jetzt nicht so schwierig jemanden an einen Rechner zu setzen und ihn oder sie typische Arbeit leisten zu lassen. Im besten Fall als eigenes unbeobachtetes Projekt oder im Team. Man stellt ja niemanden an, um Aufnahmetests zu bestehen. Damit kann man übrigens genau das Rechnen und Kommunizieren, das man braucht abfragen.
Klar, man kann immer noch Mitarbeiter haben, die dann vielleicht doch nicht passen. Das passiert. Dafür gibt's aber auch Probezeiten (bezahlt, sonst vergrault man Leute).
Was ich sagen will: Verliert euren Stolz nicht, nur weil ihr bei einem Bewerbungsgespräch seid. Das macht mitunter nicht den besten Eindruck. Und schaut auch, dass nicht nur ihr zum Unternehmen passt, sondern auch das Unternehmen zu euch. Ich weiß, das ist schwierig, wenn man schnell einen Job und Geld braucht, und es ist dann zu spät sich früher schon mal umgeschaut zu haben (Praktikum, etc.), aber wenn das Selbstvertrauen ganz weg ist wird's mit dem Job finden noch schwieriger.
Obiges ist eine Mischung aus eigener Erfahrung, dabei sitzen bei Bewerbungsgesprächen, Aufgaben und Fragen für Bewerber vorbereiten, so wie vor allem Gesprächen mit anderen Leuten. Komisches Thema, aber weil viele Leute darüber jammern, dass sie schlechte Kandidaten haben oder schlimme Erfahrungen in Unternehmen hatten ein spannendes Thema.
Zur Einmann-GmbH. Ich glaube dass man das Risiko selbst abschätzen muss. Ich würde vielleicht nicht ewig mit Haftung arbeiten, aber in vielen Bereichen kann man sich schon durch den Vertrag bzw. durch das Produkt/die Dienstleistung die man anbietet sehr gut schützen. Das hängt natürlich sehr stark von dem ab, was man macht, aber man kann Code abliefern und die typische Klausel reinschreiben, dass man für Fehler nicht haftet, man Sachen in Richtung "Best Effort" beschreiben, usw. Das sollte man übrigens auch tun, wenn man man beschränkte Haftung hat.