Index des Docs

Exemples de questions

Dernière mise à jour le - Available in English

Les meilleures questions sont celles qui sont adaptées à votre entreprise. Utilisez les questions des CoderPad Examples comme base pour élaborer un processus d'entretien personnalisé et efficace. Copiez et modifiez les exemples de questions pour les rendre uniques aux besoins d'embauche de votre entreprise.

Banque de questions avec l'onglet "exemples coderpad" en surbrillance.

✅Des exemples de questions sont fournis dans la banque de questions pour nos 10 langages de codage les plus populaires, et sont disponibles sur les plans Business et Enterprise . Les plans Team auront accès à un petit échantillon de questions d'exemple.

Avant de jeter un coup d'œil à nos exemples, réfléchissez aux postes pour lesquels vous recrutez, aux compétences qu'un ingénieur doit posséder pour réussir dans ce poste et aux questions que vous pourriez utiliser pour évaluer ces compétences.

Les solutions aux questions d'exemple sont incluses pour les 10 langues prises en charge. Lorsque vous utilisez un exemple dans un pad en direct, les examinateurs pourront voir la solution dans un onglet séparé (non visible pour les candidats). La solution sera également disponible pour les réviseurs du projet Take-Home.

Des exemples de questions sont disponibles pour une variété de scénarios d'entretien et de niveaux de difficulté. Elles sont classées selon leur degré de difficulté (Facile/Moyen/Dur) et peuvent être filtrées par difficulté et par langue dans la banque de questions.

Créer vos propres questions, feuilles de route et projets à emporter à partir d'exemples.

Si vous souhaitez utiliser les questions d'exemple telles quelles (note - nous ne le recommandons pas), vous pouvez cliquer sur les boutons Create Live Pad ou Create Take-Home pour créer une interview en direct/un projet Take-Home pad avec la question d'exemple de CoderPad.

Une question d'exemple de coderpad sélectionnée, avec les boutons "Créer pad en direct" et "Créer à emporter" mis en évidence en bas.

Si vous souhaitez utiliser un exemple de question, nous vous recommandons vivement de le modifier pour qu'il reflète les aspects particuliers du poste que vous cherchez à pourvoir. Pour ce faire, il suffit de suivre les étapes suivantes :

1. Sélectionnez la question que vous souhaitez copier. Ensuite, sur l'écran des détails de la question, sélectionnez d'abord la langue que vous souhaitez utiliser (1), puis cliquez sur Modifier une copie(2).

Un exemple de question sélectionnée avec un 1 pointant sur le menu déroulant de sélection de la langue en haut à droite de l'écran et un 2 à côté du bouton "Modifier une copie" en bas de l'écran.

2. Suivez les invites dans l'assistant de la question pour modifier les champs - comme les Instructions du candidat et le Guide d'entretien/Solution - afin de vous approprier la question.

Le premier écran de l'assistant de questions est intitulé "configurer le contexte de l'entretien".

3. Dans l'écran d'aperçu (Étape 3 - Modifier le code de démarrage), vous pouvez modifier le code selon vos besoins pour votre propre cas d'utilisation. Cliquez sur Enregistrer, puis sélectionnez Promouvoir vers la question active lorsque vous y êtes invité.

L'écran d'aperçu de la question avec une question mysql affichée.

Voilà, vous avez terminé ! Votre nouvelle question sera désormais disponible dans votre Banque de questions pour être utilisée à tout moment. Vous pouvez utiliser ce processus pour modifier n'importe quelle question du CoderPad Example pour l'utiliser dans vos entretiens.

Exemples de questions supplémentaires

Vous trouverez ci-dessous d'autres exemples de questions dont vous pourrez vous inspirer :



Appels HTTP API

Mise en œuvre des appels d'API HTTP dans un pad : Dans le contexte d'un environnement de projet `.js` frontal ou dorsal (comme Vue.js, Angular.js ou Node.js), vous pouvez soit utiliser l'API fetch intégrée, soit npm install un client HTTP pour effectuer des requêtes.

