{"id":36515,"date":"2023-10-16T10:20:34","date_gmt":"2023-10-16T17:20:34","guid":{"rendered":"https:\/\/coderpad.io\/?post_type=online-coding-tests&#038;p=36515"},"modified":"2024-01-05T09:15:14","modified_gmt":"2024-01-05T17:15:14","slug":"tests-techniques-back-end","status":"publish","type":"online-coding-tests","link":"https:\/\/coderpad.io\/fr\/online-coding-tests\/backend-online-coding-tests\/","title":{"rendered":"Back-end"},"content":{"rendered":"<h2 class=\"wp-block-heading\">A propos de nos tests techniques back-end<\/h2>\n\n\n\n<p>Notre service dote votre \u00e9quipe de tests techniques pragmatiques et efficaces qui mesurent avec pr\u00e9cision les comp\u00e9tences d'un candidat en mati\u00e8re de backend. Avec des outils comme <a href=\"https:\/\/coderpad.io\/fr\/solutions\/tests-techniques\/\">CoderPad Screen<\/a> \u00e0 votre disposition, vous avez la possibilit\u00e9 de cr\u00e9er des tests backend en quelques minutes seulement, m\u00eame si vous n'avez pas d'exp\u00e9rience sur les technologies back-end.<\/p>\n\n\n\n<p>Nos tests ont \u00e9t\u00e9 structur\u00e9s de mani\u00e8re \u00e0 inclure les principes fondamentaux, les algorithmes et plus encore. Ces tests, minutieusement con\u00e7us par nos professionnels exp\u00e9riment\u00e9s du secteur, garantissent qu'ils refl\u00e8tent des sc\u00e9narios pratiques et permettent d'\u00e9valuer avec succ\u00e8s les comp\u00e9tences des candidats.<\/p>\n\n\n\n<p>Pour les responsables de recrutement qui recherchent une approche plus personnalis\u00e9e, nous offrons \u00e9galement la possibilit\u00e9 d'adapter le test en y ajoutant leurs propres enjeux techniques.<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Dur\u00e9e recommand\u00e9e : <\/strong>38-92 minutes<\/li>\n\n\n\n<li><strong>Nombre moyen de questions : <\/strong>27<\/li>\n\n\n\n<li><strong>Types d'exercices : <\/strong>Choix multiples, exercices de codage, jeu de codage, texte libre<\/li>\n\n\n\n<li><strong>Niveaux de test<\/strong>: Junior, Senior, Expert<\/li>\n<\/ul>\n\n\n\n<p>\u2139\ufe0f <a href=\"https:\/\/app.coderpad.io\/register\">Explorez notre banque de questions et testez par vous-m\u00eame notre exp\u00e9rience candidat<\/a><\/p>\n\n\n<section class=\"icon-lists-block\" data-block-name=\"coderpad-icon-lists-block\">\n    <div class=\"inner\">\n\n    \n            <div class=\"lists lists--1\">\n                            <div class=\"icon-list\">\n        <div class=\"top\">\n                            <div class=\"icon-container\">\n                    <svg class=\"icon icon-lightning-bolt\" role=\"img\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" fill=\"none\" viewbox=\"0 0 10 14\"><title>\u00e9clair<\/title><path fill=\"currentColor\" d=\"M3.608 13.967c.185.079.4.013.508-.158l4.922-7.82a.41.41 0 0 0-.347-.63H5.407L6.628.511a.41.41 0 0 0-.744-.32L.962 8.011a.41.41 0 0 0 .347.63h3.284l-1.221 4.848a.41.41 0 0 0 .236.478Z\"\/><\/svg>\n\n                <\/div>\n            \n                            <h3 class=\"title\">Comp\u00e9tences backend \u00e0 \u00e9valuer<\/h3>\n                    <\/div>\n\n                    <ul class=\"links\">\n                                    <li>\n                        <a >Conception d'API RESTful<\/a>\n                    <\/li>\n                                    <li>\n                        <a >Bases de donn\u00e9es et ORM<\/a>\n                    <\/li>\n                                    <li>\n                        <a >Gestion de packages<\/a>\n                    <\/li>\n                            <\/ul>\n        <\/div>\n\n                    <\/div>\n    \n    <\/div>\n<\/section>\n\n\n\n<h2 class=\"wp-block-heading\">Exemples de questions back-end<\/h2>\n\n\n\n<h3 class=\"wp-block-heading\">Question 1 : Traitement de donn\u00e9es<\/h3>\n\n\n\n<p>Dans cet exercice, vous devez analyser des relev\u00e9s de temp\u00e9rature et identifier celle qui est la plus proche de z\u00e9ro.<\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-full\"><a href=\"https:\/\/coderpad.io\/wp-content\/uploads\/2023\/09\/image-5.png\"><img loading=\"lazy\" decoding=\"async\" width=\"309\" height=\"202\" src=\"https:\/\/coderpad.io\/wp-content\/uploads\/2023\/09\/image-5.png\" alt=\"\" class=\"wp-image-36550\" srcset=\"https:\/\/coderpad.io\/wp-content\/uploads\/2023\/09\/image-5.png 309w, https:\/\/coderpad.io\/wp-content\/uploads\/2023\/09\/image-5-300x196.png 300w, https:\/\/coderpad.io\/wp-content\/uploads\/2023\/09\/image-5-18x12.png 18w\" sizes=\"auto, (max-width: 309px) 100vw, 309px\" \/><\/a><\/figure>\n<\/div>\n\n\n<p>Impl\u00e9mentez la m\u00e9thode <code>compute_closest_to_zero(ts)<\/code> dans un tableau de temp\u00e9ratures <code>ts<\/code> pour afficher la temp\u00e9rature la plus proche de z\u00e9ro.<\/p>\n\n\n\n<h4 class=\"wp-block-heading\">Contraintes<\/h4>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Si le tableau est vide, la m\u00e9thode doit afficher 0.<\/li>\n\n\n\n<li>0 &lt;= taille du tableau ts &lt;= 10000<\/li>\n\n\n\n<li><strong>Si deux valeurs sont aussi proches l\u2019une que l\u2019autre de z\u00e9ro, afficher la valeur positive. <\/strong>Par exemple, si l\u2019on entre les valeurs -5 et 5, la valeur \u00e0 afficher est 5.<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\">Question 2 : Gestion des exceptions dans Spring<\/h3>\n\n\n\n<p>Consid\u00e9rez l\u2019extrait de code ci-dessous. Comment fonctionne l\u2019exception <code>@ExceptionHandler<\/code> ?<\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-full\"><a href=\"https:\/\/coderpad.io\/wp-content\/uploads\/2023\/09\/image-6.png\"><img loading=\"lazy\" decoding=\"async\" width=\"284\" height=\"81\" src=\"https:\/\/coderpad.io\/wp-content\/uploads\/2023\/09\/image-6.png\" alt=\"\" class=\"wp-image-36551\" srcset=\"https:\/\/coderpad.io\/wp-content\/uploads\/2023\/09\/image-6.png 284w, https:\/\/coderpad.io\/wp-content\/uploads\/2023\/09\/image-6-18x5.png 18w\" sizes=\"auto, (max-width: 284px) 100vw, 284px\" \/><\/a><\/figure>\n<\/div>\n\n\n<h4 class=\"wp-block-heading\">Options :<\/h4>\n\n\n\n<ol class=\"wp-block-list\">\n<li>Si une exception de classe A est lev\u00e9e, <code>runCode()<\/code> est ex\u00e9cut\u00e9<\/li>\n\n\n\n<li>Si une exception est lev\u00e9e dans le contr\u00f4leur A, <code>runCode()<\/code> est ex\u00e9cut\u00e9<\/li>\n\n\n\n<li>Si <code>runCode()<\/code> l\u00e8ve une exception, elle est g\u00e9r\u00e9e par la classe A<\/li>\n\n\n\n<li><code>runCode()<\/code> est autoris\u00e9 \u00e0 lever des exceptions de classe A, mais toute autre compilation est vou\u00e9e \u00e0 l\u2019\u00e9chec s\u2019il tentait de lever d\u2019autres types d\u2019exceptions.<\/li>\n<\/ol>\n\n\n\n<h3 class=\"wp-block-heading\">Question 3 : syntaxe de base de Django<\/h3>\n\n\n\n<p>S\u00e9lectionnez toutes les commandes Django valides :<\/p>\n\n\n\n<h4 class=\"wp-block-heading\">Options :<\/h4>\n\n\n<pre class=\"wp-block-code\" aria-describedby=\"shcb-language-1\" data-shcb-language-name=\"CSS\" data-shcb-language-slug=\"css\"><span><code class=\"hljs language-css shcb-wrap-lines\"><span class=\"hljs-selector-tag\">python<\/span> <span class=\"hljs-selector-tag\">manage<\/span><span class=\"hljs-selector-class\">.py<\/span> <span class=\"hljs-selector-tag\">migration<\/span><\/code><\/span><small class=\"shcb-language\" id=\"shcb-language-1\"><span class=\"shcb-language__label\">Langage du code :<\/span> <span class=\"shcb-language__name\">CSS<\/span> <span class=\"shcb-language__paren\">(<\/span><span class=\"shcb-language__slug\">css<\/span><span class=\"shcb-language__paren\">)<\/span><\/small><\/pre>\n\n<pre class=\"wp-block-code\" aria-describedby=\"shcb-language-2\" data-shcb-language-name=\"CSS\" data-shcb-language-slug=\"css\"><span><code class=\"hljs language-css shcb-wrap-lines\"><span class=\"hljs-selector-tag\">python<\/span> <span class=\"hljs-selector-tag\">manage<\/span><span class=\"hljs-selector-class\">.py<\/span> <span class=\"hljs-selector-tag\">runserver<\/span>\n\n<span class=\"hljs-selector-tag\">python<\/span> <span class=\"hljs-selector-tag\">manage<\/span><span class=\"hljs-selector-class\">.py<\/span> <span class=\"hljs-selector-tag\">makemigrations<\/span> <span class=\"hljs-selector-tag\">app1<\/span><\/code><\/span><small class=\"shcb-language\" id=\"shcb-language-2\"><span class=\"shcb-language__label\">Langage du code :<\/span> <span class=\"shcb-language__name\">CSS<\/span> <span class=\"shcb-language__paren\">(<\/span><span class=\"shcb-language__slug\">css<\/span><span class=\"shcb-language__paren\">)<\/span><\/small><\/pre>\n\n<pre class=\"wp-block-code\" aria-describedby=\"shcb-language-3\" data-shcb-language-name=\"CSS\" data-shcb-language-slug=\"css\"><span><code class=\"hljs language-css shcb-wrap-lines\"><span class=\"hljs-selector-tag\">python<\/span> <span class=\"hljs-selector-tag\">manage<\/span><span class=\"hljs-selector-class\">.py<\/span> <span class=\"hljs-selector-tag\">database<\/span><\/code><\/span><small class=\"shcb-language\" id=\"shcb-language-3\"><span class=\"shcb-language__label\">Langage du code :<\/span> <span class=\"shcb-language__name\">CSS<\/span> <span class=\"shcb-language__paren\">(<\/span><span class=\"shcb-language__slug\">css<\/span><span class=\"shcb-language__paren\">)<\/span><\/small><\/pre>\n\n<pre class=\"wp-block-code\" aria-describedby=\"shcb-language-4\" data-shcb-language-name=\"CSS\" data-shcb-language-slug=\"css\"><span><code class=\"hljs language-css shcb-wrap-lines\"><span class=\"hljs-selector-tag\">python<\/span> <span class=\"hljs-selector-tag\">manage<\/span><span class=\"hljs-selector-class\">.py<\/span> <span class=\"hljs-selector-tag\">shell<\/span><\/code><\/span><small class=\"shcb-language\" id=\"shcb-language-4\"><span class=\"shcb-language__label\">Langage du code :<\/span> <span class=\"shcb-language__name\">CSS<\/span> <span class=\"shcb-language__paren\">(<\/span><span class=\"shcb-language__slug\">css<\/span><span class=\"shcb-language__paren\">)<\/span><\/small><\/pre>\n\n\n<h3 class=\"wp-block-heading\">Question 4 : analyse PHP<\/h3>\n\n\n\n<p>Impl\u00e9mentez la fonction <code>findLargest(array $numbers)<\/code> pour qu'elle retourne le plus grand nombre du tableau <code>$numbers<\/code> .<\/p>\n\n\n\n<p>A noter que le tableau doit toujours contenir <strong>au moins un nombre<\/strong>.<\/p>\n\n\n<pre class=\"wp-block-code\" aria-describedby=\"shcb-language-5\" data-shcb-language-name=\"PHP\" data-shcb-language-slug=\"php\"><span><code class=\"hljs language-php shcb-wrap-lines\"><span class=\"hljs-meta\">&lt;?php<\/span> <span class=\"hljs-comment\">\/*Starter code*\/<\/span><span class=\"hljs-meta\">?&gt;<\/span>\n<span class=\"hljs-meta\">&lt;?php<\/span>\n<span class=\"hljs-function\"><span class=\"hljs-keyword\">.<\/span> <span class=\"hljs-title\">findLargest<\/span><span class=\"hljs-params\">(array $numbers)<\/span> <\/span>{\n     <span class=\"hljs-comment\">\/\/Votre code va ici<\/span>\n}\n<span class=\"hljs-meta\">?&gt;<\/span><\/code><\/span><small class=\"shcb-language\" id=\"shcb-language-5\"><span class=\"shcb-language__label\">Langage du code :<\/span> <span class=\"shcb-language__name\">PHP<\/span> <span class=\"shcb-language__paren\">(<\/span><span class=\"shcb-language__slug\">php<\/span><span class=\"shcb-language__paren\">)<\/span><\/small><\/pre>\n\n\n<p>Code de test de la fonction findLargest : <\/p>\n\n\n<pre class=\"wp-block-code\" aria-describedby=\"shcb-language-6\" data-shcb-language-name=\"PHP\" data-shcb-language-slug=\"php\"><span><code class=\"hljs language-php shcb-wrap-lines\"><span class=\"hljs-keyword\">echo<\/span> findLargest(<span class=\"hljs-keyword\">array<\/span>(<span class=\"hljs-number\">7<\/span>, <span class=\"hljs-number\">17<\/span>, <span class=\"hljs-number\">13<\/span>, <span class=\"hljs-number\">19<\/span>, <span class=\"hljs-number\">5<\/span>)); <span class=\"hljs-comment\">\/\/19<\/span><\/code><\/span><small class=\"shcb-language\" id=\"shcb-language-6\"><span class=\"shcb-language__label\">Langage du code :<\/span> <span class=\"shcb-language__name\">PHP<\/span> <span class=\"shcb-language__paren\">(<\/span><span class=\"shcb-language__slug\">php<\/span><span class=\"shcb-language__paren\">)<\/span><\/small><\/pre>\n\n\n<p>\u2139\ufe0f  <a href=\"https:\/\/www.codingame.com\/work\/campaigns-demo\/267463\/candidates\/?selected=4208938\" target=\"_blank\" rel=\"noopener\">Pr\u00e9visualisez un exemple de rapport de test technique<\/a><\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Visionnez le Code Playback<\/h2>\n\n\n\n<p>Analysez en profondeur le processus de r\u00e9flexion et les comp\u00e9tences techniques de vos candidats.&nbsp;<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Observez leurs comp\u00e9tences en conception d\u2019algorithmes et \u00e9valuez leur m\u00e9thodologie et leurs r\u00e9flexes techniques.<\/li>\n\n\n\n<li>Prenez note des points sur lesquels vous aimeriez revenir plus en d\u00e9tail en entretien.&nbsp;<\/li>\n\n\n\n<li>Rep\u00e9rez tout comportement \u00e9quivoque ou inqui\u00e9tant.<\/li>\n<\/ul>\n\n\n\n<figure class=\"wp-block-video aligncenter\"><video autoplay=\"\" loop=\"\" muted=\"\" preload=\"none\" src=\"https:\/\/d2h1bfu6zrdxog.cloudfront.net\/wp-content\/uploads\/2023\/06\/codingame-code-playback.mp4\"><\/video><\/figure>\n\n\n\n<h2 class=\"wp-block-heading\">Comment tester les comp\u00e9tences Backend pour embaucher dans votre \u00e9quipe ?<\/h2>\n\n\n\n<p>S'appuyer uniquement sur les CV peut ne pas repr\u00e9senter fid\u00e8lement les comp\u00e9tences d'un d\u00e9veloppeur backend, et les comp\u00e9tences d\u00e9clar\u00e9es par les int\u00e9ress\u00e9s peuvent \u00eatre peu fiables.<\/p>\n\n\n\n<p>Voici cinq fa\u00e7ons d'\u00e9valuer les comp\u00e9tences en codage des d\u00e9veloppeurs backend :<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Examinez leur portfolio de programmeurs, qui pr\u00e9sente les projets de backend sur lesquels ils ont travaill\u00e9 et leur ma\u00eetrise du langage.<\/li>\n\n\n\n<li>Examinez leur compte GitHub pour \u00e9valuer la qualit\u00e9 de leur code backend, leur activit\u00e9 et leur implication dans des projets li\u00e9s au backend.<\/li>\n\n\n\n<li>Renseignez-vous sur leur utilisation de Stack Overflow pour \u00e9valuer leur niveau de connaissance et leur participation \u00e0 la communaut\u00e9 des d\u00e9veloppeurs de backend.<\/li>\n\n\n\n<li>Utilisez des tests de programmation con\u00e7us pour les d\u00e9veloppeurs backend, leur permettant de r\u00e9soudre des probl\u00e8mes backend pratiques et d'\u00e9valuer objectivement leurs comp\u00e9tences en mati\u00e8re de codage.<\/li>\n\n\n\n<li>Mener des entretiens de codage en direct sp\u00e9cifiques au backend, au cours desquels les candidats peuvent d\u00e9montrer leurs comp\u00e9tences en mati\u00e8re de codage, leur capacit\u00e9 \u00e0 r\u00e9soudre des probl\u00e8mes et leur connaissance des concepts du backend.<\/li>\n<\/ul>\n\n\n\n<blockquote class=\"wp-block-quote\">\n<p>\ud83d\udca1 Pour aller plus loin &gt; <a href=\"https:\/\/coderpad.io\/fr\/blog\/recruter-developpeurs\/tester-les-competences-des-developpeurs-avant-de-les-embaucher-2\/\">5 moyens de tester les comp\u00e9tences d\u2019un d\u00e9veloppeur avant de l\u2019embaucher<\/a><\/p>\n<\/blockquote>\n\n\n\n<h2 class=\"wp-block-heading\">Quelle approche adopter pour effectuer une premi\u00e8re s\u00e9lection parmi vos candidats ?<\/h2>\n\n\n\n<p>Certains recruteurs redoutent que l\u2019organisation de tests techniques durant les premiers stades du processus de recrutement puisse effrayer des candidats potentiels et les d\u00e9courager de postuler. Or, il suffit de proc\u00e9der avec tact : si vous pr\u00e9sentez clairement le processus de recrutement en prenant soin d\u2019expliquer l\u2019importance des tests techniques, les candidats en comprendront l\u2019utilit\u00e9 et se sentiront en confiance.<\/p>\n\n\n\n<p>Voici quelques conseils pour optimiser votre exp\u00e9rience candidat lors des tests techniques au d\u00e9but du processus de recrutement :<\/p>\n\n\n\n<ol class=\"wp-block-list\">\n<li><strong>Soigner l\u2019offre d\u2019emploi<\/strong>: Assurez-vous que votre offre d\u00e9crit chaque \u00e9tape du processus de recrutement et en pr\u00e9cise les objectifs. Vos candidats sauront ainsi \u00e0 quoi s\u2019attendre et pourront se pr\u00e9parer correctement \u00e0 l\u2019entretien. Il est \u00e9galement conseill\u00e9 d\u2019indiquer \u00e0 l\u2019avance la dur\u00e9e des entretiens techniques.<\/li>\n\n\n\n<li><strong>Valoriser l\u2019\u00e9galit\u00e9 des chances et la diversit\u00e9 : <\/strong>Insistez sur le fait que votre entreprise organise des tests techniques dans le but de favoriser l\u2019\u00e9galit\u00e9 des chances et la diversit\u00e9. Expliquez clairement que le principal objectif de ces tests est d\u2019\u00e9valuer avec objectivit\u00e9 les comp\u00e9tences des candidats, quel que soit leur profil et leur parcours.<\/li>\n\n\n\n<li><strong>Miser sur des tests courts : <\/strong>L'\u00e9valuation doit \u00eatre aussi br\u00e8ve que possible, en respectant le temps des candidats. Choisissez une dur\u00e9e appropri\u00e9e pour le test, en n'incluant que les comp\u00e9tences r\u00e9ellement essentielles pour le poste. Dans l'id\u00e9al, le test doit pouvoir \u00eatre r\u00e9alis\u00e9 en une heure ou moins. Si vous pouvez concevoir un test encore plus court qui r\u00e9ponde \u00e0 vos exigences, c'est encore mieux <\/li>\n\n\n\n<li><strong>Viser la pertinence : <\/strong>\u00c9liminez tout le superflu, en veillant \u00e0 ce que vos tests portent exclusivement sur les comp\u00e9tences directement n\u00e9cessaires pour le poste. Les d\u00e9veloppeurs appr\u00e9cieront cette approche pragmatique, ax\u00e9e sur les comp\u00e9tences concr\u00e8tes qui comptent au quotidien.   <\/li>\n\n\n\n<li><strong>Donner du feedback :<\/strong>&nbsp;\u00c0 l\u2019issue des tests, envoyez aux candidats un feedback sur leurs r\u00e9sultats. Avec un outil tel que CoderPad Screen, qui g\u00e9n\u00e8re et envoie automatiquement un rapport de r\u00e9sultats \u00e0 chaque candidat, vous pouvez offrir une meilleure exp\u00e9rience d\u2019entretien. Les candidats qui ont rat\u00e9 les tests comprendront ainsi, en toute transparence, pourquoi ils n\u2019ont pas \u00e9t\u00e9 retenus pour la suite du processus de recrutement.<\/li>\n<\/ol>","protected":false},"parent":0,"menu_order":0,"template":"","class_list":["post-36515","online-coding-tests","type-online-coding-tests","status-publish","hentry"],"acf":[],"_links":{"self":[{"href":"https:\/\/coderpad.io\/fr\/wp-json\/wp\/v2\/online-coding-tests\/36515","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/coderpad.io\/fr\/wp-json\/wp\/v2\/online-coding-tests"}],"about":[{"href":"https:\/\/coderpad.io\/fr\/wp-json\/wp\/v2\/types\/online-coding-tests"}],"wp:attachment":[{"href":"https:\/\/coderpad.io\/fr\/wp-json\/wp\/v2\/media?parent=36515"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}