Le code ci-dessus serait probablement une rupture pour moi si je n'avais rien d'autre à faire. S'ils suivent le style d'interview de Microsoft, la personne qui vous a posé cette question vous bloquera probablement - et c'est souvent tout ce qu'il faut.
Ce qui me déconcerte, c'est que l'intervieweur ne vous a pas posé de questions sur ce code. Un bon intervieweur a vu suffisamment de son propre code pour savoir que les gens font des erreurs - surtout lorsqu'ils sont pressés. Habituellement, ils disent: "Maintenant, voyez-vous quelque chose de mal avec ce code?" "Non? Eh bien, testons-le". Vous venez avec quelques jeux de résultats, puis exécutez-le via la fonction. Ensuite, vous dites: "Oh merde, cela n'a pas fonctionné." "D'accord, comment le réparerais-tu ..." et ainsi de suite. Si vous survivez à ce dialogue, il est en fait assez impressionnant et démontre une capacité à penser de manière critique, à proposer des cas de test et à déboguer votre propre code.
Notez également qu'ils ne recherchent généralement pas de "code de travail". Qui produit le premier essai de toute façon? Mais logiquement correct avec la gestion des erreurs et de bons ensembles de tests est un bon objectif.
De plus, cela peut vous surprendre, mais vous êtes en concurrence avec de nombreuses personnes qui ne peuvent même pas se lancer sur fizzbuzz. Nous avons tendance à supposer que tout le monde traverse des arbres b + dans leur sommeil ... mais en réalité, ils ne peuvent même pas comprendre des multiples de 3 et 5 et utiliser un opérateur de module. Vous serez peut-être agréablement surpris de voir à quel point vous avez fait mieux que les autres candidats.
Mon conseil, il suffit de le brosser. J'ai récemment interviewé dans de grandes sociétés de logiciels (Microsoft, Amazon, etc.), et c'était la première fois que je passais par un processus d'entretien aussi approfondi. Je me suis ridiculisé lors d'une interview sur place de Microsoft, principalement à cause des nerfs, mais aussi, je ne savais pas à quoi m'attendre ou exactement ce qu'ils recherchaient. J'ai cloué un problème de chemin le plus court pour faire exploser des problèmes vraiment simples. J'ai sauté des valeurs de la mauvaise extrémité d'une pile, j'ai oublié dans une int atoi(char* value)
implémentationint val = value[i] - '0';
me donnerait la valeur entière du caractère, et plusieurs autres erreurs stupides. J'étais pour la plupart satisfait de l'entretien, mais je comprenais toujours pourquoi je n'avais pas reçu d'offre. Je devais réaliser que ce n'était pas tant une réflexion sur mes capacités que c'était un indicateur que j'avais juste besoin de continuer à l'essayer jusqu'à ce que je sois capable de maîtriser mes nerfs. Finalement, j'ai réussi quelques interviews avec des questions beaucoup plus difficiles et j'ai décroché mon emploi de rêve. C'est vraiment - pour la plupart des gens qui savent réellement ce qu'ils font - juste une question de comprendre ce que les enquêteurs veulent, d'avoir confiance en soi et de le leur donner. Cela prend du temps.