Obsah[Skryť][Šou]
- 1. Čo pre vás znamená JavaScript?
- 2. Vymenujte dve základné programovacie paradigmy pre vývoj JavaScriptu.
- 3. Čo odlišuje JavaScript od Java?
- 4. Aké formy údajov podporuje JavaScript?
- 5. Aké vlastnosti má JavaScript?
- 6. Aké sú nevýhody používania JavaScriptu?
- 7. Ako vám JavaScript umožňuje postaviť objekt?
- 8. Ako v JavaScripte vytvoríte pole?
- 9. Ako definovať funkciu názvu v JavaScripte a čo to je?
- 10. V JavaScripte popíšte zdvíhanie.
- 11. Čo znamenajú rozsahy JavaScriptu premennej?
- 12. Čo je rýchlejšie, skript ASP alebo JavaScript?
- 13. Popíšte, ako sa prototypová dedičnosť líši od klasickej dedičnosti.
- 14. Napíšte program, ktorý bude dynamicky pridávať nové komponenty.
- 15. Spätné volanie: Čo je to?
- 16. Ako možno odladiť program JavaScript?
- 17. Uzáver: Čo je to? Dajte ilustráciu.
- 18. Aké metódy existujú na zahrnutie kódu JavaScript do súboru HTML?
- 19. Ako fungujú časovače v JavaScripte?
- 20. Aký je váš názor na cookies?
- 21. Ako by sa robili koláčiky?
- 22. Aké sú konvencie pomenovávania premenných v jazyku JavaScript?
- 23. Čo odlišuje let a var od seba?
- 24. Prečo existujú samovyvolávacie funkcie?
- 25. Čo odlišuje vlastnosť od atribútov?
- 26. Čo robia funkcie šípok v JavaScripte?
- 27. Aký je jazyk, ktorý sa píše na stroji?
- 28. V JavaScripte popíšte NEGATÍVNE NEKONEČNO.
- 29. Čo odlišuje nedefinované od null?
- 30. Napíšte nejaký JavaScript kód, aby ste ukázali, ako získať vnútorné HTML prvku.
- 31. Aké sú niektoré rámce JavaScriptu?
- 32. Čo je to bublanie udalosti v JavaScripte?
- 33. Čo znamená zapamätanie JavaScriptu?
- 34. Čo znamená dovoz a vývoz?
- 35. Čo je to „prísny“ režim JavaScriptu a ako sa aktivuje?
- 36. Čo dosiahne operátor instanceof?
- 37. Čo v JavaScripte znamená pole výzvy?
- 38. Čo robí generátor v JavaScripte?
- 39. BOM: Čo je to?
- 40. Odložené skripty: Akú funkciu plnia v JavaScripte?
- záver
Bezplatným a otvoreným programovacím jazykom je JavaScript. Je určený na vytváranie webových aplikácií. Je ľahký a interpretovateľný, vďaka čomu je oveľa rýchlejší ako iné jazyky.
Je jednoduchšie použiť JavaScript webové aplikácie kvôli integrácii HTML. Ak chcete zistiť, aké dôležité je to, zakážte JavaScript vo svojom prehliadači a skúste načítať stránku.
Tieto webové stránky nebudú správne fungovať. Ich obsah sa často správa zle. Takmer všetky moderné prehliadače kombinujú HTML, CSS a JavaScript.
JavaScript je jedným z interpretovaných programovacie jazyky. Tlmočník je už súčasťou mnohých prehliadačov vrátane Google Chrome, Microsoft Internet Explorer a ďalších.
Jeho kód teda môže spracovať JavaScript Engine prehliadača. Tu sú otázky a odpovede na pohovor s JS pre začiatočníkov až expertov, ak ste pripravení na pohovor.
Účelom toho istého je predstaviť vám typy otázok, s ktorými sa môžete stretnúť počas technického pohovoru. Poďme začať.
1. Čo pre vás znamená JavaScript?
Najpoužívanejším webovým skriptovacím jazykom, ktorý sa používa na programovanie na strane klienta aj na strane servera, je JavaScript. Kód JavaScript možno umiestniť do stránok HTML, ktoré webové prehliadače dokážu pochopiť a spustiť, pričom podporujú funkcie objektovo orientované programovanie.
2. Vymenujte dve základné programovacie paradigmy pre vývoj JavaScriptu.
Programovanie pomocou JavaScriptu, jazyka s viacerými paradigmami, umožňuje:
- procedurálne/imperatívne programovanie
- Objektovo orientované programovanie (OOP)
- Pomocou funkčného programovania
- Programovací prístup založený na prototype alebo dedičnosť založená na prototype (rozšírenie OOP)
3. Čo odlišuje JavaScript od Java?
Zatiaľ čo JavaScript je primárne skriptovací jazyk, Java je programovací jazyk. Java je programovací jazyk, ktorý používajú vývojári na vytváranie programov, ktoré môžu bežať na operačnom systéme počítača, virtuálnom stroji alebo webovom prehliadači. Na rozdiel od toho je kód JS navrhnutý tak, aby sa spúšťal iba v prehliadači.
Ale pomocou Electron a Node.js je možné vytvoriť nezávislé desktopové aplikácie v JavaScripte. Java a JS kód sa výrazne líšia v tom, že druhý je dostupný v textovom formáte, zatiaľ čo prvý vyžaduje kompiláciu.
4. Aké formy údajov podporuje JavaScript?
Typy údajov, ktoré JavaScript podporuje, zahŕňajú:
- Reťazec
- symbol
- číslo
- objekt
- Nedefinované
- Null
- boolean
5. Aké vlastnosti má JavaScript?
Je to bezplatný a univerzálny skriptovací jazyk.
Je to interpretovaný programovací jazyk, ktorý je ľahký.
Je určený na vytváranie aplikácií zameraných na sieť.
Obe sú prepojené a dopĺňajú sa s Javou.
6. Aké sú nevýhody používania JavaScriptu?
Kódovači so skúsenosťami budú môcť diskutovať o nedostatkoch svojho preferovaného jazyka okrem vychvaľovania jeho predností. Bezpečnosť je najhoršou chybou JavaScriptu. Hľadajte informácie o tom, ako sa to dá zneužiť.
Ďalšou nevýhodou JavaScriptu je jeho široké použitie a prispôsobivosť, čo môže byť dvojsečná zbraň, pretože ponecháva veľa priestoru na programovanie zvláštností, ktoré by mohli viesť k nerovnomernému výkonu na rôznych systémoch.
7. Ako vám JavaScript umožňuje postaviť objekt?
Myšlienka objektov je dobre podporovaná JavaScriptom. Pomocou objektového literálu môžete vytvoriť objekt, ako je znázornené nižšie:
8. Ako v JavaScripte vytvoríte pole?
Literál poľa možno použiť na definovanie polí takto:
9. Ako definovať funkciu názvu v JavaScripte a čo to je?
Keď je definovaná pomenovaná funkcia, okamžite definuje názov. Pomocou kľúčového slova function ju možno opísať nasledovne:
10. V JavaScripte popíšte zdvíhanie.
Všetky deklarácie premenných a funkcií sú v JavaScripte štandardne posunuté nahor, čo je známe ako zdvíhanie. To znamená, že všetky premenné a funkcie, bez ohľadu na to, kde sú definované, sú premiestnené na vrchol rozsahu. Dosah môže byť miestny alebo medzinárodný.
11. Čo znamenajú rozsahy JavaScriptu premennej?
Časť vášho programu, kde je definovaná premenná, je rozsah premennej. Premenná jazyka JavaScript môže mať iba dva rozsahy.
- Globálne premenné: Všade v kóde JavaScript môžete vidieť globálnu premennú, pretože má globálny rozsah.
- Lokálne premenné: Lokálna premenná bude viditeľná iba v rámci funkcie, v ktorej je deklarovaná. Lokálne pre túto funkciu sú argumenty funkcie vždy prítomné.
12. Čo je rýchlejšie, skript ASP alebo JavaScript?
Rýchlejší je JavaScript. JavaScript je možné spustiť bez pomoci webového servera, pretože ide o jazyk na strane klienta. Keďže je však ASP jazyk na strane servera, bude vždy pomalší ako JavaScript. V súčasnosti je JavaScript aj jazyk na strane servera (nodejs).
13. Popíšte, ako sa prototypová dedičnosť líši od klasickej dedičnosti.
JavaScript má úžasnú schopnosť zbaviť sa prísnych obmedzení tradičného dedenia a umožniť objektom dediť atribúty od iných objektov. –
- Klasická dedičnosť: Pomocou kľúčového slova „new“ vytvorí funkcia konštruktora inštanciu. Atribúty rodičovskej triedy sa odovzdajú tejto novej inštancii.
- Prototypová dedičnosť: Existujúci objekt, ktorý funguje ako prototyp, sa skopíruje, aby sa vygenerovala inštancia. Pre túto inštanciu môže byť výhodné selektívne dedenie zo širokej škály objektov, ktoré sa často vytvárajú pomocou továrenskej funkcie alebo „Object.create()“.
14. Napíšte program, ktorý bude dynamicky pridávať nové komponenty.
15. Spätné volanie: Čo je to?
Jednoduchá funkcia JavaScript odoslaná ako argument alebo možnosť metóde sa nazýva spätné volanie. Pojem „spätné volanie“ sa vzťahuje na funkciu, ktorá sa má vykonať po dokončení inej funkcie. Funkcie sú objekty v JavaScripte. Objekty JavaScriptu sú funkcie. Funkcie teda môžu vracať iné funkcie a prijímať iné funkcie ako vstupy.
16. Ako možno odladiť program JavaScript?
Stlačením príslušného klávesu, zvyčajne klávesu F12, všetky súčasné webové prehliadače, vrátane Chrome, Firefox a ďalších, prichádzajú s vloženým debuggerom, ktorý možno kedykoľvek použiť.
Používatelia môžu využívať rôzne funkcie, ktoré ponúkajú nástroje na ladenie. Editor kódu, ktorý používame na vytváranie aplikácií JavaScript, nám tiež umožňuje odstraňovať problémy s kódom JavaScript.
17. Uzáver: Čo je to? Dajte ilustráciu.
Keď sa k premennej špecifikovanej mimo aktuálneho rozsahu pristupuje z rozsahu, ktorý je v ňom, vytvoria sa uzávery. Umožňuje vám prístup k rozsahu vonkajšej funkcie z vnútornej funkcie.
Zakaždým, keď sa funkcia vygeneruje v JavaScripte, vytvorí sa aj uzáver. Jednoducho napíšte funkciu v rámci inej funkcie, odkryte ju a potom ju použite na implementáciu uzáveru.
18. Aké metódy existujú na zahrnutie kódu JavaScript do súboru HTML?
Kód JavaScript možno vložiť primárne jedným z dvoch spôsobov:
- Keď sa na webovej stránke vyžaduje iba niekoľko riadkov skriptovania, môžeme napísať kód JavaScript do prvku skriptu v rovnakom súbore HTML.
- Ak chcete na webovú stránku pridať všetky funkcie skriptovania bez upchatia kódu, môžeme importovať zdrojový súbor JavaScriptu do dokumentu HTML.
19. Ako fungujú časovače v JavaScripte?
Časovače sa používajú na spustenie alebo opakovanie časti kódu vo vopred určenom čase. Používajú sa na to metódy setTimeout, setInterval a clearInterval.
Pomocou funkcie setTimeout(funkcia, oneskorenie) sa nastaví časovač, ktorý spustí určitú funkciu po zadanom oneskorení. Funkcia setInterval(funkcia, oneskorenie) opakovane spúšťa zadanú funkciu v zadanom oneskorení a zastaví sa až po zrušení.
Časovač sa má ukončiť pomocou metódy clearInterval(id). Keďže časovače sú spustené v jednom vlákne, udalosti sa môžu zaradiť do frontu a čakať na vykonanie.
20. Aký je váš názor na cookies?
Súbor cookie je často malý údaj, ktorý webová lokalita odošle do počítača používateľa a ktorý tam uloží webový prehliadač, ktorý bol použitý na návštevu stránky.
Súbory cookie sa používajú na zaznamenávanie aktivít pri prezeraní webových stránok a na zapamätanie informácií pre neskoršie použitie.
21. Ako by sa robili koláčiky?
Nasleduje najjednoduchšia metóda JavaScriptu na generovanie súborov cookie:
22. Aké sú konvencie pomenovávania premenných v jazyku JavaScript?
Pri pomenovávaní premenných v JavaScripte musíte dodržiavať nasledujúce pravidlá:
Akékoľvek vyhradené kľúčové slová JavaScriptu by sa nemali používať ako názvy premenných. Napríklad názvy premenných končiace na break alebo boolean sú neplatné.
Názov premennej v JavaScripte by nemal začínať číslom (0-9). Musia začínať písmenom alebo znakom podčiarknutia.
Napríklad 123name nie je prijateľný názov premennej, hoci _123name alebo name123 áno. V názvoch premenných JavaScriptu záleží na veľkosti písmen. Napríklad test a test sú dve odlišné premenné.
23. Čo odlišuje let a var od seba?
V JavaScripte možno deklarácie premenných a metód vykonať pomocou let alebo var. Jediný skutočný rozdiel medzi týmito dvoma je, že kľúčové slovo let je ohraničené blokom, zatiaľ čo kľúčové slovo var je ohraničené funkciou.
24. Prečo existujú samovyvolávacie funkcie?
Inými názvami sú výrazy okamžite vyvolaných funkcií alebo samoobslužné anonymné funkcie. Tieto funkcie sú známe ako „vlastné vyvolávacie funkcie“, pretože ich kód volá automaticky.
Napíšeme funkciu a zavoláme ju. Anonymné funkcie však možno použiť, ak chceme, aby sa funkcia spúšťala automaticky po vysvetlení a ak ju už nebudeme používať. Niektoré funkcie navyše nemajú názov.
25. Čo odlišuje vlastnosť od atribútov?
Atribúty objektov JS DOM fungujú podobne ako premenné inštancie pre určité komponenty. Vlastnosť môže zahŕňať rôzne druhy údajov.
K vlastnostiam sa dostanete interakciou s objektom vo Vanilla JS alebo pomocou funkcie prop() jQuery.
Atribúty sa nachádzajú v HTML, nie v DOM. Sú porovnateľné s vlastnosťami, ale majú menšiu schopnosť. Ak sú vlastnosti dostupné, odporúča sa pracovať s nimi pred prácou s atribútmi.
Atribút je dátový typ reťazca, na rozdiel od vlastnosti.
26. Čo robia funkcie šípok v JavaScripte?
V JavaScripte sú šípkové funkcie rýchlym a jasným spôsobom zápisu funkcií. Funkcia šípky má nasledujúcu všeobecnú syntax:
27. Aký je jazyk, ktorý sa píše na stroji?
V typizovaných jazykoch sú hodnoty, nie premenné, vo vzájomnom vzťahu. Existujú dve kategórie:
Dynamicky: Na rozdiel od JS, kde premenná môže prijať číslo alebo reťazec, to umožňuje, aby premenná obsahovala veľa druhov.
Staticky: V tomto môže premenná uložiť iba jeden typ; napríklad v jazyku Java môže reťazcová premenná uložiť iba určitú množinu znakov.
28. V JavaScripte popíšte NEGATÍVNE NEKONEČNO.
Keď je záporné celé číslo delené 0, v JS sa vytvorí statická vlastnosť NEGATIVE INFINITY, ktorá vznikne. Toto sú niektoré z jeho kľúčových vlastností:
Na prístup k NEGATIVE INFINITY nie je potrebné vytvárať žiadne ďalšie objekty.
Hodnota vlastnosti NEGATIVE INFINITY zodpovedá zápornej hodnote vlastnosti nekonečno pre globálny objekt.
29. Čo odlišuje nedefinované od null?
Nedefinovaný označuje deklarovanú premennú, ktorej ešte nebola pridelená hodnota. Null je na druhej strane hodnota priradenia. Môže byť použitý na označenie žiadnej hodnoty a môže byť priradený k premennej.
Nedefinovaný je typ sám o sebe (nedefinovaný), zatiaľ čo null je objekt. Nedefinované a null sú tiež dva rôzne druhy.
30. Napíšte nejaký JavaScript kód, aby ste ukázali, ako získať vnútorné HTML prvku.
31. Aké sú niektoré rámce JavaScriptu?
Aplikačný rámec vytvorený v JavaScripte je známy ako rámec JavaScriptu. V zmysle kontrolný tok, líši sa od knižnice JavaScript. K dispozícii je niekoľko rámcov JavaScriptu, avšak medzi tie najobľúbenejšie patria:
- Hranatý
- Reagovať
- Vue
32. Čo je to bublanie udalosti v JavaScripte?
Keď sa udalosť stane v jednom prvku v inom prvku a oba prvky zaregistrovali handle pre túto udalosť, HTML DOM API používa prebublávanie udalostí ako metódu šírenia udalosti.
Keď dôjde k prebublávaniu, udalosť je najprv detegovaná a spracovaná najvnútornejším prvkom predtým, ako je odovzdaná okolitým komponentom.
Počnúc touto udalosťou sa vykonávanie presunie do nadradeného prvku. Potom jeho nadradený prvok dostane vykonanie a tak ďalej až do prvku tela.
33. Čo znamená zapamätanie JavaScriptu?
Zapamätanie je metóda optimalizácie, ktorá zrýchľuje váš kód tým, že ukladá výsledky drahých volaní funkcií a znova ich používa, keď sa znova dostane rovnaký vstup.
Funkcia sa označuje ako nákladná, ak jej vykonanie vyžaduje veľa času a pamäte, pretože vykonáva zložité výpočty. Vyrovnávacia pamäť sa okamžite naplní výsledkom drahého volania funkcie.
Rovnaká funkcia obíde potrebný výpočet a vráti hodnotu uloženú vo vyrovnávacej pamäti, ak sa znova zavolá s rovnakými vstupnými parametrami.
Pretože funkcia nemusí opakovať žiadne výpočty alebo výpočty, ktoré už vykonala, táto metóda výrazne šetrí čas a pamäť, ktoré váš program používa.
34. Čo znamená dovoz a vývoz?
Pomocou importov a exportov dokážeme vytvoriť modulárny JavaScript kód. Náš kód môžeme rozdeliť do niekoľkých súborov pomocou importov a exportov. Príklady zahŕňajú
35. Čo je to „prísny“ režim JavaScriptu a ako sa aktivuje?
Pomocou prísneho režimu môžete zlepšiť kontrolu chýb vo svojom kóde.
Keď používate prísny režim, nemôžete pridávať vlastnosti k nerozšíriteľným objektom, priraďovať hodnoty vlastnostiam iba na čítanie, využívať implicitne deklarované premenné ani priraďovať hodnoty premenným iba na čítanie.
Ak spustíte súbor, program alebo funkciu s „použiť prísne“, môžete aktivovať prísny režim.
36. Čo dosiahne operátor instanceof?
Operátor instanceof určuje, či reťazec prototypu objektu má nejaké inštancie vlastnosti prototypu konštruktora. Inými slovami, operátor instanceof určuje za behu, či je objekt inštanciou triedy.
Operátor instanceof sa v nižšie uvedenom príklade používa na určenie typu používateľov premennej.
37. Čo v JavaScripte znamená pole výzvy?
Výzvové pole je pole s textovým poľom, ktoré umožňuje používateľovi zadať vstup. Pomocou funkcie prompt() sa zobrazí dialógové okno so žiadosťou o zadanie. Ak potrebujete, aby používateľ pred zobrazením stránky zadal hodnotu, použite pole s výzvou.
Ak chcete pokračovať, musí používateľ vybrať „OK“ alebo „Zrušiť“ vo vyskakovacom okne, ktoré sa zobrazí po zadaní hodnoty.
38. Čo robí generátor v JavaScripte?
Generátory sú funkcie, ktoré možno použiť v rôznych časoch. Kontext a premenné väzby týchto funkcií sú uložené a udržiavané počas opakovaných vstupov.
Počiatočné volanie funkcie generátora vráti konkrétny druh iterátora nazývaného generátor. Ďalším krokom je zavolanie ďalšej metódy generátora na použitie hodnoty. Kým nenarazí na kľúčové slovo výnos, funkcia generátora pokračuje v činnosti.
39. BOM: Čo je to?
Kusovník alebo objektový model prehliadača umožňuje používateľom interakciu s prehliadačmi, v ktorých okno slúži ako prvý objekt. Okrem iných funkcií má objekt okna dokument, históriu, obrazovku, navigátor a umiestnenie.
K funkcii okna je však možné pristupovať priamo aj pomocou odkazu na okno.
40. Odložené skripty: Akú funkciu plnia v JavaScripte?
Prehliadač začne analyzovať kód HTML pri načítaní stránky. V predvolenom nastavení prehliadač pozastaví analýzu kódu HTML, keď narazí na skript a namiesto toho začne skript spúšťať.
Po dokončení skriptu prehliadač obnoví spracovanie kódu HTML.
Načítanie stránky bude oneskorené pomalým serverom alebo veľkým skriptom. Odložené skripty odložia spustenie skriptu až po spracovaní dokumentu.
Toto oneskorenie pri vykonávaní skriptu skracuje čas potrebný na načítanie webovej stránky.
záver
Dúfame, že tieto otázky týkajúce sa pohovoru v jazyku JavaScript vám budú užitočné, či už ste vývojár, ktorý sa pripravuje na stretnutie, alebo náborový manažér, ktorý sa snaží nájsť správneho uchádzača.
Pamätajte, že technické znalosti a znalosti tvoria len malú časť náborového procesu. Aby ste sa uistili, že nájdete (alebo nájdete vhodného uchádzača) o prácu, predchádzajúce skúsenosti a mäkké zručnosti sú rovnako dôležité.
Uvedomte si, že často existuje niekoľko správnych odpovedí na otvorené otázky na pohovor v JavaScripte. Anketárov zaujíma zdôvodnenie vašich odpovedí, nielen odpoveď, ktorú ste si zapamätali.
Buďte pripravení na následné otázky o tom, ako ste dospeli k svojej odpovedi, a vždy buďte schopní vysvetliť svoj myšlienkový proces.
Pozrite sa na Séria rozhovorov s Hashdorkom za pomoc s prípravou na pohovor.
Arun
Páni, tento článok mi veľmi pomohol počas prípravy na Javascript Interview