Merge pull request #102 from fi0dor/Slovakian

Slovak translation
This commit is contained in:
Darcy Clarke 2013-12-26 06:54:49 -08:00
commit 3d2b18df54
1 changed files with 233 additions and 0 deletions

233
Slovakian/README.md Normal file
View File

@ -0,0 +1,233 @@
#Otázky k pohovoru: front-end vývojár
Tento repozitár obsahuje rad otázok, ktoré môžete položiť pri pohovore kandidátovi na pozíciu front-end vývojár a overiť si tak jeho znalosti v tomto odbore. Nie je zamýšľané položiť všetky tieto otázky (ich korektné zodpovedanie by trvalo hodiny), bohato postačí len určitú časť vyhovujúci vašim potrebám.
Za prečítanie stojí tiež [Baseline For Front-End Developers](http://rmurphey.com/blog/2012/04/12/a-baseline-for-front-end-developers/) (anglicky) od [Rebecci Murphey](http://rmurphey.com/).
**Poznámka:** Majte na pamäti, že tieto otázky majú viesť skôr k diskusii na danú tému a prezradiť tak niečo viac o schopnostiach daného vývojára, než aby boli zodpovedané jedným slovom alebo vetou.
## <a name='toc'>Obsah</a>
1. [Pôvodné prispievatelia](#contributors)
1. [Všeobecné otázky](#general)
1. [HTML otázky](#html)
1. [CSS otázky](#css)
1. [JS otázky](#js)
1. [jQuery otázky](#jquery)
1. [Otázky z kódu](#jscode)
1. [Zábavné otázky](#fun)
1. [Ďalšie zaujímave referencie](#references)
####[[⬆]](#toc) <a name='contributors'>Pôvodný prispievatelia:</a>
Väčšina otázok bola prevzatá z [oksoclap](http://oksoclap.com/) pôvodne vytvoreného [Paulom Irishom](http://paulirish.com) ([@paul_irish](http://twitter.com/paul_irish)) a následne doplnená týmito osobami:
* [@bentruyman](http://twitter.com/bentruyman) - http://bentruyman.com
* [@cowboy](http://twitter.com/cowboy) - http://benalman.com
* [@ajpiano](http://ajpiano) - http://ajpiano.com
* [@SlexAxton](http://twitter.com/slexaxton) - http://alexsexton.com
* [@boazsender](http://twitter.com/boazsender) - http://boazsender.com
* [@miketaylr](http://twitter.com/miketaylr) - http://miketaylr.com
* [@vladikoff](http://twitter.com/vladikoff) - http://vladfilippov.com
* [@gf3](http://twitter.com/gf3) - http://gf3.ca
* [@jon_neal](http://twitter.com/jon_neal) - http://twitter.com/jon_neal
* [@wookiehangover](http://twitter.com/wookiehangover) - http://wookiehangover.com
* [@iansym](http://twitter.com/iansym) - http://twitter.com/iansym
####[[⬆]](#toc) <a name='general'>Všeobecné otázky:</a>
* Čo ste sa naučili včera/minulý týždeň nové?
* Čo vás vzrušuje alebo zaujíma na kódovaní?
* Povedzte niečo o vašom obľúbenom vývojovom prostredí (operačný systém, editor, prehliadač, nástroje, ...).
* Opíšte ako postupujete pri vytváraní novej webovej stránky.
* Dokážete vysvetliť rozdiel medzi pozvoľným degradováním (graceful degradation) a postupným vylepšovaním (progressive enhancement)?
  * Body navyše za opis detekcie pokročilej funkcionality
* Vysvetlite pojem "sémantické HTML".
* Ako by ste optimalizovali zdroje (obrázky, JS, CSS, ...) webovej stránky?
  * K dispozícii je celý rad optimalizácií napr.:
    * spájanie súborov
    * minifikácia súborov
    * CDN hosťovanie
    * caching, ...
* Prečo je lepšie posielať zdroje webovej stránky z viacerých domén?
  * Koľko súborov môže z danej domény sťahovať prehliadač naraz?
* Vymenujte tri spôsoby ako znížiť dobu nahrávania webovej stránky (vnímanú alebo skutočnú dobu nahrávania).
* Ak nastúpite do projektu, kde sa namiesto odsadzovania tabulátormi používajú medzery, čo urobíte?
  * Navrhnutie, že projekt by mohol využívať niečo ako EditorConfig (http://editorconfig.org)
  * Prispôsobenie sa konvencii (ale zostať konzistentný).
  * `issue :retab ! command`
* Napíšte jednoduchú stránku so slideshow.
  * Body navyše pokiaľ nepoužíva JS.
* Aké nástroje používate pre testovanie rýchlosti vášho kódu?
  * Profiler, JSPerf, Dromaeo
* Ak by ste sa chcel/chcela tento rok naučiť jednu novú technológiu, ktorá by to bola?
* Vysvetlite dôležitosť štandardov a štandardizačných orgánov.
* Čo to je FOUC? Ako je možné sa vyhnúť FOUC?
####[[⬆]](#toc) <a name='html'>HTML otázky:</a>
* Čo robí `doctype`?
* Aký je rozdiel medzi štandardným a tkz. quirks módom?
* Aké sú obmedzenia pri poskytovaní XHTML stránok?
  * Existuje nejaký problém pri poskytovaní stránok ako `application/xhtml+xml`?
* Ako poskytujete stránku s viacjazyčným obsahom?
  * Na čo všetko si musíte dať pozor pri vytváraní viacjazyčnej stránky?
* K čomu sú dobré atribúty `data-`?
* Uvažujte o HTML5 ako o otvorenej platorme. Aké sú základné stavebné kamene HTML5?
* Opíšte rozdiel medzi cookies, sessionStorage a localStorage.
####[[⬆]](#toc) <a name='css'>CSS otázky: </a>
* Opíšte čo robí a na čo je dobrý "reset" CSS súbor.
* Opíšte obtekanie (floats) a ako funguje.
* Popíšte rôzne techniky pre zastavenie obtekanie (clear fixing) a povedzte, ktoré sa hodia v ktorom kontexte.
* Vysvetlite, čo to sú CSS sprites a ako by ste ich implementovali.
* Aká je vaša obľúbená technika pre nahrádzanie obrázkov a ktorú a kedy používate?
* CSS property hacks, podmienené vkladanie .css súborov alebo niečo ďalšie?
* Ako poskytujete stránky pre funkcionálne/vlastnosťami obmedzený prehliadač?
  * Akú techniku/proces používate?
* Aké sú spôsoby pre zneviditeľnie obsahu (a zachovanie jeho dostupnosti pre čítačky)?
* Použili ste niekedy grid systém a ak áno, ktorý uprednostňujete?
* Použili ste niekedy mediálne selektory (media query) alebo špecifický layout/CSS pre mobilné zariadenia?
* Máte nejaké skúsenosti so štýlovaním SVG?
* Ako optimalizujete stránky pre tlač?
* Aké sú zásady pre písanie efektnivního CSS?
* Aké sú výhody/nevýhody použítia CSS preprocesorov (SASS, Compass, Stylus, LESS)?
  * Popíšte, čo sa Vám na CSS preprocesoroch, ktoré ste použili, páči/nepáči.
* Ako by ste implementovali návrh webovej stránky, ktorá používa neštandardné rezy písma?
  * Webfonts (služby typu: Google Webfonts, Typekit, ...)
* Vysvetlite ako prehliadač určuje, ktorý element zodpovedá CSS selektoru.
* Vysvetlite vaše chápanie box modelu a ako poviete pomocou CSS prehliadaču, aby váš layout vykreslil v odlišnom box modele
####[[⬆]](#toc) <a name='js'>JS otázky:</a>
* Vysvetlite delegáciu udalostí.
* Vysvetlite ako funguje `this` v JavaScripte.
* Vysvetlite ako funguje prototypová dedičnosť.
* Ako testujete JavaScript?
* AMD vs. CommonJS?
* Čo je hashovacia tabuľka?
* Vysvetlite prečo nasledujúce volanie nebude fungovať ako IIFE : `function foo(){ }();`.
  * Čo musíte zmeniť, aby volania zafungovalo ako IIFE?
* Vysvetlite rozdiel medzi premennou, ktorá je `null`, `undefined` alebo `undeclared`?
  * Akým spôsobom by ste overili tieto jednotlivé stavy?
* Čo to je "closure" a ako/prečo by sme ich mali používať?
* Aké je typické využitie pre anonymné funkcie?
* Vysvetlite "JavaScript module pattern" a kedy by ste ho mali použiť.
  * Body navyše za zmienku o čistých menných priestoroch.
  * Čo ak sú vaše moduly bez menného priestora?
* Ako organizujete váš kód? (module pattern, klasická dedičnosť?)
* Aký je rozdiel medzi natívnymi a hostiteľskými objektami?
* Rozdiel medzi:
```javascript
function Person(){}
var person = Person()
var person = new Person()
```
* Aký je rozdiel medzi `.call` a `.apply`?
* Aký je rozdiel medzi `undefined` a `null`?
* Vysvetlite `Function.prototype.bind`.
* Kedy optimalizujete váš kód?
* Vysvetlite ako funguje dedičnosť v JavaScripte.
* Kedy by ste použili `document.write()`?
  * Väčšina generovaných reklám stále používa tento prístup aj napriek tomu, že je to dlhodobo odsudzované.
* Aký je rozdiel medzi detekciou vlastností, odvodenie vlastností a použitie UA reťazca?
* Vysvetlite AJAX čo najpodrobnejšie to ide.
* Vysvetlite ako funguje JSONP (a prečo to nie je naozajstný AJAX).
* Použili ste niekedy JavaScriptové šablóny?
  * Ak áno, ktoré knižnice ste použili (mustache.js, Handlebars, ...)?
* Vysvetlite "hoisting".
* Vysvetlite prebublávanie udalostí.
* Aký je rozdiel medzi atribútom (attribute) a vlastnosťou (property)?
* Prečo nie je dobrý nápad rozširovať natívne JavaScriptové objekty?
* Prečo je dobrý nápad rozširovať natívne JavaScriptové objekty?
* Aký je rozdiel medzi udalosťami "document load" a "document ready"?
* Aký je rozdiel medzi `==` a `===`?
* Vysvetlite akým spôsobom získate parameter z URL zadaného v okne prehliadača.
* Vysvetlite JavaScriptové pravidlo rovnakého pôvodu (same-origin policy).
* Opíšte prístupy dedenia v JavaScripte.
* Nasledujúci kód upravte tak, aby fungoval:
```javascript
[1,2,3,4,5].duplicate(); // [1,2,3,4,5,1,2,3,4,5]
```
* Opíšte stratégia pre memorizáciu (odstránenie opakovaných výpočtov) v JavaScripte.
* Prečo sa hovorí ternárny operátor, čo označuje slovo ternárny?
* Čo je označované ako "arita" funkcie?
* Čo znamená `"use strict";`? Aké sú výhody a nevýhody použitia?
####[[⬆]](#toc) <a name='jquery'>jQuery otázky:</a>
* Vysvetlite reťazenie (chaining).
* Vysvetlite odkladanie (deferreds).
* Aké poznáte a viete implementovať optimalizácie špeciálne pre jQuery?
* Čo robí `.end()`?
* Ako a prečo by ste váš "event handler" zaopatrili menným priestorom?
* Vymenujte štyri rôzne typy hodnôt, ktoré môžete odovzdať ako vstupný parameter metód v jQuery.
  * selektor (reťazec), HTML (reťazec), callback (funkcia), HTMLElement, object, polia, polia elementu, jQuery Object, ...
* Čo to je fronta efektov (alebo fx front)?
* Aký je rozdiel medzi `.get()`, `[]` a `.eq()`?
* Aký je rozdiel medzi `.bind()`, `.live()` a `.delegate()`?
* Aký je rozdiel medzi `$` a `$.fn`? Alebo len, čo je `$.fn`?
* Zoptimalizujte tento selektor :
```javascript
$(".foo div#bar:eq(0)");
```
* Aký je rozdiel medzi `.delegate()` a `.live()`?
####[[⬆]](#toc) <a name='jscode'>Otázky z kódu:</a>
```javascript
modulo(12, 5) // 2
```
*Otázka: Implementujte funkciu modulo tak, aby splnila zadanie.*
```javascript
"i'm a lasagna hog".split("").reverse().join("");
```
*Otázka: Akú hodnotu vráti uvedený výraz?*
**Odpoveď:" goh angasal a m'i"**
```javascript
(window.foo || (window.foo = "bar"));
```
*Otázka: Akú hodnotu má window.foo?*
**Odpoveď: "bar"** *(iba ak window.foo bolo false, inak vráti svojou hodnotu)*
```javascript
var foo = "Hello";
(function() {
var bar = "World";
alert(foo + bar);
})();
alert(foo + bar);
```
*Otázka: Čo zobrazia uvedené dva alerty?*
**Odpoveď: "Hello World" a ReferenceError: bar is not defined**
```javascript
var foo = [];
foo.push(1);
foo.push(2);
```
*Otázka: Aká je hodnota `foo.length`?*
**Odpoveď: `2`**
####[[⬆]](#toc) <a name='fun'>Zábavné otázky:</a>
* Aká je najúžasnejšia vec, ktorú ste kedy nakódovali, alebo na ktorú ste najviac pyšní?
* Aké sú vaše obľúbené časti vývojárskych nástrojov, ktoré používate?
* Máte nejaký vlastný hobby projekt?
* Aká je Vaša obľúbená vlastnosť Internet Exploreru?
####[[⬆]](#toc) <a name='references'>Ďalšie zaujímave referencie:</a>
* http://programmers.stackexchange.com/questions/46716/what-technical-details-should-a-programmer-of-a-web-application-consider-before
* http://www.nczonline.net/blog/2010/01/05/interviewing-the-front-end-engineer/
* http://css-tricks.com/interview-questions-css/