Front-end-Developer-Intervi.../translations/czech/index.html

4 lines
35 KiB
HTML
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<!doctype html><html lang="cs" itemscope itemtype="https://schema.org/Article"><head><meta charset="UTF-8"><meta name="viewport" content="width=device-width,initial-scale=1"><title>Front-end vývojář otázky k pohovoru ★ 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="Front-end vývojář otázky k pohovoru ★ 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="Front-end vývojář otázky k pohovoru ★ 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/czech/"><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="Front-end vývojář otázky k pohovoru ★ 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">Front-end vývojář otázky k pohovoru</h1></header><div class="content"><h1>Front-end vývojář otázky k pohovoru</h1><p>Tento repozitář obsahuje řadu otázek, které můžete směle položit u pohovoru kandidátovi na pozici front-end vývojář a ověřit si tak jeho znalosti v tomto oboru. Není zamýšleno položit všechny tyto otázky (jejich korektní zodpovězení by trvalo hodiny), leč pouze určitou část vyhovující vašim potřebám.</p><p>Za přečtení stojí také:</p><ul><li><a href="http://rmurphey.com/blog/2012/04/12/a-baseline-for-front-end-developers/">Baseline For Front-End Developers</a>(Anglicky) od <a href="http://rmurphey.com/">Rebecca Murphey</a></li><li><a href="http://css-tricks.com/interview-questions-css/">Interview Questions and Exercises About CSS</a>(Anglicky) od <a href="http://chriscoyier.net/">Chris Coyier</a></li></ul><p><strong>Poznámka:</strong> Mějte na paměti, že tyto otázky mají vést spíše k diskusi na dané téma a prozradit tak něco více o schopnostech daného vývojáře než aby byly zodpovězeny jedním slovem nebo větou.</p><h2 id="obsah" tabindex="-1"><a class="header-anchor" href="#obsah"></a> <a name="toc">Obsah</a></h2><ol><li><a href="#contributors">Původní přispěvovatelé</a></li><li><a href="#general">Obecné otázky</a></li><li><a href="#html">HTML otázky</a></li><li><a href="#css">CSS otázky</a></li><li><a href="#js">JS otázky</a></li><li><a href="#jquery">jQuery otázky</a></li><li><a href="#jscode">Otázky z kódu</a></li><li><a href="#fun">Zábavné otázky</a></li></ol><h4><a name="contributors">Původní přispěvovatelé:</a></h4><p>Většina otázek byla převzata z <a href="http://oksoclap.com/">oksoclap</a> původně vytvořeného <a href="http://paulirish.com">Paulem Irishem</a> (<a href="http://twitter.com/paul_irish">@paul_irish</a>) a následně doplněna těmito osobami:</p><ul><li><a href="http://twitter.com/bentruyman">@bentruyman</a> <a href="http://bentruyman.com">http://bentruyman.com</a></li><li><a href="http://twitter.com/cowboy">@cowboy</a> <a href="http://benalman.com">http://benalman.com</a></li><li><a href="http://ajpiano">@ajpiano</a> <a href="http://ajpiano.com">http://ajpiano.com</a></li><li><a href="http://twitter.com/slexaxton">@SlexAxton</a> <a href="http://alexsexton.com">http://alexsexton.com</a></li><li><a href="http://twitter.com/boazsender">@boazsender</a> <a href="http://boazsender.com">http://boazsender.com</a></li><li><a href="http://twitter.com/miketaylr">@miketaylr</a> <a href="http://miketaylr.com">http://miketaylr.com</a></li><li><a href="http://twitter.com/vladikoff">@vladikoff</a> <a href="http://vladfilippov.com">http://vladfilippov.com</a></li><li><a href="http://twitter.com/gf3">@gf3</a> <a href="http://gf3.ca">http://gf3.ca</a></li><li><a href="http://twitter.com/jon_neal">@jon_neal</a> <a href="http://twitter.com/jon_neal">http://twitter.com/jon_neal</a></li><li><a href="http://twitter.com/wookiehangover">@wookiehangover</a> <a href="http://wookiehangover.com">http://wookiehangover.com</a></li><li><a href="http://twitter.com/iansym">@iansym</a> <a href="http://twitter.com/iansym">http://twitter.com/iansym</a></li></ul><p><strong><a href="#toc">[⬆]</a></strong></p><h4><a name="general">Obecné otázky:</a></h4><ul><li>Co jste se naučili včera/minulý týden nového?</li><li>Co Vás vzrušuje nebo zajímá na kódování?</li><li>Povězte něco o Vašem oblíbeném vývojovém prostředí (operační systém, editor, prohlížeč, nástroje, atd.).</li><li>Popište jak postupujete při vytváření nové webové stránky.</li><li>Dokážete vysvětlit rozdíl mezi pozvolným degradováním (graceful degradation) a postupným vylepšováním(progressive enhancement)?<ul><li>Body navíc za popsání detekce pokročilé funkcionality</li></ul></li><li>Vysvětlete pojem “sémantické HTML”.</li><li>Jak byste optimalizovali zdroje (obrázky, JS, CSS, atd.) webové stránky?<ul><li>K dispozici je celá řada optimalizací např.:<ul><li>Spojování souborů</li><li>Minifikace souborů</li><li>CDN hostování</li><li>Caching</li><li>atd.</li></ul></li></ul></li><li>Proč je lepší posílat zdroje webové stránky z více domén?<ul><li>Kolik souborů může z dané domény stahovat prohlížeš najednou?</li></ul></li><li>Vyjmenujte tři způsoby jak snížit dobu nahrávání webové stránky (vnímanou nebo skutečnou dobu nahrávání)</li><li>Pokud naskočíte do projektu, kde se místo odsazování tabulátory používají mezery, co uděláte?<ul><li>Navrhnutí, že projekt by mohl využívat něco jako EditorConfig (<a href="http://editorconfig.org">http://editorconfig.org</a>)</li><li>Přízpůsobení se konvenci (ale zústat konzistentní).</li><li><code>issue :retab! command</code></li></ul></li><li>Napište jednoduchou stránku se slideshow.<ul><li>Body navíc pokud nepoužívá JS.</li></ul></li><li>Jaké nástroje používáte pro testování rychlosti Vašeho kódu?<ul><li>Profiler, JSPerf, Dromaeo</li></ul></li><li>Pokud byste se chtěl/chtěla letos naučit jednu novou technologii, která by to byla?</li><li>Vysvětlete důležitost standardů a standardizačních orgánů</li><li>Co to je FOUC? Jak je možné se vyhnout FOUC?</li></ul><p><strong><a href="#toc">[⬆]</a></strong></p><h4><a name="html">HTML otázky:</a></h4><ul><li>Co dělá <code>doctype</code> ?</li><li>Jaký je rozdíl mezi standardním módem a quirks módem?</li><li>Jaká jsou omezení při poskytování XHTML stránek?<ul><li>Existuje nějaký problém při poskytování stránek jako <code>application/xhtml+xml</code>?</li></ul></li><li>Jak poskytujete stránku s vícejazyčným obsahem?<ul><li>Na co všechno si musíte dát pozor při vytváření vícejazyčné stránky?</li></ul></li><li>K čemu je dobrý atribut <code>data-</code>?</li><li>Uvažujte o HTML5 jako o otevření platormě. Jaké jsou základní stavební kameny HTML5?</li><li>Popište rozdíl mezi cookies, sessionStorage a localStorage.</li></ul><p><strong><a href="#toc">[⬆]</a></strong></p><h4><a name="css">CSS otázky:</a></h4><ul><li>Popište co děla a k čemu je dobrý “reset” CSS soubor.</li><li>Popište obtékání (floats) a jak funguje.</li><li>Popiště různé techniky pro zastavení obtékání (clear fixing) a řekněte, které se hodí v kterém kontextu.</li><li>Vysvětlete, co to jsou CSS sprites a jak byste je implementovali.</li><li>Jaká je Vaše oblíbená technika pro nahrazování obrázků a kterou a kdy používáte?</li><li>CSS property hacks, kondicionální vkládání .css souborů nebo něco dalšího?</li><li>Jak poskytujete stránky pro funkcionálně/vlastnostmi omezený prohlížeč?<ul><li>Jakou techniku/proces používáte?</li></ul></li><li>Jaké jsou způsoby pro zneviditelní obsahu (a zachování jeho dostupnosti pro čtečky)?</li><li>Použili jste někdy grid system a pokud ano, který upřednostňujete?</li><li>Použili jset někdy mediální selektor (media query) nebo specifický layout/CSS pro mobilní zařízení?</li><li>Máte nějaké zkušenosti s vytvářením SVG?</li><li>Jak optimalizujete stránky pro tisk?</li><li>Jaké jsou zásady pro psaní efektnivního CSS?</li><li>Jaké jsou výhody/nevýhody použítí CSS preprocesorů (SASS, Compass, Stylus, LESS)?<ul><li>Popiště, co se Vám na CSS preprocesorech, které jste použili, líbí/nelíbí.</li></ul></li><li>Jak byste implementovali návrh webové stránky, která používá nestandardní řezy písma?<ul><li>Webfonts (služby typu: Google Webfonts, Typekit etc.)</li></ul></li><li>Vysvětlete jak prohlížeč určuje, který element odpovída CSS selektoru.</li><li>Vysvětlete Vaše chápání box modelu a jak řeknete pomocí CSS prohlížeči, aby Váš layout vykreslil v odlišném box modelu</li></ul><p><strong><a href="#toc">[⬆]</a></strong></p><h4><a name="js">JS otázky:</a></h4><ul><li>Vysvětlete delegaci událostí.</li><li>Vysvětlete jak funguje <code>this</code> v JavaScriptu.</li><li>Vysvětlete jak funguje funguje prototypová dědičnost.</li><li>Jak testujete JavaScript?</li><li>AMD vs. CommonJS?</li><li>Co je hashovací tabulka?</li><li>Vysvětlete proč následující volání nebude fungovat jako IIFE: <code>function foo(){ }();</code>.<ul><li>Co musíte změnit, aby volání zafungovalo jako IIFE?</li></ul></li><li>Vysvětlete rozdíl mezi proměnou, která je <code>null</code>, <code>nedefinovaná</code> nebo <code>nedeklarovaná</code>?<ul><li>Jakým způsobem ověříte jednotlivé stavy proměnné?</li></ul></li><li>Co to je closure a jak/proč bychom je měli používat?</li><li>Jaké je typické využití pro anonymní funkce?</li><li>Vysvětlete “JavaScript module pattern” a kdybyste ho měli použít.<ul><li>Body navíc za zmínku o čistých jmených prostorech.</li><li>Co když moduly nemají jmené prostory?</li></ul></li><li>Jak organizujete Váš kód? Module pattern, klasická dědičn5ost?</li><li>Jaký je rozdíl mezi nativními a hostitelskými objekty?</li><li>Rozdíl mezi:</li></ul><pre class="language-javascript"><code class="language-javascript"><span class="token keyword">function</span> <span class="token function">Person</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">{</span><span class="token punctuation">}</span> <span class="token keyword">var</span> person <span class="token operator">=</span> <span class="token function">Person</span><span class="token punctuation">(</span><span class="token punctuation">)</span> <span class="token keyword">var</span> person <span class="token operator">=</span> <span class="token keyword">new</span> <span class="token class-name">Person</span><span class="token punctuation">(</span><span class="token punctuation">)</span></code></pre><ul><li>Jaký je rozdíl mezi <code>.call</code> a <code>.apply</code>?</li><li>Jaký je rozdíl mezi <code>undefined</code> and <code>null</code>?</li><li>Vysvětlete <code>Function.prototype.bind</code>.</li><li>Kdy optimalizujete Váš kód?</li><li>Vysvětlete jak funguje dědičnost v JavaScriptu.</li><li>Kdy byste použili <code>document.write()</code>?<ul><li>Většina generovaných reklam stále používá tento přístup i přesto, že je to dlouhodobě odsuzováno.</li></ul></li><li>Jaký je rozdíl mezi detekcí vlastností, odvození vlastností a použití UA řetězce?</li><li>Vysvětlete AJAX co nejpodrobněji to jde.</li><li>Vysvětlete jak funguje JSONP (a proč to není opravdový AJAX).</li><li>Použili jste někdy JavaScriptové šablony?<ul><li>Pokud ano, které knihovny jste použili (Mustache.js, Handlebars etc.)?</li></ul></li><li>Vysvětlete “hoisting”.</li><li>Vysvětlete probublávání událostí.</li><li>Jaký je rozdíl mezi atributem (attribute) a vlastností (property)?</li><li>Proč není dobrý nápad rozšiřovat nativní JavaScriptové objekty?</li><li>Proč je dobrý nápad rozšiřovat nativní JavaScriptové objekty?</li><li>Jaký je rozdíl mezi událostmi document load a document ready?</li><li>Jaký je rozdíl mezi <code>==</code> a <code>===</code>?</li><li>Vysvětlete jakým způsobem získáte parametr z URL zadaného v okně prohlížeče.</li><li>Vysvětlete JavaScriptové pravidlo stejného původu (same-origin policy).</li><li>Popište přístupy k dědění v JavaScriptu.</li><li>Následující kód upravte tak, aby fungoval:</li></ul><pre class="language-javascript"><code class="language-javascript"><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 function">duplicate</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><ul><li>Popište strategie pro memorizaci (odstranění opakovaných výpočtů) v JavaScriptu.</li><li>Proč se říká ternární operátor, co označuje slovo ternární?</li><li>Co je označováné jako “arity” funkce?</li><li>Co znamená <code>&quot;use strict&quot;;</code>? Jaké jsou výhody a nevýhody použití?</li></ul><p><strong><a href="#toc">[⬆]</a></strong></p><h4><a name="jquery">jQuery otázky:</a></h4><ul><li>Vysvětlete řetězení (chaining).</li><li>Vysvětlete odkládání (deferreds).</li><li>Jaké znáte a umíte implementovat optimalizace speciálně pro jQuery?</li><li>Co dělá <code>.end()</code>?</li><li>Jak a proč byste váš event handler opatřili jmeným prostorem?</li><li>Jmenujte čtyři různé typy hodnot, které můžete předat jako vstupní parametr metod v jQuery.<ul><li>Selektor (řetězec), HTML (řetězec), Callback (funkce), HTMLElement, object, pole, pole elementu, jQuery Object, atd.</li></ul></li><li>Co to je fronta efektů (nebo fx fronta)?</li><li>Jaký je rozdíl mezi <code>.get()</code>, <code>[]</code> a <code>.eq()</code>?</li><li>Jaký je rozdíl mezi <code>.bind()</code>, <code>.live()</code> a <code>.delegate()</code>?</li><li>Jaký je rozdíl mezi <code>$</code> a <code>$.fn</code>? Nebo jenom, co je <code>$.fn</code>?</li><li>Zoptimalizujte tento selektor:</li></ul><pre class="language-javascript"><code class="language-javascript"><span class="token function">$</span><span class="token punctuation">(</span><span class="token string">".foo div#bar:eq(0)"</span><span class="token punctuation">)</span></code></pre><ul><li>Jaký je rozdíl mezi delegate() a live()?</li></ul><p><strong><a href="#toc">[⬆]</a></strong></p><h4><a name="jscode">Otázky z kódu:</a></h4><pre class="language-javascript"><code class="language-javascript"><span class="token operator">~</span><span class="token operator">~</span><span class="token number">3.14</span></code></pre><p>Otázka: Jakou hodnotu vrátí uvedený výraz?<br><strong>Odpověď: 3</strong></p><pre class="language-javascript"><code class="language-javascript"><span class="token string">"i'm a lasagna hog"</span><span class="token punctuation">.</span><span class="token function">split</span><span class="token punctuation">(</span><span class="token string">""</span><span class="token punctuation">)</span><span class="token punctuation">.</span><span class="token function">reverse</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">.</span><span class="token function">join</span><span class="token punctuation">(</span><span class="token string">""</span><span class="token punctuation">)</span><span class="token punctuation">;</span></code></pre><p>Otázka: Jakou hodnotu vrátí uvedený výraz?<br><strong>Odpověď: “goh angasal a mi”</strong></p><pre class="language-javascript"><code class="language-javascript"><span class="token punctuation">(</span> window<span class="token punctuation">.</span>foo <span class="token operator">||</span> <span class="token punctuation">(</span> window<span class="token punctuation">.</span>foo <span class="token operator">=</span> <span class="token string">"bar"</span> <span class="token punctuation">)</span> <span class="token punctuation">)</span><span class="token punctuation">;</span></code></pre><p>Otázka: Jakou hodnotu má window.foo?<br><strong>Odpověď: “bar”</strong><br>pouze pokud window.foo bylo false, jinak vrátí svojí hodnotu.</p><pre class="language-javascript"><code class="language-javascript"><span class="token keyword">var</span> foo <span class="token operator">=</span> <span class="token string">"Hello"</span><span class="token punctuation">;</span> <span class="token punctuation">(</span><span class="token keyword">function</span><span class="token punctuation">(</span><span class="token punctuation">)</span> <span class="token punctuation">{</span> <span class="token keyword">var</span> bar <span class="token operator">=</span> <span class="token string">" World"</span><span class="token punctuation">;</span> <span class="token function">alert</span><span class="token punctuation">(</span>foo <span class="token operator">+</span> bar<span class="token punctuation">)</span><span class="token punctuation">;</span> <span class="token punctuation">}</span><span class="token punctuation">)</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">;</span> <span class="token function">alert</span><span class="token punctuation">(</span>foo <span class="token operator">+</span> bar<span class="token punctuation">)</span><span class="token punctuation">;</span></code></pre><p>Otázka: Co zobrazí uvedené dva alerty?<br><strong>Odpověď: “Hello World” a ReferenceError: bar is not defined</strong></p><pre class="language-javascript"><code class="language-javascript"><span class="token keyword">var</span> foo <span class="token operator">=</span> <span class="token punctuation">[</span><span class="token punctuation">]</span><span class="token punctuation">;</span>
foo<span class="token punctuation">.</span><span class="token function">push</span><span class="token punctuation">(</span><span class="token number">1</span><span class="token punctuation">)</span><span class="token punctuation">;</span>
foo<span class="token punctuation">.</span><span class="token function">push</span><span class="token punctuation">(</span><span class="token number">2</span><span class="token punctuation">)</span><span class="token punctuation">;</span></code></pre><p>Otázka: Jaká je hodnota foo.length?<br><strong>Odpověď: <code>2</code></strong></p><pre class="language-javascript"><code class="language-javascript"><span class="token keyword">var</span> foo <span class="token operator">=</span> <span class="token punctuation">{</span><span class="token punctuation">}</span><span class="token punctuation">;</span>
foo<span class="token punctuation">.</span>bar <span class="token operator">=</span> <span class="token string">'hello'</span><span class="token punctuation">;</span></code></pre><p>Otázka: Jaká je hodnota foo.length?<br><strong>Odpověď: <code>undefined</code></strong></p><p><strong><a href="#toc">[⬆]</a></strong></p><h4><a name="fun">Zábavné otázky:</a></h4><ul><li>Jaká je nejúžasnější věc, kterou jste kdy nakódovali, nebo na kterou jste nejvíce pyšní?</li><li>Jaké jsou Vaše oblíbené části vývojářských nástrojů, které používáte?</li><li>Máte nějaký vlastní hobby projekt?</li><li>Jaká je Vaše oblíbená vlastnost Internet Exploreru?</li></ul><p><strong><a href="#toc">[⬆]</a></strong></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/czech.md">Edit this page</a></div></main><footer class="footer"><p class="footer-text">Copyright &copy; 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>