Pour tous les autres langages, vous devrez utiliser la bibliothèque client HTTP par défaut fournie avec l'implémentation standard de ce langage.

Type de question : backend avec cas de test.

Niveau d'expérience cible : Ingénieurs de niveau junior à intermédiaire

Durée recommandée : 30-120 minutes

Cet exemple utilise les données de https://www.premierleague.com. N'hésitez pas à utiliser des données qui correspondent davantage à votre activité et qui peuvent donner un aperçu de la vie dans votre entreprise.

Dans le contexte d'un environnement de modèle de projet frontal, quelqu'un pourrait soit utiliser l'API fetch intégrée, soit npm install un paquet pour effectuer les requêtes. (plus réaliste)

Dans une ancienne version de HTML pad, un utilisateur utiliserait généralement l'API intégrée fetch pour effectuer des requêtes. (encore relativement réaliste, mais beaucoup de gens préfèrent une bibliothèque à fetch)

Instructions aux candidats :

### Hey Candidat - Bienvenue au défi "Projet API à emporter". Votre tâche consiste à créer une fonction qui effectue un appel API pour demander une page HTML, et à analyser le HTML pour récupérer le logo d'une équipe de football. Cette fonction doit fonctionner pour chaque page d'équipe à partir du lien https://www.premierleague.com. Dans le cas où l'URL n'est pas valide, vous devez renvoyer un message d'erreur. #### Un exemple : Demande : "https://www.premierleague.com/clubs/10/Liverpool/overview" Réponse : "https://resources.premierleague.com/premierleague/badges/t14.png" Vous pouvez utiliser C++, Java, JavaScript, Python ou Ruby. Certains de ces langages disposent de bibliothèques de requêtes. Pour les autres, vous devrez utiliser les méthodes HTTP par défaut du langage. Pour voir les paquets/bibliothèques disponibles pour le langage que vous avez choisi, il suffit de cliquer sur le bouton info situé à côté du langage. Nous avons inclus des cas de test qui vous permettront de voir si votre code passe ou échoue. La chaîne de caractères doit correspondre exactement pour être acceptée. Dans le cas où il n'y a pas d'image dans la page, veuillez renvoyer le message "No image found !". Pour voir les cas de test, vous pouvez consulter l'onglet des cas de test, ou lorsque vous exécutez le code, vous verrez chaque test dans la console et si celui-ci a échoué ou réussi. Vous pouvez également enregistrer vos résultats dans la console à tout moment. Bonne chance !
Langue du code : Markdown (démarque inconnue)

Code de démarrage :

def solution(url): # Veuillez écrire votre code ici. retourner "exemple"
Langue du code : Python (python)

Langage de code : Python

Cas de test :

ArgumentsRésultat attendu - valeur de retour
https://www.premierleague.com/clubs/10/Liverpool/overviewhttps://resources.premierleague.com/premierleague/badges/t14.png
https://www.premierleague.com/clubs/12https://resources.premierleague.com/premierleague/badges/t1.png
https://premierleague.comAucune image trouvée !


Composants React

Type de question : frontal sans cas de test.

Durée recommandée : 120 minutes

Cet exemple demande au candidat de créer une vue frontale simple en utilisant les blocs HTML/CSS/JS de CoderPad avec le paquet React Bootstrap. Si le candidat connaît bien React, il devrait être en mesure de relever ce défi rapidement.

Pour les projets à emporter, élaborez cette question en utilisant notre option "Créer un défi SANS cas d'essai".

Instructions aux candidats :

