Front-end-Developer-Intervi.../_site/translations/ukrainian/index.html

1 line
37 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="en" itemscope itemtype="https://schema.org/Article"><head><meta charset="UTF-8"><meta name="viewport" content="width=device-width,initial-scale=1"><title>Питання кандидату на посаду front-end розробника ★ Front-end Job 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 Job Interview Questions"><meta itemprop="author" content="Front-end Job Interview Questions"><meta itemprop="name" content="Питання кандидату на посаду front-end розробника ★ Front-end Job 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.github.io/Front-end-Developer-Interview-Questions/assets/images/og-image.png"><meta property="og:title" content="Питання кандидату на посаду front-end розробника ★ Front-end Job 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.github.io/Front-end-Developer-Interview-Questions/translations/ukrainian/"><meta property="og:site_name" content="Front-end Job Interview Questions"><meta property="og:image" content="https://h5bp.github.io/Front-end-Developer-Interview-Questions/assets/images/og-image.png"><meta property="og:image:secure_url" content="/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 розробника ★ Front-end Job 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.github.io/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="/assets/images/apple-touch-icon.png"><link type="image/png" sizes="32x32" rel="icon" href="/assets/images/favicon-32x32.png"><link type="image/png" sizes="16x16" rel="icon" href="/assets/images/favicon-32x32.png"><link type="image/png" color="#181818" rel="mask-icon" href="/assets/images/favicon-96x96.png"><meta name="mobile-web-app-capable" content="yes"><meta name="robots" content="index,follow"><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:#1d1f21}: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}*{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;margin-bottom:1rem}.navigation{list-style:none;display:flex;font-size:1rem}.navigation-item-emoji{margin-right:.8rem}.navigation-item-emoji a{text-decoration:none;display:inline-block;vertical-align:middle}.navigation-item:not(:last-of-type){margin-right:.8rem}.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:6.9rem;line-height:1.06;margin:2.1rem 0;color:var(--color-primary);word-break:break-word}@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(/assets/images/gradient.svg);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.8rem;line-height:1.4;padding:1rem 0}.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:1.5;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:focus:not(.skip-link),a:hover:not(.skip-link){color:var(--color-primary)}a[rel~=external]{text-decoration:overline}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}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]{text-decoration:overline;background:var(--color-gray-opacity);border:1px solid var(--color-gray-opacity);cursor:help}.container{max-width:54rem;padding:3rem 4rem 4rem;margin-right:auto;margin-left:auto}.content li:not(:last-of-type){margin-bottom:.5rem}.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}.inline-list li{padding:0;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}.avatar{max-width:12rem}.footer{padding-top:3rem}.footer-text{font-size:.8rem}</style></head><body><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"><li class="navigation-item"><span class="navigation-anchor">Questions:</span></li><li class="navigation-item"><a class="navigation-anchor" href="/questions/coding-questions/" title="Coding Questions">Coding</a></li><li class="navigation-item"><a class="navigation-anchor" href="/questions/css-questions/" title="CSS Questions">CSS</a></li><li class="navigation-item"><a class="navigation-anchor" href="/questions/fun-questions/" title="Fun Questions">Fun</a></li><li class="navigation-item"><a class="navigation-anchor" href="/questions/general-questions/" title="General Questions">General</a></li><li class="navigation-item"><a class="navigation-anchor" href="/questions/html-questions/" title="HTML Questions">HTML</a></li><li class="navigation-item"><a class="navigation-anchor" href="/questions/javascript-questions/" title="JavaScript Questions">JavaScript</a></li><li class="navigation-item"><a rel="external noreferrer noopener" target="_blank" class="navigation-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" href="/questions/network-questions/" title="Network Questions">Network</a></li><li class="navigation-item"><a class="navigation-anchor" href="/questions/performance-questions/" title="Perfomance Questions">Perfomance</a></li><li class="navigation-item"><a class="navigation-anchor" href="/questions/testing-questions/" title="Testing Questions">Testing</a></li><li class="navigation-item">|</li><li class="navigation-item-emoji"><a class="navigation-anchor" href="/" title="Home">🏠</a></li><li class="navigation-item-emoji"><a class="navigation-anchor" href="/translations" title="Translations">🌐</a></li></ul></nav><main id="main-content" tabindex="-1"><header class="header"><h1 class="header-big-title">Питання кандидату на посаду front-end розробника</h1></header><div class="content"><h1>Питання кандидату на посаду front-end розробника</h1><p><strong>Примітка:</strong> Цей репозиторій містить підбірку питань, які можуть бути використані на співбесідах на посаду front-end розробника. Тут пропонуються лише ідеї, не варто задавати всі запитання відразу (інакше однієї години точно не вистачить).<br>Також, майте на увазі, що багато питань не потребують однозначної короткої відповіді, а лише допомагають завести бесіду на ту чи іншу тему (даючи змогу кандидату показати себе в усій красі).</p><h2 id="%D0%B7%D0%BC%D1%96%D1%81%D1%82"><a class="header-anchor" href="#%D0%B7%D0%BC%D1%96%D1%81%D1%82" aria-hidden="true"></a> <a name="toc">Зміст</a></h2><ol><li><a href="#contributors">Первинні автори</a></li><li><a href="#general">Загальні запитання</a></li><li><a href="#html">Запитання по HTML</a></li><li><a href="#js">Запитання по JavaScript</a></li><li><a href="#jscode">Приклади коду на JavaScript</a></li><li><a href="#jquery">Запитання по jQuery</a></li><li><a href="#css">Запитання по CSS</a></li><li><a href="#fun">“Світська бесіда”</a></li></ol><h4><a href="#toc"></a> <a name="contributors">Первинні автори:</a></h4><ul><li>@bentruyman (<a href="http://bentruyman.com">http://bentruyman.com</a>)</li><li>@cowboy (<a href="http://benalman.com">http://benalman.com</a>)</li><li>@roger_raymond (<a href="http://twitter.com/iansym">http://twitter.com/iansym</a>)</li><li>@ajpiano (<a href="http://ajpiano.com">http://ajpiano.com</a>)</li><li>@paul_irish (<a href="http://paulirish.com">http://paulirish.com</a>)</li><li>@SlexAxton (<a href="http://alexsexton.com">http://alexsexton.com</a>)</li><li>@boazsender (<a href="http://boazsender.com">http://boazsender.com</a>)</li><li>@miketaylr (<a href="http://miketaylr.com">http://miketaylr.com</a>)</li><li>@vladikoff (<a href="http://vladfilippov.com">http://vladfilippov.com</a>)</li><li>@gf3 (<a href="http://gf3.ca">http://gf3.ca</a>)</li><li>@jon_neal (<a href="http://twitter.com/jon_neal">http://twitter.com/jon_neal</a>)</li><li>@wookiehangover (<a href="http://wookiehangover.com">http://wookiehangover.com</a>)</li><li>@darcy_clarke (<a href="http://darcyclarke.me">http://darcyclarke.me</a>)</li></ul><h4><a href="#toc"></a> <a name="general">Загальні запитання:</a></h4><ul><li>Чи користуєтесь Ви Твіттером?<ul><li>Якщо так, то хто присутній в Вашій стрічці?</li></ul></li><li>Кого зі світових front-end розробників Ви знаєте?<ul><li>А українських чи російських front-endщиків?</li></ul></li><li>Чи є у Вас аккаунт на GitHub?<ul><li>Якщо так, то за якими цікавими проектами Ви стежите?</li></ul></li><li>Які блоги Ви читаєте?</li><li>Які системи контролю версій Вам доводилось використовувати?</li><li>Розкажіть про своє середовище розробки (ОС, редактор, браузер(и), інші інструменти)</li><li>Опишіть послідовність Ваших дій, коли ви створюєте нову Web-сторінку</li><li>Чи можете ви пояснити у чому різниця між progressive enhancement і graceful degradation?<ul><li>Бонус, якщо кандидат також скаже про feature detection (визначення можливостей браузера)</li></ul></li><li>Поясніть, що означає поняття “Семантична розмітка”</li><li>Який Ваш основний браузер для розробки і якими інструментами в ньому Ви користуєтесь?</li><li>Як можна оптимізувати завантаження зовнішніх ресурсів на сторінці?<ul><li>Комбінація із потенційних рішень:<ul><li>Конкатенація</li><li>Мініфікація</li><li>Використання CDN</li><li>Кешування</li><li>тощо</li></ul></li></ul></li><li>Яка перевага в підвантаженні із зовнішніх ресурсів з декількох доменів?<ul><li>Скільки ресурсів одночасно браузер може завантажувати з одного домена?</li></ul></li><li>Назвіть три засоби зменшення часу завантаження сторінки (сприйманого або реального)</li><li>Якщо Ви прийшли на проект, де для форматуровання використовується табуляція, а Ви звикли використовувати пробіли, як Ви вчинете?<ul><li>Запропонуєте використовувати EditorConfig (<a href="http://editorconfig.org">http://editorconfig.org</a>)</li><li>Залишитеся вірним своїм звичкам</li><li>Виконаєте команду <code>:retab!</code></li></ul></li><li>Чи користуєтеся Ви засобами для прискорення написання коду (сніппети, Emmet)?</li><li>Чи знайомі Ви зі шаблонізаторами (Smarty, HAML, т.д.)</li><li>Реалізуйте примітивне слайдшоу<ul><li>Бонус, якщо Ви зробите це без використання JS</li></ul></li><li>Які інструменти Ви використовуєте для тестування продуктивності коду?<ul><li>JSPerf (<a href="http://jsperf.com/">http://jsperf.com/</a>)</li><li>Dromaeo (<a href="http://dromaeo.com/">http://dromaeo.com/</a>)</li><li>і т.д.</li></ul></li><li>Якщо б у Вас була можливість освоїти нову технологію в цьому році, що б це було?</li><li>Поясніть важливість стандартів і комітетів по стандартам</li><li>Що таке FOUC (Flash Of Unstyled Content)? Як його уникнути?</li></ul><h4><a href="#toc"></a> <a name="html">Запитання по HTML:</a></h4><ul><li>Для чого потрібен <code>doctype</code> і скільки різновидів Ви можете назвати?</li><li>В чому різниця між standards mode і quirks mode?</li><li>Які обмеження накладають стандарти XHTML?<ul><li>Чи можуть виникнути проблеми при подачі сторінок із типом <code>application/xhtml+xml</code>?</li></ul></li><li>Як слід оформляти сторінку, на якій контент може бути на різних мовах?<ul><li>Що потрібно мати на увазі при розробці багатомовних сайтів?</li></ul></li><li>Чи можна використовувати синтаксис XHTML в HTML5?</li><li>Як використовувати XML в HTML5?</li><li>Чим корисні <code>data-</code> атрибути?</li><li>Які box-моделі є в HTML4 і чи є відмінності в HTML5?</li><li>Якщо розглядати HTML5 як відкриту web-платформу: на чому вона базується, з яких компонентів складається?</li><li>Поясніть різницю між cookies, sessionStorage і localStorage.</li><li>Чи знайомі з підводними каменями верстки поштових шаблонів?</li><li>Яка різниця між <code>GET</code> і<code>POST</code>?</li></ul><h4><a href="#toc"></a> <a name="js">Запитання по JavaScript:</a></h4><ul><li>Якими js-бібліотеками Ви користувалися?</li><li>Ви коли-небудь заглядали в вихідний код бібліотек / фреймворків, якими користувалися?</li><li>Чим JavaScript відрізняється від Java?</li><li>Що-таке хеш-таблиця?</li><li>Що таке <code>невизначені (undefined)</code> і <code>неоголошені (undeclared)</code> змінні?</li><li>Що таке замикання і як / для чого його використовують?<ul><li>На Вашу думку, як слід їх використовувати?</li></ul></li><li>Де зазвичай використовуються анонімні функції?</li><li>Поясніть “JavaScript module pattern” і де він (патерн) застосовується<ul><li>Бонус, якщо згадана чистота глобального простору імен</li><li>Що, якщо Ваш модуль не укладено в простір імен?</li></ul></li><li>Як Ви організуєте свій код? (module pattern, наслідування)</li><li>У чому різниця між host-об’єктами і нативними об’єктами?</li><li>У чому різниця між останніми двома рядками:</li></ul><pre class="language-javascript"><code class="language-javascript"><div class="highlight-line"><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></div><div class="highlight-line"></div><div class="highlight-line"><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></div><div class="highlight-line"><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></div></code></pre><ul><li>У чому різниця між <code>.call</code> і<code>.apply</code>?</li><li>Що робить і для чого потрібен метод <code>Function.prototype.bind</code>?</li><li>Коли Ви оптимізуєте свій код?</li><li>Поясніть, як працює наслідування в JavaScript?</li><li>Де досі використовується <code>document.write ()</code>?<ul><li>У більшості згенерованих банерів, хоча так робити не рекомендується</li></ul></li><li>У чому різниця між feature detection (визначення можливостей браузера), feature inference (припущення можливостей) і аналізом рядку user-agent?</li><li>Розкажіть про AJAX якомога детальніше</li><li>Поясніть, як працює JSONP (і чому це не справжній AJAX)</li><li>Чи використовували Ви коли-небудь шаблонізації на JavaScript?<ul><li>Якщо так, які бібліотеки використовували? (Mustache.js, Handlebars etc.)</li></ul></li><li>Поясніть, що таке “hoisting”</li><li>Поясніть event bubbling</li><li>У чому різниця між “атрибутом” (attribute) і “властивістю” (property)?</li><li>Чому <em>не слід</em> розширювати нативні JavaScript об’єкти?</li><li>Коли <em>слід</em> розширювати нативні JavaScript об’єкти?</li><li>У чому різниця між подіями <code>document load</code> і <code>document ready</code>?</li><li>У чому різниця між <code>==</code> і <code>===</code>?</li><li>Як отримати параметри з URLа поточного вікна?</li><li>Поясніть <code>same-origin policy</code> в контексті JavaScript</li><li>Розкажіть про <code>event delegation</code></li><li>Які Ви знаєте патерни організації наслідування в JavaScript?</li><li>Зробіть так, щоб цей код працював:</li></ul><pre class="language-javascript"><code class="language-javascript"><div class="highlight-line"><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">duplicator</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></div></code></pre><ul><li>Опишіть принцип мемоізаціі (уникнення повторних обчислень) в JavaScript</li><li>Чому тернарний оператор так називається?</li><li>Що таке тернарність функції?</li><li>Що робить рядок <code>&quot; use strict &quot;;</code>? Які переваги та недоліки від її використання?</li></ul><h4><a href="#toc"></a> <a name="jscode">Приклади на JavaScript</a></h4><pre class="language-javascript"><code class="language-javascript"><div class="highlight-line"><span class="token operator">~</span><span class="token operator">~</span><span class="token number">3.14</span></div></code></pre><p>Питання: Яке значення повертає цей фрагмент коду?<br><strong>Відповідь: 3</strong></p><pre class="language-javascript"><code class="language-javascript"><div class="highlight-line"><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></div></code></pre><p>Питання: Яке значення повертає цей фрагмент коду?<br><strong>Відповідь: &quot;goh angasal a mi&quot;</strong></p><pre class="language-javascript"><code class="language-javascript"><div class="highlight-line"><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></div></code></pre><p>Питання: Чому дорівнює window.foo?<br><strong>Відповідь: “bar” (тільки якщо вираз window.foo був хибним, інакше змінна збереже своє початкове значення)</strong>,</p><pre class="language-javascript"><code class="language-javascript"><div class="highlight-line"><span class="token keyword">var</span> foo <span class="token operator">=</span> <span class="token string">"Hello"</span><span class="token punctuation">;</span></div><div class="highlight-line"><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></div><div class="highlight-line"> <span class="token keyword">var</span> bar <span class="token operator">=</span> <span class="token string">" World"</span><span class="token punctuation">;</span></div><div class="highlight-line"> <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></div><div class="highlight-line"><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></div><div class="highlight-line"><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></div></code></pre><p>Питання: Що покажуть ці два alert?<br><strong>Відповідь: “Hello World” и ReferenceError: bar is not defined</strong></p><pre class="language-javascript"><code class="language-javascript"><div class="highlight-line"><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></div><div class="highlight-line">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></div><div class="highlight-line">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></div></code></pre><p>Питання: Чому дорівнює foo.length?<br><strong>Відповідь: <code>2</code></strong></p><pre class="language-javascript"><code class="language-javascript"><div class="highlight-line"><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></div><div class="highlight-line">foo<span class="token punctuation">.</span>bar <span class="token operator">=</span> <span class="token string">'hello'</span><span class="token punctuation">;</span></div></code></pre><p>Питання: Чому дорівнює foo.length?<br><strong>Відповідь: <code>undefined</code></strong></p><h4><a href="#toc"></a> <a name="jquery">Запитання по jQuery:</a></h4><ul><li>Розкажіть про “chaining”.</li><li>Розкажіть про “deferreds”.</li><li>Які Ви знаєте прийоми оптимізації коду, що використовує jQuery?</li><li>Що робить <code>.end()</code>?</li><li>Як додати простір імен до обробника подій? Для чого це потрібно?</li><li>Назвіть 4 різних види аргументів, які приймає функція jQuery()?<ul><li>Селектор (рядок), HTML (рядок), Callback (функція), HTMLElement, об’єкт, масив, масив елементів, об’єкт jQuery тощо.</li></ul></li><li>Що таке черга ефектів (fx queue)?</li><li>В чому різниця між <code>.get()</code>, <code>[]</code>, і <code>.eq()</code>?</li><li>В чому різниця між <code>.bind()</code>, <code>.live()</code>, і <code>.delegate()</code>?</li><li>В чому різниця між <code>$</code> і <code>$.fn</code>? Що таке <code>$.fn</code> взагалі?</li><li>Оптимізуйте даний селектор:</li></ul><pre class="language-javascript"><code class="language-javascript"><div class="highlight-line"><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></div></code></pre><h4><a href="#toc"></a> <a name="css">Запитання по CSS:</a></h4><ul><li>Що таке “reset” CSS і для чого він потрібен?</li><li>Поясніть, що таке плаваючі елементи (floats) і як вони працюють?</li><li>Які ви знаєте методи заборони обтікання (clearing) і де які застосовуються?</li><li>Що таке CSS спрайт? Як вони реалізуються на сторінці або сайті?</li><li>Які Ваші улюблені методи підміни тексту картинкою (image replacement) і коли Ви їх використовуєте?</li><li>CSS property hacks, умовне підключення .css файлів…</li><li>Як Ви забезпечуєте відображення сторінок в старих / обмежених браузерах?<ul><li>Які прийоми / процеси Ви при цьому використовуєте?</li></ul></li><li>Якими способами можна візуально приховати елемент (залишивши його доступним для екранного диктора, екранного зчитувача)?</li><li>Ви коли-небудь використовували сіткову верстку (grid system, grid design)? Якщо так, яка Ваша улюблена?</li><li>Чи доводилося Вам використовувати або реалізовувати media queries або верстку під мобільні пристрої?</li><li>Чи доводилося Вам стилізувати SVG?</li><li>Як оптимізувати сторінки для друку?</li><li>Які є підводні камені в оптимізації продуктивності CSS?</li><li>Ви використовуєте CSS препроцесори? (SASS, Compass, Bourbon, Stylus, LESS)<ul><li>Якщо так, розкажіть, що Вам в них подобається і не подобається?</li></ul></li><li>Як Ви зверстаєте макет, який використовує нестандартні шрифти?<ul><li>Webfonts (сервіси на кшталт Google Webfonts, Typekit, Fontsquirrel etc.)</li></ul></li><li>Розкажіть, як браузер визначає, на які елементи накладати CSS стилі?</li><li>Чи доводилося стикатися з Retina-дисплеями?</li><li>Чи чули про систему БЕМ (Блок-Елемент-Модифікатор)?<ul><li>Якщо так, то в чому її суть? Розкажіть про систему нотифікації селектор.</li></ul></li></ul><h4><a href="#toc"></a> <a name="fun">“Світська бесіда”:</a></h4><ul><li>Найкрутіше, що Ви коли небудь робили і чим пишаєтесь?</li><li>Чи знаєте Ви секретний жест HTML5-банди?</li><li>(<a href="https://vimeo.com/18848658">неперекладаємий гумор</a>) Are you now, or have you ever been, on a boat.</li><li>Що Вам найбільше подобаються у Ваших інструментах розробника?</li><li>У Вас є якісь особисті проекти?</li><li>Візьміть аркуш паперу і напишіть в стовпчик букви A B C D E. Тепер відсортуйте стовпчик в алфавітному порядку за спаданням, не написавши жодного рядка коду.<ul><li>Засічіть, через скільки часу кандидат переверне аркуш</li></ul></li><li>Пірат або ніндзя?<ul><li>Бонус за комбінацію. Аргументовану. +2 за зомбі-пірат-ніндзя-мавпу</li></ul></li><li>Чим би Ви займалися, якщо не Web-розробкою?</li><li>Яка Ваша улюблена “фішка” Internet Explorer?</li><li>Закінчіть речення: Brendan Eich та Doug Crockford є __________ мови JavaScript.</li><li>jQuery: хороша бібліотека або велика бібліотека? Тема для дискусії…</li></ul></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/ukrainian/index">Edit this page</a></div></main><footer class="footer"><p class="footer-text">Copyright (c) 2012 - 2018. Contributors to <a href="https://github.com/h5bp/Front-end-Developer-Interview-Questions">Front-end-Developer-Interview-Questions.</a><br>This project is maintained by <a href="https://github.com/cezaraugusto" target="_blank" rel="noreferrer noopener">Cezar Augusto</a>, <a href="https://github.com/roblarsen" target="_blank" rel="noreferrer noopener">Rob Larsen</a> and <a href="https://github.com/vvscode" target="_blank" rel="noreferrer noopener">Vasiliy Vanchuk</a> .<br>Curious about the project? <a href="/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: 80px; text-shadow: 1px 1px 1px #000; font-family: serif;");</script></body></html>