| Autor | Zpráva | ||
|---|---|---|---|
| Richard Profil * |
#1 · Zasláno: 19. 7. 2013, 19:18:11
Ahojte, dnes som robil javascript test na pohovory a myslel som ze to bude tak akurat na odhalenie ci je clovek pokrocily, ale ani po testnuti mojich kolegov to nebolo na 100% ako som cakal tak to hadzem sem na kritiku, vyjadrite sa co si o tom myslite, su to len 4 otazky na 10 minut.
Ja som ocakaval ze pre cloveka ktory si hovori ze je v javascript-e pokrocily by to mal dat na 4/4. TEST - Javascript
Majme nasledujúci kód v jazyku JavaScript:
var a = {"a": "b"};
var b = {"a": "b"};
var c = a;
var result = [a == b, a === b, a == c, a === c];
Po jeho vykonaní bude hodnota poľa result:
1. [true, true, true, true]
2. [true, false, true, false]
3. [false, false, true, true]
4. [false, true, false, true]
5. [false, false, false, false]
Majme nasledujúci kód v jazyku JavaScript:
function makeFunc() {
var i = 0;
function innerFunction() {
i += 2;
return i;
}
i += 5;
return innerFunction;
}
var myFunc = makeFunc();
var result1 = myFunc();
var result2 = myFunc();
Po jeho vykonaní budú budú hodnoty premenných:
1. result1 = undefined, result2 = undefined
2. result1 = 7, result2 = 12
3. result1 = 2, result2 = 2
4. result1 = 7, result2 = 7
5. result1 = 7, result2 = 9
Majme nasledujúci kód v jazyku JavaScript:
var a = 'set';
(function() {
b = 'set';
} ());
function myFunc() {
var c = 'set';
d = 'set';
}
myFunc();
Po jeho vykonaní budú hodnoty a, b, c, d nasledovné:
1. 'set', 'set', 'set', set'
2. 'set', undefined, undefined, undefined
3. 'set', 'set', 'set', undefined
4. 'set', 'set', undefined, 'set'
5. undefined, undefined, undefined, undefined
Majme nasledujúci kód v jayzku JavaScript:
var MyClass = function () {
this.method1 = function () {};
var method2 = function() {};
};
MyClass.method3 = function () {};
MyClass.prototype.method4 = function () {}
var myObj = new MyClass();
Napíšte čísla metód ktoré sú prístupné z objektu myObj.: |
||
| Chamurappi Profil |
#2 · Zasláno: 19. 7. 2013, 19:40:04
Reaguji na Richarda:
Myslím si, že je to férový test. Nejsou to žádné zákeřné chytáky, každá otázka zkoumá standardní pokročilou vědomost. Akorát u třetí otázky bych nesouhlasil s tím, že nejlepší možná odpověď je úplně správná, protože je rozdíl mezi proměnnou s hodnotou undefined a neexistující proměnnou.
|
||
| Radek9 Profil |
#3 · Zasláno: 19. 7. 2013, 19:41:42
Richard:
3) Není definováno, v jaké scope se budou hodnoty ověřovat. Jestli v global, pak 'set', 'set', ReferenceError, 'set'
4) Trochu kostrbatě zapsáno, ale jinak je to v pohodě. |
||
| Richard Profil * |
#4 · Zasláno: 19. 7. 2013, 20:16:02
[#2] Chamurappi
Diki za odpoved, tiez si hovorim ze to nie je zas tak zakerne. Totiz mal som hned chalana na pohovore, ktory ma v zivotopise "Javascript: expert" ... a z tychto otazok nedal ani jednu spravne, tak som si chcel overit ci vyzadujem normalne veci. Tu tretiu otazku este trochu prerobim, aby bolo jasne ktory scope myslim a pripadne tam hodim ten ReferenceError. V zasade si myslim ze clovek ktory by trochu experimentoval s platnostou premennych by vybral najlepsiu odpoved ... pripadne poznamku s ReferenceError by som samozrejme uznal, ale inak asi ten test teda necham :) [#3] Radek9 Dik za postrehy |
||
| llook Profil |
#5 · Zasláno: 19. 7. 2013, 20:42:23
Někdo může za pokročilou znalost JS považovat to, že dokáže na stránku přilepit několik jQuery plug-inů. :-) Ale jestli si říká "expert", tak bych od něj dal ruce pryč ne proto, že neumí JS, ale hlavně proto, že nemá soudnost.
Já jsem uhádl 3 ze 4. Doteď jsem měl za to, že se ty operátory chovají stejně, jako v PHP, tak teď jsem zase o něco chytřejší (v PHP je toto true: (object) [ 'a' => 'b'] == (object) [ 'a' => 'b']).
Pokud někdo aspiruje na pozici "JavaScript programátor", tak by tohle všechno asi měl vědět. Pokud něco z toho neví, tak ale stále můžou existovat dobré důvody, proč se na tu práci i tak hodí. Pokud někdo rozumí programování obecně, má bohaté zkušenosti s jinými jazyky, ale s JS teprve začíná, tak se může během krátké doby stát velmi užitečným... |
||
| Chamurappi Profil |
#6 · Zasláno: 19. 7. 2013, 20:46:52
Reaguji na llooka:
Jé, tebe jsem tu dlouho neviděl :-) Jsi tu jen na skok, nebo s námi budeš zase kvalitně zabíjet hodiny času? Reaguji na Richarda: „Totiz mal som hned chalana na pohovore, ktory ma v zivotopise "Javascript: expert"“ Někteří lidé mají dlouholeté zkušenosti s patláním, pak se považují za experty. Na mnoha pracovních pozicích jim to, co vědí, pak i stačí. |
||
| llook Profil |
#7 · Zasláno: 19. 7. 2013, 21:04:06
Chamurappi:
A jo, poslední příspěvek mám předtím z roku 2008. :-) Mám rozečtený Konec prokrastinace, ale zatím se mi to moc nedaří aplikovat, tak uvidíme... |
||
|
Časová prodleva: 3 dny
|
|||
| _es Profil |
Richard:
Po jeho vykonaní budú hodnoty a, b, c, d nasledovné: c“ chybu (Respektíve môže vyvolať, podľa toho, či v dokumente existuje aj iný JS kód a aké DOM elementy a v akom prehliadači). Aj pokus o nastavenie hodnoty neexistujúcej premennej môže v niektorých prehliadačoch v niektorých prípadoch vyvolať chybu („premenné“ b a d): InnerHTML problém v IE8. Môže to ešte aj komplikovať „striktný“ režim: www.zdrojak.cz/clanky/co-prinasi-novy-ecmascript-5-dokonceni, msdn.microsoft.com/cs-cz/library/br230269%28v=vs.94%29.aspx, developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Functions_and_function_scope/Strict_mode. Otázka je teda nekorektná.
Napíšte čísla metód ktoré sú prístupné z objektu myObj.: myObj.method1() a myObj.method4(), funguje však aj myObj.constructor.method3().
|
||
|
Časová prodleva: 13 let
|
|||
0