dedlfix: Bewerbungsgespräch

Beitrag lesen

Hi!

Der Kandidat soll sich in den Bereichen PHP/CSS/Javascript/Ajax auskennen.
Ich kann ihn schlecht Fragen, welchen Hexadezimalcode die Farbe rot hat?!?

Stimmt, das ist Tirvialwissen, das man in Nullkommanix nachschlagen kann. Außerdem interessiert das einen Programmierer weniger, konkrete Farben sind eher ein Designer-Thema.

Welche Fragen soll ich ihm dazu stellen?

Eine recht einfache Präsentation des Könnens wäre, ein HTML-Formular zu erstellen, das zwei Eingabefelder (ein Text, ein Select) enthält und dessen Eingabe nach einer (angedeuteten) Wertebereichsprüfung in ein DBMS geschrieben werden soll. Kein großer Akt sollte man meinen, aber bei der Umsetzung zeigt sich eine Menge Können. Das fertige Produkt muss nicht in allen Feinheiten perfekt sein, aber man sollte erkennen können, dass alle wichtigen Aspekte berücksichtigt wurden.

Die Lösung sollte enthalten: (nicht vorher sagen, sondern kontrollieren)

  • Affenformular, bei dem man eine Strukturierung nach EVA-Prinzip erkennen kann
  • Verbindungsaufbau zu einem DBMS inklusive Fehlererkennung und -behandlung (wobei die(mysql_error()) einen klaren Minuspunkt ergibt)
  • Kontextgerechte Behandlung der Werte beim Einfügen in das SQL-Statement und bei der HTML-Ausgabe.

Was produziert das folgende Script (Leider mir öfter schon passiert mit next :P):

Die Zahlen von 0 bis 9 und 5 Notice-Meldungen. Interessant ist eher weniger, dass man beim Trockenschwimmen erkennen kann, was ein Codestück macht, sondern ob man in der Lage ist, ihn debuggen zu können.

Was gibt das folgende Skript aus:

No, weil "x" == 0 nicht wahr wird. Kniffliger ist der Unterschied in der Priorität zwischen && und and, besonders wenn Operatoren in dem Ausdruck mitspielen, deren Priorität dazwischen liegt (?: und Zuweisungen).

Das ist aber auch triviales Zeug, bei dem man durch Tests feststellen kann, ob es so funktioniert wie vorgestellt. Wichtig ist auch, dass Dinge _nicht_ funktionieren, die man _nicht_ haben will, beispielsweise Code-Injections.

Lo!