Bienvenue au candidat et merci d'avoir pris le temps de compléter le projet à emporter de NOM DE L'ENTREPRISE pour notre poste de front-end. Vous disposez de 2 heures pour réaliser ce projet. Une fois que vous avez terminé votre solution, vous pouvez utiliser le bouton "Submit Challenge" situé dans le coin inférieur droit. Si vous ne parvenez pas à trouver une solution dans les 2 heures, le code que vous avez à 2 heures sera soumis automatiquement. Le but de ce défi est de construire l'interface utilisateur et la mise en page que l'on trouve dans cette image : URL-GOES-HERE L'interface utilisateur se compose d'un titre d'en-tête principal et d'une liste d'articles formatés à l'aide du composant Card de Bootstrap. Vous devrez faire un appel API pour récupérer les articles. Pour obtenir les messages, utilisez l'URL suivante : https://jsonplaceholder.typicode.com/posts. Voici les règles strictes de ce défi... vous devez.. : 1) Utiliser la méthode que vous jugez appropriée pour effectuer l'appel API. 2) Récupérer uniquement les 10 premiers messages que l'API vous donne. 2) Utiliser le paquet ReactBootstrap pour créer la mise en page (un exemple d'utilisation du paquet ReactBootstrap). `` composant de la bibliothèque est ci-dessous). 3) Créez les composants qui vous semblent les mieux adaptés à votre solution. Le reste dépend de vous ! N'hésitez pas à faire preuve de créativité une fois que vous avez une solution initiale. Ressources : 1) API : https://jsonplaceholder.typicode.com/posts 2) React Bootstrap Docs : https://react-bootstrap.github.io/components/alerts/ 3) React Docs : https://reactjs.org/docs/getting-started.html Bonne chance et si vous avez des questions, n'hésitez pas à nous contacter à l'adresse [email protected]
Langue du code : Markdown (démarque inconnue)

Code de démarrage :

<html> <tête> <méta jeu de caractères="UTF-8" /> <titre>NOM DE L'ENTREPRISE -- Frontend Challenge</titre> <script src="https://unpkg.com/react/umd/react.production.min.js" origine croisée></script> <script src="https://unpkg.com/react-dom/umd/react-dom.production.min.js" origine croisée></script> <script src="https://unpkg.com/[email protected]/dist/react-bootstrap.min.js" origine croisée></script> <script src="https://cdnjs.cloudflare.com/ajax/libs/babel-standalone/6.26.0/babel.min.js"></script> <lien rel="feuille de style" href="https://maxcdn.bootstrapcdn.com/bootstrap/4.5.0/css/bootstrap.min.css" intégrité="sha384-9aIt2nRpC12Uk9gS9baDl411NQApFmC26EwAOH8WgZl5MYYxFfc+NcPb1dKGj7Sk" origine croisée="anonyme" /> </tête> <corps> <div id="racine"></div> <script type="text/jsx"> var Container = ReactBootstrap.Container, Row = ReactBootstrap.Row ; classe Principal étend React.Composant { état = { compter: 0 } render() { retourner ( <Conteneur> <Rangée> // ----- VOTRE CODE ICI ------- // Veuillez créer vos composants ci-dessous </Rangée> </Conteneur> ) } } // ----- VOTRE CODE ICI ------ // Veuillez créer vos composants ici // Rendre le composant à la page ReactDOM.render(<Principal />, document.getElementById("racine)); </script> </corps> </html>
Langue du code : HTML, XML (xml)

Langage de code : HTML, XML (xml)



Dés menteurs

Type de question : backend sans cas de test

This take-home project example question is based on the game liar’s dice. It tests the candidates coding skills and aptitude in algorithmic thinking. The question requires use of both the IDE and the console. 

Utilisez cette question comme point de départ pour rédiger d'autres questions basées sur des mini-applications ; par exemple, construire une classe de chatbot, élaborer un système de facturation, etc.

Instructions aux candidats :

