Interviewfragen I

Zu Beginn direkt mal ein Klassiker:

Schreiben Sie ein Programm, welches die Zahlen von 1 bis 100 ausgibt. Immer, wenn eine Zahl durch 3 teilbar ist, soll statt der Zahl das Wort foo ausgegeben werden, ist die Zahl durch 5 teilbar das Wort bar. Ist die Zahl sowohl durch 3 als auch durch 5 teilbar, soll das Wort foobar anstatt der Zahl ausgegeben werden.

Mögliche Lösung:

for ($i = 1; $i <= 100; $i++) {
  if ($i % 3 == 0) {
    echo "foo";
  }
  if ($i % 5 == 0) {
    echo "bar";
  }
  if ($i % 3 != 0 && $i % 5 != 0) {
    echo $i;
  }
  echo "\n";
}

Interviewfragen – Einleitung

So, da ich ja inzwischen festangestellter Softwareentwickler bin und auf dem Weg dorthin auch einige Vorstellungsgespräche hatte, möchte ich hier eine neue Reihe starten, in der ich Programmierfragen erläutere, die in solchen technischen Jobinterviews vorkommen können. Die Fragen sind üblicherweise nicht übermäßig kompliziert und es gibt im Allgemeinen auch nicht die korrekte Lösung, aber es gibt durchaus bessere und schlechtere Lösungen. Eine mögliche Lösung werde ich immer im Eintrag selber erwähnen, andere Ideen sind in den Kommentaren gerne willkommen.

Woher ich die Fragen habe? Teilweise aus eigenen Vorstellungsgesprächen, teilweise von StackOverflow, teilweise auf anderen Seiten gefunden. Wo immer möglich werde ich die Quelle angeben.

Auch wenn hin und wieder mal Fragen zu einer speziellen Programmiersprache dabei sein werden, sollten die Fragen üblicherweise ohne Kenntnis einer speziellen Sprache zu beantworten sein. Meine Lösungsvorschläge werde ich auch in Pseudocode niederschreiben.

Ich hoffe, ich kann mit dieser Serie dem einen oder der anderen helfen und/oder Freude bereiten.