Il n'y a pas de bonne réponse. Si je posais cette question, je chercherais l'interviewé pour faire des choses comme:
Dessinez quelques images (ou écrivez du code, ou décrivez verbalement - mais je préférerais des images) quelques classes et comment elles sont en relation. Probablement une classe "rendez-vous" qui contient une heure de début, une durée, peut-être un emplacement, et un utilisateur. D'autres cours? Discutez de la manière dont vous stockez ces rendez-vous pour les récupérer comme vous le souhaitez. Il serait bon de savoir comment obtenir l'ensemble des rendez-vous pour une période donnée pour un utilisateur particulier - quelle structure de données (ou conception de base de données) utiliseriez-vous pour rendre cela possible? Pourriez-vous utiliser, par exemple, une sorte de structure arborescente qui décompose les intervalles de temps de manière récursive et qui pourrait contenir ces rendez-vous?
Ensuite, comme je l'ai dit dans mon commentaire, commencez à parler de scénarios plus compliqués - rendez-vous récurrents, comme mentionné par JB King, sont un bon exemple. Plusieurs utilisateurs, ou plusieurs calendriers par utilisateur, etc.
Je pense que l'astuce pour répondre à cette question est de commencer à parler de ce que vous feriez si vous deviez réellement résoudre ce problème en code: comment commencer? Brisez le problème et changez-le d'une question vague à une question concrète afin que vous puissiez l'attaquer.
Ce n'est pas une excellente question d'interview. –
@Jed, pourquoi? Il est assez simple de le faire en quelques minutes et donne à l'intervieweur un aperçu de la façon dont un programmeur voudra stocker des informations et comment il rédigera les exigences. – Matt
Je suis d'accord avec Jed. Cela semble un peu arbitraire. En note, "calendrier" est épelé avec un "a". –