Software Entwickler Interview Aufgaben?

4 Antworten

Vom Beitragsersteller als hilfreich ausgezeichnet

Üblicherweise muss man Programmieraufgaben auf Whiteboard/Papier lösen.

Das kann von Fizz Buzz bis hin zu einem hoch komplexen Problem (bei dem keine Lösung erwartet, sondern nur die Herngehensweise getestet werden soll) alles sein.

Für eine Werkstudentenstelle (im niedrigen Semester) würde ich mit einfachen Fragen rechnen, die a) minimale Programmiererfahrung und b) Kommunikationsfähigkeit testen sollen.

Du könntest dir auf Leetcode mal ein paar einfache Fragen anschauen. Ein paar Beispiele:

- Fizz Buzz

- MxM Matrix Transponieren

- Produkt aller Zahlen eines Arrays ohne das aktuelle Element (division nicht erlaubt ;))

Da könnte man dir ungefähr alle Grundlagen auflisten, genauso gut könntest Du ein Java-Buch lesen.

Wenn Du diese ersten Erfahrungen nicht hast, wird das ziemlich sicher auffallen, egal ob Du vorher die Aufgaben kennst oder nicht. Dann sollte es lieber vorher auffallen, als später in der Probezeit.

Ist unterschiedliche manche haben einen kleinen Test auf Papier mit theoretischen Fragen, manche wollen irgendwelche Beispielaufgaben gelöst haben.

So was wie das Variablen vertauschen was ja schon genannt wurde, manchmal fragen die auch einfach wie min irgendwas bestimmtes simples machen würde.

Im Internet gibts auch Listen an Beispielaufgaben, aber ganz doof sind die ja nicht, wenn die jeder kennt dann sind die ja auch wertlos.

Woher ich das weiß:Berufserfahrung – Software Entwickler / Devops

Da könnten solche Fragen kommen wie: "Erstellen Sie eine Funktion, zum Vertauschen des Inhalts zweier Variablen" oder "Erstellen Sie eine Funktion, welches die Zahlen eines Arrays aufsteigend / absteigend sortiert", ...


MrAmazing2  24.08.2021, 21:42

Was denkst du welcher Sortieralgorithmus bei der zweiten Frage den besten Eindruck macht?

Code sollte ja sowohl performant als auch verständlich sein.

0
Chrisslybear5  24.08.2021, 21:47
@MrAmazing2

Wenn keine Angabe gemacht wird, dann würde ich den einfachsten Algorithmus wählen, da man es wahrscheinlich von Hand aufschreiben muss. Du könntest aber erwähnen, dass andere Algorithmen besser wären, weil ...

Das würde sicher einen professionellen Eindruck hinterlassen. Allerdings solltest du dann darauf achten, nicht zu lange über die Alternativen zu diskutieren, da dies ja nicht die Aufgabe war.

1
MrAmazing2  24.08.2021, 21:30

Ist die erste Frage ein Scherz?

Oder eher ein Test ob man mehr Wert auf Performance oder Readability legt?

Oder war hat‘s damit auf sich, wo ist da die Schwierigkeit?

0
Chrisslybear5  24.08.2021, 21:33
@MrAmazing2

Nein, das ist kein Scherz. Das wäre eine leichte Aufgabe, um dem Bewerber Selbstvertrauen zu geben und zu sehen, wie er generell an eine solche Aufgabe herangeht. Danach kann man die Schwierigkeit entsprechend steigern. Wenn er diese Aufgabe bereits nicht erfüllen kann oder die Syntax inkorrekt ist, dann weiß man, dass er keine Erfahrung mit Java bzw. Programmieren hat.

Die Schwierigkeit dieser Aufgabe besteht darin, zu erkennen, dass man eine extra Variable zum Zwischenspeichern des Inhalts einer der beiden Ursprungsvariablen benötigt...

0
MrAmazing2  24.08.2021, 21:39
@Chrisslybear5

Ah ok. Das würde mir kein Selbstvertrauen geben sondern mich ziemlich verunsichern. Ich würde da denken das ist eine Trickfrage.

Denkst du es macht nen (negativen) Unterschied/Eindruck wenn man da bei Integern

a = a+b;
b = a-b;
a = a-b;

anstatt

int temp = a;
a = b;
b = temp;

schreibt?

Sollte man am besten alle Lösungswege auflisten und dann den besten begründen?

0
Chrisslybear5  24.08.2021, 21:45
@MrAmazing2

Spontan habe ich an die zweite Variante gedacht. Die erste ist aber auch nicht schlecht und braucht keine extra Variable, geht halt nur bei Zahlenwerten. Falls nach einer Funktion gefragt ist, wäre der Code noch nicht vollständig ;-)

Im Interview würde ich eher die zweite Variante wählen, da diese für einen Außenstehenden leicht nachzuvollziehen ist.

Einen negativen Eindruck macht die erste Version nicht. Generell geht es bei den meisten Aufgaben im einen Interview eher darum, herauszufinden, wie der Bewerber an eine Aufgabe herangeht und weniger um das Endergebnis.

1