Après un certain temps, nous recrutons à nouveau et j'examine les tests pour les programmeurs; certains d'entre eux sont un peu dépassés. Quelles sont certaines des questions de type FizzBuzz pour les développeurs Web et SQL? Ce n'est pas trop banal, mais toujours résoluble en cinq à dix minutes avec un stylo et du papier et sans Google?
J'élimine généralement environ les deux tiers ou plus des candidats sur la base du CV, puis tous, sauf quelques très bons candidats, lors d'une entrevue d'une heure (qui peut se faire par téléphone). À ce stade, le candidat écrit un test de personnalité et a la possibilité d'écrire un peu de code de type FizzBuzz. Donc, je n'essaie pas d'éliminer un tas de candidats, mais j'essaie de valider mon évaluation initiale que le candidat peut être embauché et capable de coder.
Réponses:
Je vois FizzBuzz comme un test pour voir si les gens savent réellement ce qu'ils prétendent savoir sur leur CV. Je ne l'utiliserais pas comme autre chose qu'une question pour éliminer les candidats qui ne savent pas de quoi ils parlent.
Un remplacement SQL approprié consisterait simplement à demander au candidat d'écrire une instruction SQL telle que la sélection des champs Nom de deux tables jointes commençant par A. C'est simple et démontre que le candidat a effectivement une certaine connaissance de SQL.
Pour un développeur Web, je voudrais simplement leur demander FizzBuzz. Ce n'est pas parce que vous programmez pour le Web que vous ne devriez pas avoir la capacité de faire une logique de programmation de base
Si vous cherchez de vraies questions d'entrevue, il y en a beaucoup de bonnes en ligne que vous pouvez trouver avec une recherche rapide. J'ai trouvé plus que ce que je veux énumérer en prenant 10 secondes avec Google.
la source
Voici une réponse que j'ai donnée à une question très similaire (peut-être en double) qui a été fermée sur ce site.
Niveau extrêmement facile: étant donné une table d'employés avec les colonnes EmpID, FirstName, Lastname, HireDate et TerminationDate: Écrivez une requête pour renvoyer tous les employés travaillant encore pour l'entreprise avec des noms commençant par "Smith" triés par nom puis prénom.
Niveau facile Étant donné le tableau Employé ci-dessus, plus un nouveau tableau "AnnualReviews" avec les colonnes EmpID et ReviewDate: Écrivez une requête pour renvoyer tous les employés qui n'ont jamais eu d'avis triés par HireDate.
Niveau moyen
Compte tenu du tableau des employés ci-dessus, écrivez une requête pour calculer la différence (en jours) entre l'employé le plus ancien et le moins titulaire travaillant toujours pour l'entreprise?
Niveau difficile Compte tenu du tableau des employés ci-dessus, écrivez une requête pour calculer la période la plus longue (en jours) pendant laquelle l'entreprise a passé sans embaucher ou licencier quelqu'un.
Niveau plus difficile
En utilisant à nouveau les mêmes tableaux, écrivez une requête qui renvoie chaque employé et pour chaque ligne / employé inclut le plus grand nombre d'employés qui ont travaillé pour l'entreprise à tout moment pendant leur mandat et la première date à laquelle ce maximum a été atteint. Points supplémentaires pour ne pas utiliser de curseurs.
la source
Que diriez-vous de fizzbuzz lui-même? Voici une version Oracle:
la source
Je trouve que les gens ont tendance à avoir beaucoup de mal à travailler avec le temps pour une raison quelconque, donc cela peut être un bon endroit pour faire un petit test.
Quelque chose comme ça:
Partie 1: Créez une fonction qui calculera le Nième ou dernier jour de la semaine d'un mois donné - c'est-à-dire; le premier, le troisième, mardi dernier le mois prochain.
Partie 2 (si vous le souhaitez): Concevez des tables pour contenir des expressions temporelles pour des programmes récurrents. Les horaires peuvent être "le Nième jour de semaine d'un ou plusieurs mois" ou "le Nème jour d'un ou plusieurs mois" ou "tous les N jours à partir de la date".
Exemple, le 15 de chaque mois, le dernier mercredi de chaque mars, le dernier jour de chaque mois, tous les 17 jours à partir du 2 décembre 2008, etc.
la source