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

15 lines
38 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="ro" itemscope itemtype="https://schema.org/Article"><head><meta charset="UTF-8"><meta name="viewport" content="width=device-width,initial-scale=1"><title>Întrebări pentru interviu tehnic web 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="Întrebări pentru interviu tehnic web 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="Întrebări pentru interviu tehnic web 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/romanian/"><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="Întrebări pentru interviu tehnic web 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">Întrebări pentru interviu tehnic web front-end</h1></header><div class="content"><h1>Întrebări pentru interviu tehnic web front-end</h1><p>Acest fișier conține o serie de întrebări pentru interviuri tehnice pe partea<br>de front-end, care pot fi folosite pentru a verifica un potențial candidat. Nu<br>este deloc recomandat să fie folosite toate întrebările pentru un singur<br>candidat (ar lua câteva ore). Alegând câteva întrebări din această listă ar<br>trebui să te ajute în verificarea calităților pe care le urmărești.</p><p><strong>Notă:</strong> Ține minte că multe dintre întrebări au răspuns liber și ar<br>putea duce la discuții interesante care ți-ar putea spune mai multe despre<br>capacitățile persoanei.</p><h2 id="cuprins" tabindex="-1"><a class="header-anchor" href="#cuprins"></a> <a name="toc">Cuprins</a></h2><ol><li><a href="#general">Întrebări generale</a></li><li><a href="#html">Întrebări despre HTML</a></li><li><a href="#css">Întrebări despre CSS</a></li><li><a href="#js">Întrebări despre JS</a></li><li><a href="#testing">Întrebări despre testare</a></li><li><a href="#performance">Întrebări despre performanță</a></li><li><a href="#network">Întrebări despre rețea</a></li><li><a href="#jscode">Întrebări despre programare</a></li><li><a href="#fun">Întrebări amuzante</a></li></ol><h2 id="procesul-de-implicare" tabindex="-1"><a class="header-anchor" href="#procesul-de-implicare"></a> Procesul de implicare</h2><ol><li><a href="#contributors">Contribuitori</a></li><li><a href="https://github.com/h5bp/Front-end-Developer-Interview-Questions/blob/master/CONTRIBUTING.md">Cum să contribui</a></li><li><a href="https://github.com/h5bp/Front-end-Developer-Interview-Questions/blob/master/LICENSE.md">Licență</a></li></ol><h4><a href="#toc">[⬆]</a> <a name="general">Întrebări generale:</a></h4><ul><li>Ce ai învățat ieri/săptămâna asta?</li><li>Ce te fascinează sau interesează la programare?</li><li>Ce provocare tehnică ai întâmpinat recent și cum ai rezolvat-o?</li><li>Ce aspecte de UI, securitate, performanță, SEO, întreținere sau tehnologie<br>iei în considerare când construiești o aplicație web sau un site?</li><li>Povestește despre mediul de lucru preferat.</li><li>Îți poți descrie fluxul de lucru când creezi o pagină web?</li><li>Dacă ai 5 fișiere cu cod CSS, cum le poți integra cel mai bine în site?</li><li>Poți descrie diferența dintre “progressive enhancement” și “graceful<br>degradation”?</li><li>Cum ai optimiza resursele statice ale unui site?</li><li>Câte resurse poate un browser descărca de la un domeniu la un moment dat?<ul><li>Care sunt excepțiile?</li></ul></li><li>Numește 3 moduri pentru a scădea timpul de încărcare a paginii. (perceput<br>sau chiar timpul de descărcare)</li><li>Dacă intri într-un proiect și se folosesc taburi în loc de spații, ce faci?</li><li>Descrie modul în care ai crea o simplă pagină de prezentare.</li><li>Ce unelte folosești pentru a testa performanța codului pe care îl scrii?</li><li>Dacă ai putea învăța o tehnologie anul asta, care ar fi?</li><li>Explică importanța standardelor și a organismelor de standardizare.</li><li>Ce este “Flash of Unstyled Content”? Cum eviți FOUC?</li><li>Explică ce sunt screenreaders și ARIA și cum faci un site accesibil.</li><li>Compară părți bune și negative pentru animații CSS versus animații JavaScript.</li><li>Ce reprezintă CORS și ce probleme încearcă să rezolve?</li></ul><h4><a href="#toc">[⬆]</a> <a name="html">Întrebări despre HTML:</a></h4><ul><li>La ce este util <code>doctype</code>?</li><li>Care este diferența dintre “standards mode” și “quirks mode”?</li><li>Care este diferența dintre HTML și XHTML?</li><li>Apar probleme când servești pagini ca <code>application/xhtml+xml</code>?</li><li>Cum servești o pagină cu conținut în mai multe limbi?</li><li>La ce trebuie să fii atent când creezi un design sau dezvolți pentru site-uri<br>multilingve</li><li>La ce sunt utile atributele <code>data-</code>?</li><li>Considerând HTML5 ca o platformă web deschisă, care sunt parțile<br>componente alte HTML5?</li><li>Descrie diferența dintre <code>cookies</code>, <code>sessionStorage</code> și <code>localStorage</code>.</li><li>Descrie diferența dintre <code>&lt;script&gt;</code>, <code>&lt;script async&gt;</code> și <code>&lt;script defer&gt;</code>.</li><li>Ce înseamnă randare progresivă?</li><li>Ai folosit altceva în afară de HTML până acum?</li></ul><h4><a href="#toc">[⬆]</a> <a name="css">Întrebări despre CSS:</a></h4><ul><li>Care este diferența dintre clase și ID-uri în CSS?</li><li>Care este diferența între a reseta și a normaliza in CSS? Pe care ai<br>alege-o și de ce?</li><li>Descrie Float și cum funcționează.</li><li>Descrie z-index și cum se formează stacking context.</li><li>Descrie BFC(Block Formatting Context) și cum funcționează.</li><li>Care sunt diferitele metode de a curăța (clearing) și care este potrivită<br>pentru ce context?</li><li>Explică conceptul de CSS sprites și cum le-ai implementa pe o pagină sau<br>un site.</li><li>Care sunt tehnicile tale preferate pentru înlocuirea imaginilor și<br>când le folosești?</li><li>Hack-uri de proprietăți CSS, includerea condițională a fișierelor .css,<br>sau… altceva?</li><li>Cum servești pagini pentru browsere cu capabilități reduse?<ul><li>Ce procese/tehnici folosești?</li></ul></li><li>Care sunt diferitele modalități de a ascunde vizual conținut (dar sa-l<br>faci disponibil pentru cititoare de ecrane) ?</li><li>Ai folosit vreodată un sistem grid și dacă da, ce preferi?</li><li>Ai folosit sau implementat media queries sau interfețe/CSS specific<br>pentru mobile?</li><li>Ești familiar cu stilizarea unui SVG?</li><li>Cum optimizezi paginile pentru print?</li><li>Ceva gotchas când scrii CSS eficient?</li><li>Care sunt avantajele/dezavantajele folosirii preprocesoarelor CSS (SASS,<br>Compass, Stylus, LESS)<ul><li>Descrie ce îți place respectiv nu îți place la preprocesoarele CSS pe<br>care le-ai folosit</li></ul></li><li>Cum ai implementa un design care folosește fonturi non-standard?</li><li>Explică cum un browser determina ce elemente se potrivesc unui selector CSS?</li><li>Descrie pseudo-elements și explică la ce sunt folosite.</li><li>Explică, în cuvintele tale, conceptul “box model” și cum ai instrui<br>browser-ul, prin CSS, să redea aspectul în modele diferite.</li><li>Ce face <code>* { box-sizing: border-box; }</code>? Care sunt avantajele?</li><li>Ce proprietăți de display știi?</li><li>Care este diferența între <code>inline</code> și <code>inline-block</code>?</li><li>Care este diferența între poziționarea relativă, fixă, absolută și statică<br>a unui element?</li><li>C-ul din CSS vine de la Cascading. Cum este determinată prioritatea în<br>atribuirea stilului (câteva exemple)? Cum folosești acest sistem în avantajul<br>tău?</li><li>Ce framework CSS ai folosit local sau în producție? (Bootstrap, PureCSS,<br>Foundation etc.)<ul><li>Ce ai schimba / îmbunătăți la ele?</li></ul></li><li>Ai avut ocazia să te joci cu noile specificații pentru CSS Flexbox sau Grid?</li><li>Cum este design-ul responsive diferit de cel adaptive?</li><li>Ai lucrat vreodată pentru retina display? Dacă da, când și ce tehnici ai<br>folosit?</li><li>Este vreun motiv pentru care ai vrea să folosești <code>translate()</code> în loc de<br><strong>poziționare absolută</strong> sau invers? De ce?</li></ul><h4><a href="#toc">[⬆]</a> <a name="js">Întrebări despre JS:</a></h4><ul><li>Explică “event delegation”.</li><li>Explică cum funcționează <code>this</code> în JavaScript.</li><li>Explică cum funcționează moștenirea prototipală.</li><li>Cum îți testezi codul JavaScript?</li><li>Ce părere ai despre AMD vs. CommonJS?</li><li>Explică de ce următoarea nu funcționează ca un IIFE: <code>function foo(){ }();</code><ul><li>Ce trebuie schimbat ca să o transformi într-o IIFE?</li></ul></li><li>Care este diferența dintre o variabilă care este: <code>null</code>, <code>undefined</code> sau<br><code>undeclared</code>?<ul><li>Cum ai face sa verifici după fiecare dintre stările acestea?</li></ul></li><li>Ce este un “closure” și cum/de ce ai folosi unul?</li><li>Care este un caz în care sunt folosite funcții anonime?</li><li>Cum îți organizezi codul? (module șablon, moștenire?)</li><li>Care este diferența dintre obiecte host și obiecte native?</li><li>Diferența dintre: <code>function Person(){}</code>, <code>var person = Person()</code> și<br><code>person = new Person()</code></li><li>Care este diferența dintre <code>.call</code> și <code>.apply</code>?</li><li>Explică <code>Function.prototype.bind</code>?</li><li>Când îți optimizezi codul?</li><li>Când ai folosi <code>document.write()</code>?</li><li>Care este diferența dintre feature detection, feature inference și<br>folosirea șirului User Agent?</li><li>Explică AJAX cât mai detaliat posibil.</li><li>Explică cum funcționează JSONP (și cum nu este chiar AJAX).</li><li>Ai folosit vreodată templating JavaScript?<ul><li>Dacă da, ce librării ai folosit? (Mustache.js, Handlebars etc.)</li></ul></li><li>Explică “hoisting”.</li><li>Descrie “event bubbling”.</li><li>Care este diferența dintre un atribut și o proprietate?</li><li>De ce nu este o idee bună extinderea obiectelor JavaScript “built-in”?</li><li>Care este diferența dintre evenimentul “document load” și “document ready”?</li><li>Care este diferența dintre “==” și “===”?</li><li>Explică politica “same-origins” în legătură cu JavaScript.</li><li>Fă următorul cod să funcționeze:</li></ul><pre class="language-js"><code class="language-js"><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><ul><li>Ce este o expresie ternară și ce indică cuvântul ternar?</li><li>Ce este <code>&quot;use strict;&quot;</code> și care sunt avantajele și dezavantajele folosirii<br>acestuia?</li><li>Creați o buclă for care iterează până la <code>100</code> și afișează <strong>“fizz”</strong><br>la multipli de <code>3</code>, <strong>“buzz”</strong> la multipli de <code>5</code> și <strong>“fizzbuzz”</strong> la<br>multipli de <code>3</code> și <code>5</code>.</li><li>De ce este, de regulă, o idee bună să nu poluezi scope-ul global al unui<br>website?</li><li>Explică ce este o single page app și cum ai putea să improvizezi SEO-ul?</li><li>Care este gradul tău de experiență cu Promises și/sau polyfills-ul lor?</li><li>Care sunt avantajele și dezavantajele in a folosi Promises in loc de<br>callbacks ?</li><li>Care sunt avantajele și dezavantajele prin a scrie JavaScript într-o limbă ce<br>compilează JavaScript?</li><li>Ce unelte și tehnici folosești pentru a depana (debug) JavaScript?</li><li>Ce construcții de limbaj folosești pentru a itera peste proprietățile obiectelor și<br>elementele listelor (array)?</li><li>Explică diferența dintre obiectele mutabile și imutabile.</li><li>Ce exemplu de obiect imutabil poți da în JavaScript?</li><li>Avantaje și dezavantaje a imutabilității?</li><li>Cum poți obține imutabilitate în propriul cod?</li><li>Explică diferența dintre funcțiile sincrone (synchronous) și<br>asincrone (asynchronous).</li><li>Ce este un even loop?</li><li>Care este diferența dintre call stack și task queue?</li></ul><h4><a href="#toc">[⬆]</a> <a name="testing">Întrebări despre testare:</a></h4><ul><li>Care sunt avantajele/dezavantajele în a-ți testa codul?</li><li>Ce unelte ai folosi pentru a testa funcționalitatea codului?</li><li>Care este diferența dintre unitatea de testare (unit test) și testarea de<br>funcționalitate/integrare?</li><li>Care este scopul unei unelte de “style linting”?</li></ul><h4><a href="#toc">[⬆]</a> <a name="performance">Întrebări despre perfomanță:</a></h4><ul><li>Ce unelte ai folosi pentru a găsi bug-uri de performanță in codul tău?</li><li>Ce diferite metode prin care ai putea îmbunătăți performanța defilării<br>(scroll) a unui site știi?</li><li>Explică diferența dintre o schemă (layout), desenare (painting) și compoziție<br>(compositing).</li></ul><h4><a href="#toc">[⬆]</a> <a name="network">Întrebări despre rețea:</a></h4><ul><li>Tradițional, de ce a fost mai bine să servești resurse de pe mai multe domenii?</li><li>Încearcă să descrii cât mai bine ce se întâmplă din momentul în care scrii<br>un URL-ul a unui site în browser până când este complet încărcat pe ecranul tău.</li><li>Care sunt diferențele dintre Long-Polling, WebSockets și Server-Sent Events?</li><li>Explică semnificația următoarelor antete HTTP:<ul><li>Diferența dintre Expires, Date, Age și If-Modified</li><li>Do Not Track</li><li>Cache-Control</li><li>Transfer-Encoding</li><li>ETag</li><li>X-Frame-Options</li></ul></li><li>Care sunt acțiunile HTTP? Listează toate acțiunile HTTP pe care le ști și<br>explică-le.</li></ul><h4><a href="#toc">[⬆]</a> <a name="jscode">Întrebări despre cod:</a></h4><p><em>Întrebare: Care este valoarea lui <code>foo</code>?</em></p><pre class="language-js"><code class="language-js"><span class="token keyword">var</span> foo <span class="token operator">=</span> <span class="token number">10</span> <span class="token operator">+</span> <span class="token string">'20'</span><span class="token punctuation">;</span></code></pre><p><em>Întrebare: Ce valoare returnează următorul cod?</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 number">0.1</span> <span class="token operator">+</span> <span class="token number">0.2</span> <span class="token operator">==</span> <span class="token number">0.3</span><span class="token punctuation">)</span><span class="token punctuation">;</span></code></pre><p><em>Întrebare: Cum ai face următoarea să funcționeze?</em></p><pre class="language-js"><code class="language-js"><span class="token function">add</span><span class="token punctuation">(</span><span class="token number">2</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 comment">// 7</span>
<span class="token function">add</span><span class="token punctuation">(</span><span class="token number">2</span><span class="token punctuation">)</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 comment">// 7</span></code></pre><p><em>Întrebare: Ce valoare este returnată de expresia următoare?</em></p><pre class="language-js"><code class="language-js"><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><em>Întrebare: Care este valoare lui <code>window.foo</code>?</em></p><pre class="language-js"><code class="language-js"><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><em>Întrebare: Care este rezultatul celor două apelări ale funcției alert?</em></p><pre class="language-js"><code class="language-js"><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><em>Întrebare: Care este valoarea lui <code>foo.length</code>?</em></p><pre class="language-js"><code class="language-js"><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><em>Întrebare: Care este valoarea lui <code>foo.x</code>?</em></p><pre class="language-js"><code class="language-js"><span class="token keyword">var</span> foo <span class="token operator">=</span> <span class="token punctuation">{</span><span class="token literal-property property">n</span><span class="token operator">:</span> <span class="token number">1</span><span class="token punctuation">}</span><span class="token punctuation">;</span>
<span class="token keyword">var</span> bar <span class="token operator">=</span> foo<span class="token punctuation">;</span>
foo<span class="token punctuation">.</span>x <span class="token operator">=</span> foo <span class="token operator">=</span> <span class="token punctuation">{</span><span class="token literal-property property">n</span><span class="token operator">:</span> <span class="token number">2</span><span class="token punctuation">}</span><span class="token punctuation">;</span></code></pre><p><em>Întrebare: Ce output printează acest cod?</em></p><pre class="language-js"><code class="language-js">console<span class="token punctuation">.</span><span class="token function">log</span><span class="token punctuation">(</span><span class="token string">'one'</span><span class="token punctuation">)</span><span class="token punctuation">;</span>
<span class="token function">setTimeout</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>
console<span class="token punctuation">.</span><span class="token function">log</span><span class="token punctuation">(</span><span class="token string">'two'</span><span class="token punctuation">)</span><span class="token punctuation">;</span>
<span class="token punctuation">}</span><span class="token punctuation">,</span> <span class="token number">0</span><span class="token punctuation">)</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">'three'</span><span class="token punctuation">)</span><span class="token punctuation">;</span></code></pre><h4><a href="#toc">[⬆]</a> <a name="fun">Întrebări amuzante:</a></h4><ul><li>Povestește-mi despre un proiect mișto la care ai lucrat recent?</li><li>Ce îți place cel mai mult la uneltele de dezvoltare pe care le folosești?</li><li>Ai proiecte personale? Ce fel?</li><li>Care este funcționalitatea ta preferată din Internet Explorer?</li><li>Cum îți place cafeaua?</li></ul><h4><a href="#toc">[⬆]</a> <a name="contributors">Contribuitori:</a></h4><p>Acest document a început în 2009 ca o colaborare între<br><a href="https://twitter.com/paul_irish">@paul_irish</a><br><a href="https://twitter.com/bentruyman">@bentruyman</a><br><a href="https://twitter.com/cowboy">@cowboy</a><br><a href="https://twitter.com/ajpiano">@ajpiano</a><br><a href="https://twitter.com/slexaxton">@SlexAxton</a><br><a href="https://twitter.com/boazsender">@boazsender</a><br><a href="https://twitter.com/miketaylr">@miketaylr</a><br><a href="https://twitter.com/vladikoff">@vladikoff</a><br><a href="https://twitter.com/gf3">@gf3</a><br><a href="https://twitter.com/jon_neal">@jon_neal</a><br><a href="https://twitter.com/sambreed">@sambreed</a> și<br><a href="https://twitter.com/iansym">@iansym</a>.</p><p>De atunci au contribuit mai mult de <a href="https://github.com/h5bp/Front-end-Developer-Interview-Questions/graphs/contributors">100 de<br>persoane</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/romanian.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>