Nach einer Weile stellen wir wieder ein und ich überprüfe Tests für Programmierer. Einige von ihnen sind etwas veraltet. Was sind einige der Fragen vom Typ FizzBuzz für Webentwickler und SQL? Das heißt, nicht zu trivial, aber in fünf bis zehn Minuten mit Stift und Papier und ohne Google lösbar?
Normalerweise eliminiere ich ungefähr zwei Drittel oder mehr der Kandidaten basierend auf dem Lebenslauf und dann alle bis auf ein paar wirklich gute Kandidaten in einem einstündigen Interview (das telefonisch erfolgen kann). Zu diesem Zeitpunkt schreibt der Kandidat einen Persönlichkeitstest und hat die Möglichkeit, ein bisschen FizzBuzz-ähnlichen Code zu schreiben. Ich versuche also nicht, eine Reihe von Kandidaten zu eliminieren, aber ich versuche, meine anfängliche Einschätzung zu bestätigen, dass der Kandidat einstellbar und in der Lage ist, zu codieren.
Antworten:
Ich sehe FizzBuzz als Test, um festzustellen, ob die Leute tatsächlich wissen, was sie in ihrem Lebenslauf zu wissen behaupten. Ich würde es nicht als etwas anderes als eine Frage verwenden, um Kandidaten auszusortieren, die nicht wissen, wovon sie sprechen.
Ein geeigneter SQL-Ersatz wäre, den Kandidaten lediglich zu bitten, eine SQL-Anweisung zu schreiben, z. B. die Namensfelder zweier verbundener Tabellen auszuwählen, die mit A beginnen. Dies ist einfach und zeigt, dass der Kandidat tatsächlich über SQL-Kenntnisse verfügt.
Für einen Webentwickler würde ich sie einfach nach FizzBuzz fragen. Nur weil Sie für das Web programmieren, heißt das nicht, dass Sie nicht in der Lage sein sollten, grundlegende Programmierlogiken auszuführen
Wenn Sie nach aktuellen Interviewfragen suchen, gibt es viele gute Online-Fragen, die Sie mit einer schnellen Suche finden können. Ich habe mehr gefunden, als ich auflisten möchte, indem ich 10 Sekunden bei Google gebraucht habe.
quelle
Hier ist eine Antwort, die ich auf eine sehr ähnliche (möglicherweise doppelte) Frage gegeben habe, die auf dieser Site geschlossen wurde .
Extrem einfache Stufe: Bei einer Mitarbeitertabelle mit den Spalten EmpID, Vorname, Nachname, Mietdatum und Kündigungsdatum: Schreiben Sie eine Abfrage, um alle Mitarbeiter zurückzugeben, die noch für das Unternehmen arbeiten. Die Nachnamen beginnen mit "Smith", sortiert nach Nachname und Vorname.
Easy Level Angesichts der obigen Mitarbeitertabelle sowie einer neuen Tabelle "AnnualReviews" mit den Spalten EmpID und ReviewDate: Schreiben Sie eine Abfrage, um alle Mitarbeiter zurückzugeben, die noch nie eine Bewertung nach HireDate sortiert hatten.
Mittelstufe
Schreiben Sie anhand der obigen Mitarbeitertabelle eine Abfrage, um die Differenz (in Tagen) zwischen dem am meisten und dem am wenigsten beschäftigten Mitarbeiter zu berechnen, der noch für das Unternehmen arbeitet.
Hard Level Schreiben Sie in der obigen Mitarbeitertabelle eine Abfrage, um den längsten Zeitraum (in Tagen) zu berechnen, den das Unternehmen ohne Einstellung oder Entlassung von Personen verbracht hat.
Schwieriger Level
Schreiben Sie erneut unter Verwendung derselben Tabellen eine Abfrage, die jeden Mitarbeiter zurückgibt und für jede Zeile / jeden Mitarbeiter die größte Anzahl von Mitarbeitern enthält, die zu einem beliebigen Zeitpunkt während ihrer Amtszeit für das Unternehmen gearbeitet haben, sowie das erste Datum, an dem das Maximum erreicht wurde. Zusätzliche Punkte, wenn Sie keine Cursor verwenden.
quelle
Wie wäre es mit Fizzbuzz selbst? Hier ist eine Oracle-Version:
quelle
Ich finde, dass die Leute aus irgendeinem Grund große Probleme haben, mit der Zeit zu arbeiten, so dass dies ein guter Ort sein kann, um einen kleinen Test zu machen.
Etwas wie das:
Teil 1: Erstellen Sie eine Funktion, die den n-ten oder letzten Wochentag in einem bestimmten Monat berechnet - dh; der erste, dritte, letzte Dienstag im nächsten Monat.
Teil 2 (falls gewünscht): Entwurfstabelle (n) für zeitliche Ausdrücke für wiederkehrende Zeitpläne. Die Zeitpläne können "der n-te Wochentag eines oder mehrerer Monate" oder "der n-te Tag eines oder mehrerer Monate" oder "alle N Tage ab Datum" sein.
Beispiel: die 15 eines jeden Monats, der letzte Mittwoch eines jeden März, der letzte Tag eines jeden Monats, alle 17 Tage ab dem 2. Dezember 2008 usw.
quelle