Bienvenue à votre projet à domicile ! Pour cet entretien, votre tâche sera de construire le jeu Liar's Dice. Ce jeu est une classe de jeux de dés pour deux joueurs ou plus qui requiert la capacité de tromper et de détecter la tromperie d'un adversaire. Chaque joueur commence avec 5 dés qui sont cachés aux autres joueurs. Chaque joueur lance son dé et cache les résultats. Le joueur 1 place un nombre X (entre 0 et 5) de dés au milieu, et déclare combien de dés d'un certain nombre sont en jeu. Par exemple : Le joueur 1 place 2 dés de 3 au milieu de la table et déclare "Je crois qu'il y a au moins 7 dés de 3 en jeu". Cela signifie que le joueur 1 pense qu'il y a au moins 7 3 dans la main de chacun (y compris les 2 qu'il a mis au milieu). Après avoir placé le dé au milieu et fait une offre, le joueur doit relancer les dés restants dans sa main. Maintenant, le joueur suivant, appelons-le joueur 2, doit soit contester la réclamation du joueur 1, soit faire une nouvelle réclamation qui est au moins un dé plus haut. Par exemple, "Je crois qu'il y a environ 9 3 en jeu". Le but de cet exercice est d'écrire une classe qui représente une partie de Liar's Dice avec un nombre X de joueurs (au moins 2). Le jeu lui-même ne doit pas fonctionner complètement, mais il doit implémenter trois méthodes publiques accessibles. Ces méthodes sont : 1) move - vous devez pouvoir dire au jeu que le joueur A a placé un dé B avec le chiffre C au milieu. 2) réclamation - vous devez pouvoir demander au jeu la probabilité qu'une réclamation d'un nombre A de B soit correcte à un moment donné. 3) contestation - vous devriez pouvoir contester une affirmation et le jeu devrait vous dire si vous avez raison. Un exemple d'utilisation de cette classe : 1. Instancie le jeu : `game = Game.new(players : 4)` 2. Faites bouger le joueur 1 : `jeu.move(joueur : 1, dés : 3, valeur : 5)` 3. Faites bouger le joueur 2 : `jeu.move(joueur : 2, dés : 1, valeur : 5)` 4. Vérifiez la réclamation : `jeu.claim(dés : 20, valeur : 5)` ---> faible pourcentage 5. Défi : `jeu.défi(dé : 20, valeur : 5)`. ----> faux La formule permettant de déterminer la probabilité que k dés aient la même valeur, compte tenu de n dés au total : n ! / k ! (n - k) ! <em>* (1/6)^k *</em> (5/6)^(n-k) https://www.thoughtco.com/probabilities-and-liars-dice-4038637 La formule ci-dessus ne nous indique la probabilité que lorsque vous connaissez le nombre exact de dés, et non "au moins ce nombre". Pour cela, il faut additionner toutes les possibilités. Exemple : Il reste 17 dés, et nous voulons calculer la probabilité d'en obtenir au moins 16. Nous calculons donc la probabilité d'obtenir exactement 16 et l'ajoutons à la probabilité que les 17 soient identiques. 17 ! / 16 !(1 !) <em>* (1/6)^16 *</em> (5/6)^1 = 0.0000000000051 17! / 17!(0!) <em>* (1/6)^17 *</em> (5/6)^0 = 0.000000000000059 Donc... (0,0000000000051 + 0,000000000000059) * 100 = 0,000000000516% ou presque jamais. Voici un dernier exemple d'exécution pour vous donner une meilleure idée : game = Game.new(players : 4) game.move(joueur : 3, dés : 2, valeur : 3) game.move(joueur : 4, dés : 4, valeur : 3) game.move(joueur : 1, dés : 5, valeur : 3) game.move(joueur : 2, dés : 5, valeur : 3) game.move(joueur : 3, dés : 3, valeur : 3) Il y a 19 3 sur le plateau. game.claim(dé : 20, valeur : 3) Puisqu'il ne reste qu'un seul dé, n = 1, k = 1, donc : 1 ! / 1!0 ! <em>* 1/6^1 *</em> (5/6)^0 = 16.67%
Langue du code : Markdown (démarque inconnue)