2 lines
37 KiB
HTML
2 lines
37 KiB
HTML
<!doctype html><html lang="fr" itemscope itemtype="https://schema.org/Article"><head><meta charset="UTF-8"><meta name="viewport" content="width=device-width,initial-scale=1"><title>Questionnaire de recrutement pour développeur front-end ★ Front-end Developer Interview Questions</title><meta name="description" content="A list of helpful front-end related questions you can use to interview potential candidates, test yourself or completely ignore."><meta name="keywords" content="front-end, interview questions, css questions, js questions, html questions, performance questions, interview test"><meta name="author" content="Front-end Developer Interview Questions"><meta itemprop="author" content="Front-end Developer Interview Questions"><meta itemprop="name" content="Questionnaire de recrutement pour développeur front-end ★ Front-end Developer Interview Questions"><meta itemprop="description" content="A list of helpful front-end related questions you can use to interview potential candidates, test yourself or completely ignore."><meta itemprop="image" content="https://h5bp.org/Front-end-Developer-Interview-Questions//assets/images/og-image.png"><meta property="og:title" content="Questionnaire de recrutement pour développeur front-end ★ Front-end Developer Interview Questions"><meta property="og:description" content="A list of helpful front-end related questions you can use to interview potential candidates, test yourself or completely ignore."><meta property="og:url" content="https://h5bp.org/Front-end-Developer-Interview-Questions//translations/french/"><meta property="og:site_name" content="Front-end Developer Interview Questions"><meta property="og:image" content="https://h5bp.org/Front-end-Developer-Interview-Questions//assets/images/og-image.png"><meta property="og:type" content="website"><meta property="og:locale" content="en_US"><meta name="twitter:card" content="summary"><meta name="twitter:title" content="Questionnaire de recrutement pour développeur front-end ★ Front-end Developer Interview Questions"><meta name="twitter:description" content="A list of helpful front-end related questions you can use to interview potential candidates, test yourself or completely ignore."><meta name="twitter:site" content="@h5bp"><meta name="twitter:image" content="https://h5bp.org/Front-end-Developer-Interview-Questions//assets/images/og-image.png"><meta name="twitter:creator" content="@h5bp"><link type="image/png" rel="apple-touch-icon" href="https://h5bp.org/Front-end-Developer-Interview-Questions//assets/images/apple-touch-icon.png"><link type="image/png" sizes="32x32" rel="icon" href="https://h5bp.org/Front-end-Developer-Interview-Questions//assets/images/favicon-32x32.png"><link type="image/png" sizes="16x16" rel="icon" href="https://h5bp.org/Front-end-Developer-Interview-Questions//assets/images/favicon-32x32.png"><link type="image/png" color="#181818" rel="mask-icon" href="https://h5bp.org/Front-end-Developer-Interview-Questions//assets/images/favicon-96x96.png"><meta name="mobile-web-app-capable" content="yes"><meta name="robots" content="index,follow"><script>console.log(page.lang)</script><style>code[class*=language-],pre[class*=language-]{color:#c5c8c6;text-shadow:0 1px rgba(0,0,0,.3);font-family:Inconsolata,Monaco,Consolas,'Courier New',Courier,monospace;direction:ltr;text-align:left;white-space:pre;word-spacing:normal;word-break:normal;line-height:1.5;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-hyphens:none;-moz-hyphens:none;-ms-hyphens:none;hyphens:none}pre[class*=language-]{padding:1em;margin:.5em 0;overflow:auto;border-radius:.3em}:not(pre)>code[class*=language-],pre[class*=language-]{background:#370b44}:not(pre)>code[class*=language-]{padding:.1em;border-radius:.3em}.token.cdata,.token.comment,.token.doctype,.token.prolog{color:#7c7c7c}.token.punctuation{color:#c5c8c6}.namespace{opacity:.7}.token.keyword,.token.property,.token.tag{color:#96cbfe}.token.class-name{color:#ffffb6;text-decoration:underline}.token.boolean,.token.constant{color:#9c9}.token.deleted,.token.symbol{color:#f92672}.token.number{color:#ff73fd}.token.attr-name,.token.builtin,.token.char,.token.inserted,.token.selector,.token.string{color:#a8ff60}.token.variable{color:#c6c5fe}.token.operator{color:#ededed}.token.entity{color:#ffffb6}.token.url{color:#96cbfe}.language-css .token.string,.style .token.string{color:#87c38a}.token.atrule,.token.attr-value{color:#f9ee98}.token.function{color:#dad085}.token.regex{color:#e9c062}.token.important{color:#fd971f}.token.bold,.token.important{font-weight:700}.token.italic{font-style:italic}.token.entity{cursor:help}:root{--font-family-heading:sans-serif;--font-family-body:Georgia,serif;--font-family-code:Menlo,Monaco,'Courier New',monospace;--color-primary:#835EFF;--color-secondary:#FF008D;--color-safe:#8338EC;--color-gradient:linear-gradient(to right, var(--color-primary), var(--color-secondary));--color-highlight:var(--color-primary);--color-gray-opacity:rgba(39,39,39,0.04);--color-heading:#23231A;--color-text:#23231A;--background-default:#F9F9F9;--border-radius-default:5px;--box-shadow-default:0 2rem 4rem rgba(0,0,0,.15);--transition-duration:0.27s}body.rtl{--font-family-body:Arial,Helvetica,sans-serif}*{margin:0;padding:0;box-sizing:border-box;outline-color:var(--color-primary)}::selection{background:var(--color-primary);color:var(--background-default)}::-moz-selection{background:var(--color-primary);color:var(--background-default)}.nav{padding:1rem 0;position:relative;font-family:var(--font-family-heading)}.nav li{word-wrap:none;white-space:nowrap}.navigation{list-style:none;display:flex;flex-wrap:wrap;font-size:1rem}.navigation-questions-label{margin-right:auto}@media (min-width:60em){.navigation-questions-label{margin-right:0}}.navigation-toggle{display:inline-block;appearance:none;border:0;font-size:1rem;font-weight:600;cursor:pointer;background:0 0}.navigation-toggle::after{content:'\25BE';padding-left:.3rem;display:inline-block;font-size:1.2rem;font-weight:700;color:var(--color-primary);transform-origin:center}.navigation-toggle:active::after,.navigation-toggle:focus::after,.navigation-toggle:hover::after{color:var(--color-secondary)}.navigation.open .navigation-toggle::after{transform:scaleY(-1) translateY(-.25em)}@media (min-width:60em){.navigation-toggle{color:var(--color-text);pointer-events:none;cursor:default}.navigation-toggle::after{display:none}}.navigation-questions-list{padding:.5rem 1rem;display:flex;flex-direction:column;position:absolute;top:calc(100% - 1rem);left:0;z-index:1;opacity:0;transform:scale(.5,0);transform-origin:center top;transition:opacity .1s,transform .2s ease-out;background-color:#fff;box-shadow:0 0 0 1px var(--color-secondary),0 2px 4px -1px var(--color-text)}.navigation.open .navigation-questions-list{opacity:1;transform:none}.navigation.no-motion .navigation-questions-list{transition:none}@media (min-width:60em){.navigation-questions-list{padding:0;flex-direction:row;position:static;opacity:1;transform:none;transition:none;background-color:transparent;box-shadow:none}.navigation-questions-list li{margin:0}}.navigation-questions-anchor{visibility:hidden}.navigation.open .navigation-questions-anchor{visibility:visible}@media (min-width:60em){.navigation-questions-anchor{visibility:visible}}.navigation-item-emoji{width:100%;font-size:1rem;line-height:1rem;padding-bottom:1.5rem;margin-bottom:1.5rem;vertical-align:top;align-content:flex-start;border-bottom:1px solid #efefef}.navigation-item-home{border-bottom:none;padding-bottom:0;font-weight:600}@media (min-width:60em){.navigation-item-emoji{width:50%;margin-bottom:2rem;border-bottom:1px solid #efefef}}.navigation-item-emoji em{font-style:normal;margin-right:.5rem}.navigation-item-translations{text-align:left}@media (min-width:60em){.navigation-item-translations{text-align:right}}.navigation-item-home em{color:#835eff}.navigation-item-emoji a{text-decoration:none;display:inline-block;vertical-align:middle}@media (min-width:60em){.navigation-item:not(:last-of-type){margin-right:.8rem}}.navigation-anchor[rel~=external]::after{content:' ➚';color:var(--color-highlight)}.navigation-anchor.current{border-bottom:2px solid var(--color-highlight);padding:0 0 5px 0}.topbar{width:100%;height:.18rem;background:var(--color-gradient)}.skip-link{position:absolute;top:0;left:0;padding:.5rem 1rem;background-color:var(--color-primary);color:#fff;text-decoration:none;transform:translateY(-100%)}.skip-link:focus{transform:none}.header{margin-bottom:2rem}.header-big-title{font-size:2.3rem;line-height:1.06;margin:1.4rem 0 .7rem;color:var(--color-primary);word-break:break-word}.rtl .header-big-title{text-align:right}@media (min-width:30em){.header-big-title{margin:1.4rem 0 .7rem;font-size:4.6rem}}@media (min-width:60em){.header-big-title{margin:2.1rem 0 .7rem;font-size:5.4rem}}@supports (mix-blend-mode:lighten){.header-big-title{display:inline-block;position:relative;color:#000;background:#fff;mix-blend-mode:multiply}.header-big-title::before{content:'';display:block;position:absolute;top:0;right:0;bottom:0;left:0;background-image:url('https://h5bp.github.io/Front-end-Developer-Interview-Questions/assets/images/gradient.svg');background-size:cover;pointer-events:none}.header-big-title::before{mix-blend-mode:screen}}.header-heading{font-size:2.3rem;text-transform:uppercase}.header-big-description{font-size:1.2rem;line-height:1.4;padding:1rem 0}@media (min-width:30em){.header-big-description{font-size:1.5rem}}@media (min-width:60em){.header-big-description{font-size:1.8rem}}.header-description{padding-top:1rem}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:var(--font-family-body);font-weight:400;font-size:1.2rem;line-height:2;color:var(--color-text)}section+section{padding-top:2rem}h1,h2,h3,h4,h5,h6{font-family:var(--font-family-heading);color:var(--color-heading);font-style:normal;line-height:1.2;font-weight:600}section+section{padding-top:2rem}a{color:inherit;text-decoration:none;color:var(--color-secondary);transition:color ease-out var(--transition-duration)}a.current,a:focus:not(.skip-link),a:hover:not(.skip-link){color:var(--color-primary)}a:not(.navigation-anchor)[rel~=external]:after{content:' ➚'}ul:not(.navigation):not(.inline-list){list-style:none}ul:not(.navigation):not(.inline-list) li::before{content:"\25A0";color:var(--color-primary);font-weight:700;display:inline-block;width:1em;margin-left:-1em}.rtl ul:not(.navigation):not(.inline-list) li::before{margin-right:-1em;margin-left:initial}li{margin-bottom:.6rem}b,strong{font-weight:600}time{display:inline-block;color:var(--color-gray-70)}[tabindex='-1']{outline:0}img,svg{vertical-align:middle}img{display:block;max-width:100%;border-radius:var(--border-radius-default)}code{font-family:var(--font-family-code);color:var(--color-code);font-style:normal;font-size:1rem}blockquote:not([class]){padding-left:1rem;margin-left:-1rem;border-left:2px solid var(--color-primary);color:var(--color-gray-70);font-style:italic}code[class*=language-],pre[class*=language-]{font-size:.9rem;font-style:normal}p+pre[class*=language-]{margin-bottom:1.8rem}mark{color:var(--color-highlight);background-color:transparent}dt{font-weight:700}dd+dt{padding-top:.5rem}abbr[title],acronym[title]{background:var(--color-gray-opacity);border:1px solid var(--color-gray-opacity);cursor:help}.container{max-width:66rem;padding:1.5rem 2rem 2rem;margin-right:auto;margin-left:auto}@media (min-width:30rem){.container{padding:3rem 4rem 4rem}}.content li:not(:last-of-type){margin-bottom:1.2rem}.content h2{max-width:33rem}.content>:not(:last-child){margin-bottom:2rem}.content :not(hr)+h2,.content :not(hr)+h3{padding-top:1rem}.content ol:not(.inline-list),.content ul:not(.inline-list){padding-left:1.2rem}.content-simple li:not(:last-of-type){margin-bottom:.5rem}.content-edit{text-align:right;margin-top:2rem}.inline-list{padding:0;list-style:none;display:flex;flex-wrap:wrap}.inline-list li{padding:0 5px;display:inline-block;vertical-align:middle;text-align:center}.inline-list li::before{content:'';margin-left:0}.inline-list li img{display:block;margin:auto;margin-bottom:.6rem}.inline-list li a{display:inline-block;vertical-align:middle;margin:0 .15rem}.inline-list-contributors li a,.inline-list-original li a{font-size:1rem}.avatar{max-width:12rem}hr{border:none;bacground:none;border-bottom:1px solid #efefef}.footer{padding-top:3rem}.footer-text{font-size:.8rem}</style></head><body class=""><div class="topbar"></div><div class="container"><a class="skip-link" href="#main-content">Skip to main content</a><nav class="nav"><ul class="navigation" id="navigation"><li class="navigation-item-emoji navigation-item-home"><a class="navigation-anchor" href="/Front-end-Developer-Interview-Questions/" title="Home"><em>★</em><span>Front-end Developer Interview Questions</span></a></li><li class="navigation-item-emoji navigation-item-translations"><a class="navigation-anchor" href="/Front-end-Developer-Interview-Questions/translations" title="Translations"><em>🌐</em><span>Translations</span></a></li><li class="navigation-item navigation-questions-label"><button class="navigation-toggle" id="navigation-toggle">Questions:</button></li><li class="navigation-item navigation-questions"><ul class="navigation navigation-questions-list"><li class="navigation-item"><a class="navigation-anchor navigation-questions-anchor" href="/Front-end-Developer-Interview-Questions/questions/general-questions/" title="General Questions">General</a></li><li class="navigation-item"><a class="navigation-anchor navigation-questions-anchor" href="/Front-end-Developer-Interview-Questions/questions/html-questions/" title="HTML Questions">HTML</a></li><li class="navigation-item"><a class="navigation-anchor navigation-questions-anchor" href="/Front-end-Developer-Interview-Questions/questions/css-questions/" title="CSS Questions">CSS</a></li><li class="navigation-item"><a class="navigation-anchor navigation-questions-anchor" href="/Front-end-Developer-Interview-Questions/questions/javascript-questions/" title="JavaScript Questions">JavaScript</a></li><li class="navigation-item"><a rel="external noreferrer noopener" target="_blank" class="navigation-anchor navigation-questions-anchor" href="https://scottaohara.github.io/accessibility_interview_questions/" title="Accessibility Questions (external link)">A11y</a></li><li class="navigation-item"><a class="navigation-anchor navigation-questions-anchor" href="/Front-end-Developer-Interview-Questions/questions/testing-questions/" title="Testing Questions">Testing</a></li><li class="navigation-item"><a class="navigation-anchor navigation-questions-anchor" href="/Front-end-Developer-Interview-Questions/questions/performance-questions/" title="Performance Questions">Performance</a></li><li class="navigation-item"><a class="navigation-anchor navigation-questions-anchor" href="/Front-end-Developer-Interview-Questions/questions/network-questions/" title="Network Questions">Network</a></li><li class="navigation-item"><a class="navigation-anchor navigation-questions-anchor" href="/Front-end-Developer-Interview-Questions/questions/coding-questions/" title="Coding Questions">Coding</a></li><li class="navigation-item"><a class="navigation-anchor navigation-questions-anchor" href="/Front-end-Developer-Interview-Questions/questions/fun-questions/" title="Fun Questions">Fun</a></li></ul></li></ul></nav><main id="main-content" tabindex="-1"><header class="header"><h1 class="header-big-title">Questionnaire de recrutement pour développeur front-end</h1></header><div class="content"><h1>Questionnaire de recrutement pour développeur front-end</h1><p>Cette liste contient un certain nombre de questions que vous pouvez poser lors d’un entretien d’embauche pour un développeur Front-End. Il n’est en aucun cas recommandé de poser toutes ces questions à un candidat (ça prendrait des heures). Choisissez en quelques-unes liées au profil que vous rechercher afin de vérifier les compétences dont vous avez besoin.</p><p><strong>Note:</strong> Gardez en tête que la plupart de ces questions sont ouvertes et qu’elles peuvent mener à des discussions intéressantes, qui vous en apprendront plus sur les capacités de la personne.</p><h2 id="table-des-mati%C3%A8res" tabindex="-1"><a class="header-anchor" href="#table-des-mati%C3%A8res"></a> <a name="toc">Table des matières</a></h2><ol><li><a href="#general-questions">Questions générales</a></li><li><a href="#html-questions">Questions sur HTML</a></li><li><a href="#css-questions">Questions sur CSS</a></li><li><a href="#js-questions">Questions sur JS</a></li><li><a href="#code-questions">Questions sur la programmation</a></li><li><a href="#testing-questions">Questions sur les tests</a></li><li><a href="#performance-questions">Questions sur la performance</a></li><li><a href="#network-questions">Questions sur réseau</a></li><li><a href="#fun-questions">Questions pour le fun</a></li></ol><h4>S’impliquer :</h4><ol><li><a href="#contributors">Contributeurs</a></li><li><a href="https://github.com/h5bp/Front-end-Developer-Interview-Questions/blob/master/CONTRIBUTING.md">Comment contribuer (en)</a></li><li><a href="https://github.com/h5bp/Front-end-Developer-Interview-Questions/blob/master/LICENSE.md">Licence</a></li></ol><p><strong><a href="#toc">[⬆]</a></strong></p><h4><a name="general-questions">Questions générales:</a></h4><ul><li>Qu’avez-vous appris cette semaine ?</li><li>Qu’est ce qui vous motive ou vous intéresse dans le développement ?</li><li>Quel a été le dernier défi technique que vous avez expérimenté et comment l’avez-vous résolu ?</li><li>Lors de la création ou la maintenance d’un site web, pouvez-vous expliquer certaines techniques que vous avez utilisées pour augmenter les performances ?</li><li>Pouvez-vous décrire quelques bonnes pratiques ou techniques de référencement que vous avez utilisées récemment ?</li><li>Pouvez-vous expliquer des techniques courantes ou des problèmes récents résolus en ce qui concerne la sécurité côté Front-end ?</li><li>Quelles sont les actions que vous avez personellement prises sur des projets récents pour augmenter la maintenabilité de votre code?</li><li>Parlez-moi de votre environnement de travail préféré.</li><li>Avec quels logiciels de gestion de versions êtes-vous familier?</li><li>Pouvez-vous décrire comment vous travaillez (votre workflow) lorsque vous créez une page web ?</li><li>Si vous aviez 5 feuilles de style différentes, de quelle façon les intégreriez-vous le mieux dans un site ?</li><li>Pouvez-vous décrire la différence entre amélioration progressive et dégradation gracieuse ?</li><li>Comment optimisez-vous les performances de vos pages web (assets/ressources) ?</li><li>Combien de ressources différentes à la fois un navigateur peut-il télécharger à partir d’un même domaine ?<ul><li>Quelles sont les exceptions ?</li></ul></li><li>Donnez 3 façons qui permettent de réduire le temps de chargement d’une page (perçu ou réel).</li><li>Si vous commencez à travailler sur un projet existant, où votre prédécesseur a utilisé des tabulations pour indenter son code et que vous utilisez des espaces, que faites-vous ?</li><li>Décrivez comment vous développeriez un simple diaporama</li><li>Si vous pouviez maîtriser parfaitement une technologie cette année, laquelle serait-elle ?</li><li>Expliquez l’importance des standards et des organisations les édictant.</li><li>Qu’est-ce que le FOUC (<em>flash of unstyled content</em>) et comment l’évitez-vous ?</li><li>Expliquez ce que sont ARIA et les lecteurs d’écrans, et comment rendre votre site internet accessible</li><li>Expliquez quelques-uns des pour et contre des animations CSS par rapport aux animations JavaScript</li><li>Que signifie CORS et quel problème aborde-t-il ?</li><li>Comment avez-vous géré un désaccord avec votre patron ou votre collaborateur ?</li><li>Quelles ressources utilisez-vous pour en savoir plus sur les dernières nouveautés en matière de développement et de conception front-end ?</li><li>Quelles sont les compétences nécessaires pour être un bon développeur front-end ?</li><li>Dans quel rôle vous voyez-vous ?</li><li>Expliquez la différence entre les cookies, sessions storage et local storage ?</li><li>Pouvez-vous expliquer ce qu’il se passe lorsque vous saisissez une URL dans le navigateur ?</li><li>Décrivez la différence entre SSR (<em>server side rendering</em>) et CSR (<em>certificate signing request</em>). Discutez des avantages et des inconvénients.<ul><li>Connaissez-vous le rendu statique ?</li><li>Réhydratation ?</li></ul></li></ul><p><strong><a href="#toc">[⬆]</a></strong></p><h4><a name="html-questions">Questions sur HTML :</a></h4><ul><li>Que fait un <code>doctype</code> ?</li><li>Comment servez-vous une page avec du contenu multilingue ?</li><li>À quoi devez-vous faire attention quand vous <em>designez</em> ou développez des pages pour des sites multilingues ?</li><li>À quoi les attributs <code>data-</code> servent-ils ?</li><li>Si l’on considère que HTML5 est une API Web ouverte, quelles sont les briques de base de HTML5 ?</li><li>Décrivez la différence entre <code>cookie</code>, <code>sessionStorage</code>, et <code>localStorage</code>.</li><li>Décrivez la différence entre <code><script></code>, <code><script async></code> et <code><script defer></code>.</li><li>Pourquoi est-ce généralement une bonne idée de positionner les <code><link></code> à l’intérieur de <code><head></head></code> et les <code><script></code> juste avant <code></body></code>? Connaissez-vous des exceptions ?</li><li>Qu’est-ce que le rendu progressif ?</li><li>Pourquoi utiliseriez-vous l’attribut <code>srcset</code> dans une balise image ? Expliquez le processus utilisé par le navigateur lors de l’évaluation du contenu de cet attribut.</li><li>Avez-vous déjà utilisé différents langages de création de modèles (<em>templating languages</em>) HTML ?</li><li>Quelles est la différence entre <code>canvas</code> et <code>svg</code> ?</li><li>Que sont les éléments vides en HTML ?</li></ul><p><strong><a href="#toc">[⬆]</a></strong></p><h4><a name="css-questions">Questions sur CSS :</a></h4><ul><li>Quelle est la spécificité du sélecteur CSS et comment ça marche ?</li><li>Quelle est la différence entre un “reset” et une “normalisation” en CSS ? Lequel choisiriez-vous et pourquoi ?</li><li>Décrivez le positionnement flottant et son fonctionnement.</li><li>Décrivez le <code>z-index</code> et comment le contexte d’empilement se forme ?</li><li>Décrivez BFC (<em>Block Formatting Context</em>) et son fonctionnement.</li><li>Quelles sont les différentes méthodes de “clearing” des éléments flottants, et laquelle est appropriée pour chaque contexte ?</li><li>Quelle approche choisiriez-vous pour réparer des bugs au niveau du CSS spécifique à certains navigateurs ?</li><li>Comment servez-vous vos pages pour les navigateurs aux fonctionnalités réduites ?<ul><li>Quelles techniques/procédés utilisez-vous ?</li></ul></li><li>Quelles sont les différentes manières de masquer du contenu (en le laissant disponible pour les lecteurs d’écran) ?</li><li>Avez-vous déjà utilisé un système de grille, et si oui, lequel préférez-vous ?</li><li>Avez-vous déjà implémenté des “media queries”, ou des mises en page/CSS spécifiques aux mobiles ?</li><li>Avez-vous déjà touché au style d’un SVG ?</li><li>Pouvez-vous donner un exemple de propriété <code>@media</code> autre que screen ?</li><li>Quelques astuces pour écrire du CSS efficacement ?</li><li>Quels sont les avantages/désavantages de l’utilisation des préprocesseurs CSS ? (SASS, Compass, Stylus, LESS)<ul><li>Si vous avez un avis, décrivez ce que vous aimez et n’aimez pas des préprocesseurs que vous avez utilisé.</li></ul></li><li>Comment implémenteriez-vous un design qui utilise des polices de caractères non standards ?</li><li>Expliquez comment un navigateur détermine quels éléments correspondent à un sélecteur CSS.</li><li>Décrivez les <code>pseudo-éléments</code> et discutez de leur utilité.</li><li>Expliquez ce que vous avez compris du modèle de boite (box model) et comment implémenteriez vous une mise en page avec des modèles de boite différents.</li><li>Qu’est-ce que <code>* { box-sizing: border-box; }</code> fait ? Quels sont ses désavantages ?</li><li>Qu’est-ce que la propriété CSS <code>display</code> et pouvez-vous donner quelques exemples de son utilisation ?</li><li>Quelle est la différence entre <code>inline</code> et <code>inline-block</code> ?</li><li>Quelle est la différence entre les sélecteurs <code>nth-of-type()</code> et <code>nth-child()</code> ?</li><li>Quelle est la différence entre les éléments ayant <code>relative</code>, <code>fixed</code>, <code>absolute</code> et <code>static</code> comme <code>position</code> ?</li><li>Quels frameworks CSS avez-vous utilisé localement, ou en production ? Comment feriez-vous pour les changer/améliorer ?</li><li>Avez-vous utilisé CSS Grid ?</li><li>Pouvez-vous expliquer la différence entre coder un site Web pour qu’il soit <em>responsive</em> versus utiliser une stratégie <em>mobile-first</em> ?</li><li>Avez-vous déjà travaillé avec des images “retina” ? Si oui, à quel moment et quelles techniques avez-vous utilisées ?</li><li>Y a-t-il des raisons particulières pour lesquelles vous voudriez utilser <code>translate()</code> plutôt que <code>position: absolute</code> ou vice-versa ? Et pourquoi ?</li><li>En quoi la propriété CSS <code>clearfix</code> est-elle utile ?</li><li>Pouvez-vous expliquer la différence entre <code>px</code>, <code>em</code> et <code>rem</code> en ce qui concerne la taille des polices ?</li><li>Pouvez-vous donner un exemple de pseudo-classe ? Pouvez-vous fournir un exemple de cas d’utilisation pour une pseudo-classe ?</li><li>Quelle est la différence entre un élément de niveau bloc et un élément en ligne. Pouvez-vous fournir des exemples de chaque type d’élément ?</li><li>Quelle est la différence entre CSS Grid et Flexbox ? Quand utiliseriez-vous l’un plutôt que l’autre ?</li><li>Quelle est la différence entre les mises en page <em>fixed</em>, <em>fluid</em> and <em>responsive</em> ?</li></ul><p><strong><a href="#toc">[⬆]</a></strong></p><h4><a name="js-questions">Questions sur JS :</a></h4><ul><li>Expliquez la délégation d’évènement.</li><li>Expliquez comment fonctionne <code>this</code> en Javascript.</li><li>Pouvez-vous donner un exemple de l’une des façons dont l’utilisation de <code>this</code> a changé dans ES6 ?</li><li>Expliquez comment fonctionne l’héritage de prototype.</li><li>Quelle est la différence entre une variable <code>null</code>, <code>undefined</code> et non déclarée ?<ul><li>Comment feriez-vous pour vérifier chacun de ces états ?</li></ul></li><li>Qu’est-ce qu’une “closure” et comment/pourquoi en utiliser une ?</li><li>Quelles constructions de langage utilisez-vous pour parcourir les propriétés des objets et les éléments du tableau ?</li><li>Pouvez-vous décrire la principale difference entre la boucle <code>forEach</code> et la boucle <code>.map()</code> et pourquoi choisiriez-vous l’une et pas l’autre ?</li><li>Quelle est l’utilisation typique d’une fonction anonyme ?</li><li>Quelle est la différence entre des objets hôtes et des objets natifs ?</li><li>Différence entre: <code>function Person() {}</code>, <code>var person = Person()</code> et <code>var person = new Person()</code> ?</li><li>Expliquez les différences dans l’usage de <code>foo</code> entre <code>foo() {}</code> et <code>var foo = function() {}</code></li><li>Pouvez-vous expliquer ce que font <code>Function.call</code> et <code>Function.apply</code> ? Quelle est la différence notable entre les deux ?</li><li>Expliquez <code>Function.prototype.bind</code>.</li><li>Quelle est la différence entre détection de “feature”, inférence de “feature” et l’utilisation du “User-Agent” ?</li><li>Expliquez le phénomène de “hoisting”.</li><li>Qu’est-ce que la coercition de type ? Quels sont les pièges courants liés au recours à la coercition de type dans le code JavaScript ?</li><li>Décrivez le “event bubbling”.</li><li>Décrivez le “event capturing”.</li><li>Quelle est la différence entre un “attribut” et une “propriété” ?</li><li>Quels sont les avantages et les inconvénients de l’extension des objets JavaScript intégrés ?</li><li>Quelle est la différence entre <code>==</code> et <code>===</code> ?</li><li>Expliquez la politique d’origine commune (same-origin policy) et ses implications en JavaScript.</li><li>Qu’est ce que l’opérateur ternaire ? Qu’est-ce que ce mot indique ?</li><li>Qu’est-ce que <code>"use strict";</code>? Quels sont les avantages et désavantages de son utilisation ?</li><li>Quels sont les avantages/inconvénients de l’écriture de code JavaScript dans un language qui compile en JavaScript ?</li><li>Quels outils et techniques utilisez-vous pour le “debugging” du code javascript ?</li><li>Expliquez la difference entre les objets muables et les objets immuables.<ul><li>Donnez un exemple d’objet immuable en javascript.</li><li>Quels sont les avantages et inconvénients de l’immuabilité ?</li><li>Comment pouvez-vous réaliser l’immuabilité dans votre code ?</li></ul></li><li>Expliquez la différence entre les fonctions synchrones et asynchrones.</li><li>Qu’est ce qu’une boucle d’événement ?<ul><li>Quelle est la différence entre la pile d’appels et la file d’attente de tâches?</li></ul></li><li>Quelles sont les différences entre les variables crées en utilisant <code>let</code>, <code>var</code> ou <code>const</code> ?</li><li>Quelles sont les différences entre les constructeurs de classe ES6 et de fonctions ES5 ?</li><li>Pouvez-vous proposer un cas d’utilisation pour la nouvelle syntaxe de fonction arrow <code>=></code> ? En quoi cette nouvelle syntaxe diffère-t-elle des autres fonctions ?</li><li>Quel avantage y a-t-il à utiliser la syntaxe des flèches pour une méthode dans un constructeur ?</li><li>Quelle est la définition d’une fonction d’ordre supérieur ?</li><li>Pouvez-vous donner un exemple de déstructuration d’un objet ou d’un tableau ?</li><li>Pouvez-vous donner un exemple de génération d’une chaîne avec des littéraux de modèle ES6 (<em>ES6 Template Literals</em>) ?</li><li>Pouvez-vous donner un exemple de fonction “curry” et pourquoi cette syntaxe offre un avantage ?</li><li>Quels sont les avantages de l’utilisation de la syntaxe spread et en quoi est-elle différente de la syntaxe rest ?</li><li>Comment partager du code entre des fichiers ?</li><li>Pourquoi voudriez-vous créer des membres de classe statiques ?</li><li>Quelle est la différence entre les boucles <code>while</code> et <code>do-while</code> en JavaScript ?</li><li>Qu’est-ce qu’une “Promise” ? Où et comment utiliseriez-vous la “Promise” ?</li><li>Discutez de la manière dont vous pouvez utiliser les principes de la programmation orientée objet lors du codage avec JavaScript.</li></ul><p><strong><a href="#toc">[⬆]</a></strong></p><h4><a name="code-questions">Questions sur la programmation :</a></h4><p><em>Comment feriez-vous marcher ceci ?</em></p><pre class="language-javascript"><code class="language-javascript"><span class="token function">duplicate</span><span class="token punctuation">(</span><span class="token punctuation">[</span><span class="token number">1</span><span class="token punctuation">,</span><span class="token number">2</span><span class="token punctuation">,</span><span class="token number">3</span><span class="token punctuation">,</span><span class="token number">4</span><span class="token punctuation">,</span><span class="token number">5</span><span class="token punctuation">]</span><span class="token punctuation">)</span><span class="token punctuation">;</span> <span class="token comment">// [1,2,3,4,5,1,2,3,4,5]</span></code></pre><p><em>Créez une boucle <code>for</code> qui se répète <code>100</code> fois et affichez: <strong>“fizz”</strong> aux multiples de <code>3</code>, <code>"buzz"</code> aux multiples de <code>5</code> et <strong>“fizzbuzz”</strong> aux multiples de <code>3</code> et <code>5</code>.</em></p><p><em>Quelle est la valeur retournée de chaque console.log ?</em></p><pre class="language-javascript"><code class="language-javascript">console<span class="token punctuation">.</span><span class="token function">log</span><span class="token punctuation">(</span><span class="token string">"hello"</span> <span class="token operator">||</span> <span class="token string">"world"</span><span class="token punctuation">)</span>
|
||
console<span class="token punctuation">.</span><span class="token function">log</span><span class="token punctuation">(</span><span class="token string">"foo"</span> <span class="token operator">&&</span> <span class="token string">"bar"</span><span class="token punctuation">)</span></code></pre><p><em>Write an immediately invoked function expression (IIFE)</em></p><p><strong><a href="#toc">[⬆]</a></strong></p><h4><a name="testing-questions">Questions sur les Tests</a></h4><ul><li>Quels sont les avantages/inconvénients de tester votre code ?</li><li>Quels outils utiliseriez-vous pour tester les fonctionnalités de votre code.</li><li>Quel est la difference entre un test unitaire et un test fonctionnel/d’intégration ?</li><li>Quel est le but d’un outil de lissage de style de code ?</li><li>Quelles sont les bonnes pratiques en matière de tests ?</li></ul><p><strong><a href="#toc">[⬆]</a></strong></p><h4><a name="performance-questions">Questions sur la performance</a></h4><ul><li>Quels outils utiliseriez-vous pour trouver une erreur de performance dans votre code ?</li><li>Comment pouvez-vous améliorer les performances de défilement de votre site Web ?</li><li>Expliquez la différence entre la mise en page, la peinture et la composition.</li></ul><p><strong><a href="#toc">[⬆]</a></strong></p><h4><a name="network-questions">Questions sur le réseau</a></h4><ul><li>Pourquoi est-il préférable de disposer ses assets sur des domaines différents ?</li><li>Faites de votre mieux pour décrire le processus à partir du moment où vous tapez l’URL d’un site internet jusqu’au moment où la page a finit de charger.</li><li>Quelle est la différence entre “Long-Polling”, “Websockets” et les événements “Server-Sent” ?</li><li>Expliquez les entêtes de requêtes et réponses suivant :<ul><li>Différences entre <code>Expires</code>, <code>Date</code>, <code>Age</code> et <code>If-Modified-</code>…</li><li>Do Not Track</li><li><code>Cache-Control</code></li><li><code>Transfer-Encoding</code></li><li><code>ETag</code></li><li><code>X-Frame-Options</code></li></ul></li><li>Quelles sont les différentes actions (verbes) HTTP ? Listez toutes celles que vous connaissez et expliquez-les.</li><li>Expliquez ce qu’est le pre-fetching de domaine et en quoi cela aide en matière de performance ?</li><li>Qu’est-ce que le CDN et quel est l’avantage d’en utiliser un ?</li></ul><p><strong><a href="#toc">[⬆]</a></strong></p><h4><a name="fun-questions">Questions pour le fun :</a></h4><ul><li>Quel est le truc le plus cool que vous ayez programmé, de quoi êtes-vous le plus fier ?</li><li>Quelles sont les parties favorites des outils de développement que vous utilisez ?</li><li>Qui vous inspire dans la communauté front-end ?</li><li>Avez-vous des projets chouchous ? Quel genre ?</li></ul><p><strong><a href="#toc">[⬆]</a></strong></p><h4><a name="contributors">Contributeurs :</a></h4><p>Ce document a démarré avec la collaboration de <a href="https://twitter.com/paul_irish">@paul_irish</a> <a href="https://twitter.com/bentruyman">@bentruyman</a> <a href="https://twitter.com/cowboy">@cowboy</a> <a href="https://twitter.com/ajpiano">@ajpiano</a> <a href="https://twitter.com/slexaxton">@SlexAxton</a> <a href="https://twitter.com/boazsender">@boazsender</a> <a href="https://twitter.com/miketaylr">@miketaylr</a> <a href="https://twitter.com/vladikoff">@vladikoff</a> <a href="https://twitter.com/gf3">@gf3</a> <a href="https://twitter.com/jon_neal">@jon_neal</a> <a href="https://twitter.com/sambreed">@sambreed</a> et <a href="https://twitter.com/iansym">@iansym</a>.</p><p>Il a depuis reçu des contributions de plus de <a href="https://github.com/h5bp/Front-end-Developer-Interview-Questions/graphs/contributors">100 développeurs</a>.</p></div><div class="content-edit"><a rel="external noreferrer noopener" target="_blank" href="https://github.com/h5bp/Front-end-Developer-Interview-Questions/tree/master/src/translations/french.md">Edit this page</a></div></main><footer class="footer"><p class="footer-text">Copyright © 2012 - 2024. Contributors to <a href="https://github.com/h5bp/Front-end-Developer-Interview-Questions/blob/main/CONTRIBUTORS.md">Front-end-Developer-Interview-Questions.</a><br>Curious about the project? <a href="/Front-end-Developer-Interview-Questions/about/">Read more about here</a>.</p></footer></div><script>console.log("%cA black belt is a white belt that didn't quit.","color: #fff; font-size: 20px; text-shadow: 1px 1px 1px #000; font-family: serif;");var navToggle=document.getElementById("navigation-toggle"),nav=document.getElementById("navigation");navToggle.addEventListener("click",function(){nav.classList.toggle("open")}),window.addEventListener("resize",function(){document.width>960?nav.classList.remove("active"):(nav.classList.add("no-motion"),setTimeout(function(){nav.classList.remove("no-motion")},250))});</script></body></html> |