48 top angularjs interview questions
Lista celor mai frecvente întrebări ale interviului AngularJS cu răspunsuri detaliate pentru începătorii și profesioniștii cu experiență:
AngularJS este unul dintre cele mai actuale cadre de dezvoltare web din întreaga lume.
În aproape fiecare interviu, va trebui să te lupți cu o concurență acerbă, pentru a atinge un nivel ridicat și pentru a-ți obține locul de muncă de vis. Prin urmare, ar trebui să vă pregătiți cu mult timp în avans.
Pentru a vă sprijini în această călătorie, am întocmit o listă cu cele mai frecvente întrebări ale interviului AngularJS împreună cu răspunsurile pe care intervievatorul dvs. le așteaptă în momentul interviului.
Citiți prin intermediul nostru serie de tutoriale AngularJS pentru o mai bună cunoaștere a conceptului. Instrument pentru transportoare pentru testarea AngularJS Aplicații a fost explicat în tutorialul nostru anterior.
Cele mai frecvente întrebări de interviu AngularJS
Mai jos este prezentată o listă cu întrebările și răspunsurile de top ale interviului pe AngularJS pentru a ajuta pe oricine să clarifice cu succes un interviu.
Să explorăm !!
Q # 1) Ce înțelegeți de AngularJS?
Răspuns: AngularJS este un cadru JavaScript care este utilizat pentru crearea de aplicații web bogate și extensibile.
Acesta rulează pe JavaScript și HTML simple, prin urmare nu aveți nevoie de alte dependențe pentru a-l face să funcționeze. AngularJS este perfect pentru aplicații cu o singură pagină (SPA). Este utilizat în principiu pentru legarea obiectelor JavaScript cu elemente HTML UI.
Q # 2) Definiți caracteristicile AngularJS.
Răspuns: Caracteristicile includ:
- Șablonul (Vizualizare)
- Domeniul de aplicare (model)
- Controlerul (controlerul)
- Servicii
- Filtre
- Directivele
Q # 3) Definiți legarea datelor.
Răspuns: Legarea datelor este o armonizare automată a datelor între componentele de vizualizare și model.
Q # 4) Distingeți între expresiile AngularJS și JavaScript.
Răspuns: Există mai multe diferențe între expresiile AngularJS și JavaScript:
- Putem scrie expresii AngularJS în HTML, dar nu putem scrie expresii JavaScript în HTML.
- Nu putem folosi iterații condiționale, bucle și excepții în AngularJS, dar putem folosi toate aceste proprietăți condiționale în expresiile JavaScript.
- Filtrele sunt acceptate în AngularJS, în timp ce filtrele nu sunt acceptate în JavaScript.
Q # 5) Scrieți toți pașii pentru a configura un n Aplicație unghiulară (în aplicație).
Răspuns: Pentru a configura o aplicație angulară, trebuie să urmăm anumiți pași, după cum se menționează mai jos:
- angular.module va fi creat la început.
- Un controler va fi atribuit modulului.
- Modulul va fi conectat cu șablonul HTML (adică UI sau View) cu o aplicație unghiulară (ng-app).
- Șablonul HTML va fi legat de controler (adică JS) cu o directivă ng-controller.
Q # 6) Ce sunt modulele unghiulare?
Răspuns: Modulele unghiulare definesc în mod colectiv o aplicație unghiulară în care putem scrie codul unghiular. Modulele conțin diferitele părți ale unei aplicații unghiulare. Un modul este creat de funcția angular.module în angular.
Q # 7) Care sunt scopurile directivei în AngularJS?
Răspuns: Trei domenii de directivă sunt disponibile în AngularJS.
Sunt:
- Domeniul părinte: Orice modificare pe care o faceți în directiva dvs. care provine din domeniul de aplicare părinte, se va reflecta și în domeniul de aplicare părinte și este, de asemenea, un domeniu implicit.
- Domeniul de aplicare al copilului: Este un domeniu imbricat care moștenește o proprietate din domeniul de aplicare părinte. De asemenea, dacă orice proprietăți și funcții din domeniul de aplicare nu sunt conectate cu directiva de domeniu părinte, atunci se creează o nouă directivă de domeniu secundar.
- Domeniu de aplicare izolat: Este reutilizabil și este utilizat atunci când construim o directivă autonomă. Este utilizat numai pentru uz privat și intern, ceea ce înseamnă că nu conține nicio proprietate a sferei părinte.
Q # 8) Cum putem partaja datele între controlere în AngularJS?
Răspuns: În primul rând, trebuie să creăm un serviciu. Serviciul este utilizat pentru a partaja datele între controlori în AngularJS într-un mod foarte lucid, ușor și rapid. Folosim evenimente, $ părinte, următorul frate și controler folosind un $ rootScope.
Q # 9) Care este ciclul de digestie în AngularJs?
Răspuns: Este o parte a procesului de legare a datelor în AngularJS. Compară versiunile vechi și noi ale valorii modelului domeniului de aplicare în fiecare ciclu de rezumat.
Ciclul de digestie este declanșat automat. De asemenea, putem îmbunătăți gradul de utilizare utilizând $ apply () dacă dorim să declanșăm manual ciclul de digestie.
Q # 10) Explicați diferențele dintre legarea unidirecțională și legătura bidirecțională.
Răspuns: Legarea unidirecțională este utilizată pentru a lega datele de la model la vizualizare fără a actualiza șablonul HTML sau a vizualiza automat.
Astfel, pentru a actualiza șablonul HTML, trebuie să scriem un cod personalizat care să actualizeze vizualizarea de fiecare dată când sunt conectate date de la model la vizualizare.
În timp ce, legarea bidirecțională este utilizată pentru a lega datele de la model la vizualizare și invers (adică vizualizare la model) actualizând automat șablonul HTML fără a scrie niciun cod personalizat.
Q # 11) Diferența dintre sessionStorage, cookie-uri și localStorage.
Răspuns: Diferențele sunt după cum urmează:
- SessionStorage - Datele sunt stocate pentru o anumită sesiune. Datele vor fi pierdute ori de câte ori fila browserului va fi închisă sau după o anumită sesiune. Dimensiunea maximă stocată poate fi de până la 5 MB.
- LocalStorage - Datele sunt stocate fără o dată de expirare. Datele pot fi șterse numai prin JavaScript sau prin ștergerea cache-ului browserului. Limita de stocare este maximă decât sessionStorage și cookie.
- Cookie-uri - Stochează datele care trebuie trimise înapoi la server cu unele solicitări. Expirarea cookie-ului variază în funcție de tipul și durata setate, fie de la server, fie de la client. Dimensiunea maximă stocată poate fi mai mică de 4KB.
Q # 12) Care este rolul $ routeProvider în AngularJS?
Răspuns: Este $ routeProvider care vă ajută să navigați între diferite pagini / linkuri fără a încărca separat pagina / linkul ori de câte ori un utilizator face clic pe un link.
Metoda ngRoute config () este utilizată pentru a configura routeProvider.
Q # 13) Care este diferența dintre $ scope și scope?
Răspuns: În AngularJS, $ scope este utilizat pentru a realiza injecția de dependență, iar domeniul de aplicare este utilizat pentru conectarea între View (adică HTML) și Controller (adică JS).
Q # 14) Cum se utilizează prefixele AngularJS $ și $$?
Răspuns: Variabila $$ din AngularJS este utilizată ca variabilă privată, deoarece este utilizată pentru a preveni coliziunea accidentală a codului cu codul utilizatorului.
În timp ce, prefixul $ poate fi utilizat pentru a indica funcționalitățile nucleului unghiular (cum ar fi o variabilă, parametru, proprietate sau metodă).
Q # 15) Unde putem implementa manipularea DOM în AngularJS?
Răspuns: Manipularea DOM se face în directive și, în afară de aceasta, nu ar trebui să existe în serviciile controlerului sau în altă parte.
Q # 16) Cum putem arăta că o variabilă de domeniu ar trebui să aibă o legare unică?
Răspuns: Pentru a afișa legarea unică trebuie să folosim „ :: ”În fața scopului.
Q # 17) Ce este SPA (aplicație cu o singură pagină) în AngularJS?
Răspuns: Este o aplicație web care încarcă o singură pagină HTML și actualizează dinamic pagina în timp ce utilizatorul se conectează cu aplicația.
Prin utilizarea AJAX și HTML, o aplicație web fluidă și receptivă poate fi creată de SPA, fără reîncărcări de pagini invariante. Prin aceasta, putem face interfață de utilizare receptivă, fără pâlpâire de pagină.
Q # 18) Câte tipuri de legături de date există în AngularJS?
Răspuns: AngularJS acceptă legarea atât într-un sens, cât și în două sensuri.
Într-un mod obligatoriu dacă schimbăm modelul de date, atunci nu va exista nicio schimbare dinamică pe care o veți vedea în vizualizare, dar în două moduri, va exista o schimbare dinamică ori de câte ori se va face o modificare în modelul de date.
Q # 19) Care sunt directivele obligatorii în AngularJs?
Răspuns: Directivele obligatorii includ:
- ng-bind
- ng-bind-html
- ng-bind-template
- de neobligabil
- ng-model
Q # 20) Explicați directivele ng-bind și ng-bind-html.
Răspuns:
ng-bind : Este o directivă care înlocuiește conținutul elementului HTML cu valoarea variabilei sau expresiei atribuite.
Conținutul elementului HTML se va modifica modificând valoarea variabilei sau a expresiei.
Este ca ({{expresie}}) și sintaxa pentru aceasta este,
ng-bind-html : Este o directivă care leagă conținutul de elementul HTML (vizualizare) într-un mod sigur. Serviciul $ sanitize este utilizat pentru a igieniza conținutul pentru a lega într-un element HTML. Pentru a face acest lucru, „angular-sanitize.js” trebuie inclus în aplicația noastră.
companii implicate în internetul lucrurilor
Sintaxa pentru a scrie acest lucru,
Q # 21) Explicați ng-bind-template și ng-non-bindable.
Răspuns:
ng-bind-template : Înlocuiește conținutul textului elementului prin interpolare a șablonului. Poate conține mai multe markupuri duble și buclate.
Neobligabil : Specifică AngularJS pentru a nu compila conținutul acestui element HTML și nodurile sale copil.
Q # 22) Explicați directiva ng-model în AngularJs.
Răspuns: Acesta poate fi un salt cu controlul formularului de intrare HTML personalizat (cum ar fi intrarea, textarea și selectarea) către datele aplicației. Oferă un comportament de validare a formularului cu legare bidirecțională.
< input ng-bind='expression' />
Q # 23) Definiți metoda Factory în AngularJS.
Răspuns: Este destul de similar cu service-ul, fabricile implementează un model de modul în care folosim o metodă din fabrică pentru a genera un obiect care este utilizat pentru construirea modelelor.
Într-o fabrică, un obiect metodă este returnat la sfârșit prin crearea unui nou obiect și adăugarea de funcții ca proprietăți.
Sintaxă :
module.factory(‘factoryName', function);
Q # 24) Ce este directiva ng-repeat în AngularJS?
Răspuns: Redă sau repetă o colecție de articole și creează elemente DOM. Monitorizează regulat sursa de date pentru a reda un șablon ca răspuns la o modificare.
Sintaxă:
{{stu.name}} {{stu. grade}}
Q # 25) Ce este un controler în AngularJS?
Răspuns: Un controler este o funcție JavaScript care este legată de domeniul de aplicare specificat. Angular creează un nou obiect controler și injectează noul domeniu ca dependență.
Un controler poate fi utilizat pentru a configura starea inițială a obiectului scop și pentru a adăuga comportament obiectului. Un controler nu poate fi utilizat pentru a partaja codul sau starea între controlere, dar în locul serviciului unghiular poate fi utilizat.
Q # 26) Ce sunt filtrele din AngularJS?
Răspuns: Lucrarea principală a filtrelor este modificarea datelor, astfel încât să poată fi îmbinate într-o expresie sau directivă utilizând un caracter de țeavă (este utilizat pentru aplicarea filtrelor într-un simbol unghiular al unei țevi care este (|) sau acesta este simbol).
Un filtru formatează valoarea unei expresii pentru un afișaj pentru utilizator. Ele pot fi utilizate în șabloane de vizualizare, controlere sau servicii și putem crea cu ușurință și propriul nostru filtru. Un filtru este un modul furnizat de AngularJS. Există nouă componente ale unui filtru care sunt furnizate de acesta.
Exemple: moneda, data, filtrul, JSON, limitTo etc.
Q # 27) Ce este directiva ng-App în AngularJS?
Răspuns: Este folosit pentru a defini aplicația AngularJs. Desemnează elementul rădăcină al aplicației și este păstrat lângă eticheta sau.
Putem defini orice număr de directive ng-app în documentul HTML, dar numai o singură aplicație AngularJS poate fi bootstrappată automat (auto-bootstrapped), iar celelalte aplicații trebuie bootstrappate manual.
Exemplu:
My first expression: {{157 + 122}}
Q # 28) Ce este ng-switch în AngularJS?
Răspuns: Este folosit pentru a schimba condiționat structura DOM pe un șablon care se bazează pe o expresie bazată pe scop.
Această directivă vă permite să afișați sau să ascundeți elementul HTML în funcție de expresie.
Q # 29) La ce folosește un eveniment cu dublu clic în AngularJs?
Răspuns: Vă permite să specificați comportamentul personalizat la un eveniment cu dublu clic al mouse-ului pe o pagină web. Îl putem folosi (ng-dblclick) ca un atribut al elementului HTML cum ar fi,
întrebări și răspunsuri la interviuri de testare mobilă
...
Q # 30) Ce sunt directivele ng-include și ng-click în AngularJs?
Răspuns:
ng-include ajută la includerea diferitelor fișiere pe pagina principală. Directiva ng-include include HTML dintr-un fișier extern.
Conținutul inclus va fi inclus ca noduri secundare ale elementului specificat. Valoarea atributului ng-include poate fi, de asemenea, o expresie, returnând un nume de fișier.
În mod implicit, fișierul inclus trebuie să fie localizat pe același domeniu ca și documentul.
ng-click poate fi folosit în scenarii cum ar fi când faceți clic pe un buton sau când doriți să efectuați orice operație. Acesta îi spune lui AngularJS ce trebuie să faceți când se face clic pe un element HTML.
Exemplu:
OK
Codul de mai sus va crește variabila de numărare cu una ori de câte ori se face clic pe buton.
Q # 31) Ce este un transfer de stare reprezentativă (REST) în AngularJs?
Răspuns: REST este un stil API care funcționează prin cererea HTTP.
Adresa URL solicitată identifică datele care urmează să fie operate, iar metoda HTTP identifică operația care urmează să fie efectuată. REST este mai degrabă un stil de API decât o specificație formală și există o mulțime de dezbateri și dezacorduri despre ceea ce este și nu RESTful, care este un termen folosit pentru a indica un API care urmează stilul REST.
AngularJS este flexibil cu privire la modul în care sunt consumate serviciile web RESTful.
Q # 32) Ce sunt API-ul global AngularJs?
Răspuns: Este o combinație a funcției JavaScript globale care este utilizată pentru a efectua sarcini precum compararea obiectelor, iterarea obiectelor și conversia datelor.
Există câteva funcții API comune, cum ar fi:
- unghiular. minuscule: Se convertește un șir în șir minuscul.
- unghiular. majuscule: Convertește un șir în șir mai mare.
- unghiular. isString: Va reveni adevărat dacă referința curentă este un șir.
- unghiular. isNumber: Va reveni adevărat dacă referința curentă este un număr.
Q # 33) Ce este o metodă de furnizor în AngularJs?
Răspuns: Un furnizor este un obiect care creează un obiect de serviciu, permițând să preia mai mult control.
Metoda $ get () este utilizată în furnizorul care returnează obiectul de serviciu. Numele serviciului și funcția din fabrică sunt argumentele care sunt transmise în metoda furnizorului. AngularJS folosește $ provide pentru a înregistra noi furnizori.
Sintaxă:
serviceApp.provider('logService', function ())
Q # 34) Ce este gestionarea evenimentelor?
Răspuns: Tratarea evenimentelor în AngularJs este foarte utilă atunci când doriți să creați aplicații AngularJs avansate.
Trebuie să gestionăm evenimentele DOM, cum ar fi clicurile mouse-ului, mișcările, apăsarea tastaturii, schimbarea evenimentelor etc. AngularJs are unele directive de ascultare, cum ar fi ng-click, ng-dbl-click, ng-mousedown, ng-keydown, ng-keyup etc.
Q # 35) Ce este AngularJs DOM?
Răspuns: AngularJs au unele directive care sunt folosite pentru a încapsula datele aplicației AngularJs într-un atribut dezactivat al elementelor HTML.
Exemplu: Directiva ng-disabled încapsulează datele aplicației cu atributele dezactivate ale elementului HTML DOM.
Click Me!
Button
{{ mySwitch }}
Q # 36) Care sunt atributele care pot fi utilizate în timpul creării unei noi directive AngularJs?
Răspuns: Există mai multe atribute care pot fi folosite în timpul unei noi directive de creare.
Ei includ:
- Șablon: Descrie un șablon inline ca un șir.
- Adresa URL a șablonului: Acest atribut specifică compilatorul HTML AngularJs pentru a înlocui directiva personalizată din interiorul unui șablon cu conținutul HTML situat într-un fișier separat.
- A inlocui: Înlocuiește elementul curent dacă condiția este adevărată dacă este falsă anexează această directivă la elementul curent.
- Transcludere: Vă permite să mutați copiii originali ai unei directive într-o locație din interiorul noului șablon.
- Domeniu de aplicare: Acesta creează un nou domeniu de aplicare pentru această directivă, mai degrabă decât moștenirea domeniului părinte.
- Controlor: Se creează un controler care publică un API pentru comunicarea între directive.
- Solicitați: Este nevoie de o altă directivă pentru a fi prezentă pentru a funcționa în mod eficient directiva actuală.
- Legătură: Se modifică rezultând instanțe ale elementelor DOM, adaugă ascultători de evenimente și configurează legarea datelor.
- Compila: Modifică șablonul DOM pentru caracteristici ale copiilor unei directive, ca atunci când este utilizat în alte directive. Funcția dvs. de compilare poate, de asemenea, să returneze funcții de legătură pentru a modifica instanțele de element rezultate.
Q # 37) Este posibil sau nu controlerele imbricate în AngularJs?
Răspuns: Da, este posibil, deoarece controlerele imbricate sunt bine definite într-o manieră clasificată în timpul utilizării unei vizualizări.
Î 38) AngularJS este potrivit pentru toate browserele?
Răspuns: Da, este compatibil cu toate browserele precum Safari, Chrome, Mozilla, Opera, IE etc., precum și cu browserele mobile.
Q 39) Definiți serviciile în AngularJS.
Răspuns: Serviciile AngularJS sunt obiectele sau funcțiile singleton care sunt utilizate pentru îndeplinirea sarcinilor definite. Acesta îmbrățișează unele idei corporative și aceste scopuri pot fi numite controlere, directive, filtre și așa mai departe.
Q 40) Explicați avantajele AngularJS.
Răspuns: Avantajele includ:
- Suportă formularul MVC.
- Organizați două moduri de legare a datelor folosind AngularJS.
- Sprijină comunicarea reciprocă client-server.
- Suportă simulări.
Q # 41) Diferența dintre servicii și fabrică.
Răspuns: Fabricile sunt funcții care returnează obiectul, în timp ce serviciile sunt funcții constructoare ale obiectului care este utilizat de un nou cuvânt cheie.
Sintaxă:
Fabrică - module.factory ('factoryName', funcție);
Serviciu - module.service („serviceName”, funcție);
Q # 42) Dacă atât fabrica cât și service-ul sunt echivalente, atunci când ar trebui să le folosesc?
Răspuns: Furnizorul de fabrică este preferat folosind un obiect, în timp ce un furnizor de servicii este preferat să utilizeze cu clasa.
Q # 43) Diferența dintre AngularJS și React.JS.
Răspuns: AngularJS este un framework JS bazat pe limbajul TypeScript lansat în octombrie 2010 de Google. Este un cadru complet gratuit și open source care este utilizat în proiecte SPA (adică proiecte cu o singură pagină).
React.JS este o bibliotecă javascript dezvoltată de Facebook în martie 2013 pentru crearea UI. Componentele React pot fi utilizate pe mai multe pagini, dar nu ca SPA (de exemplu, o aplicație cu o singură pagină).
Q # 44) Diferența dintre directiva ng-bind și ng-model.
Răspuns: directiva ng-bind are legături de date unidirecționale, datele curg doar de la obiect la UI, nu invers (adică $ scope >> view) și directiva ng-model are legături de date bidirecționale, fluxuri de date între UI la obiect și vice versa (adică $ scope >> vizualizare și vizualizare >> $ scope).
Q # 45) Care este diferența dintre AJAX și AngularJS?
Răspuns: AJAX înseamnă JavaScript asincron care este utilizat pentru trimiterea și obținerea de răspunsuri de la server fără a încărca pagina.
În timp ce, AngularJS este un cadru JavaScript tipografiat bazat pe limbaj, urmând modelul MVC.
Q # 46) Definiți ng-if, ng-show și ng-hide.
Răspuns: Directiva ng-if este folosită ca și cum clauza care elimină elementul HTML dacă expresia devine falsă.
Sintaxă
Directiva ng-show este utilizată pentru a afișa elementul HTML dacă expresia devine adevărată. Și dacă expresia devine falsă, atunci elementul HTML va fi ascuns.
Sintaxă
Directiva ng-hide este utilizată pentru a ascunde elementul HTML dacă expresia devine falsă.
Sintaxă
Atât ng-show, cât și ng-hide utilizează metoda proprietății de afișare.
Q # 47) Care este diferența dintre ngRoute și ui-router?
Răspuns: ngRoute este un modul dezvoltat de echipa angularJS care a făcut parte din cadrul angularJS de bază. În timp ce ui-router a fost dezvoltat de o comunitate terță parte pentru a depăși problemele ngRoute.
ngRoute este o rutare bazată pe locație sau URL, iar ui-router este o rutare bazată pe stări care permite vizualizări imbricate.
Q # 48) Cum se setează, se obțin și se șterg cookie-urile din AngularJs?
Răspuns: AngularJS are un modul numit ngCookies, deci înainte de a injecta ngCookies angular-cookies.js ar trebui să fie inclus în aplicație.
- Setați cookie-urile - Metoda Put este utilizată pentru a seta cookie-urile într-un format cheie-valoare.
$cookies.put(“username”, $scope.username);
- Obțineți cookie-uri - Metoda Get este utilizată pentru a obține cookie-uri.
$cookies.get(‘username’);
- Șterge cookie-uri - Metoda de eliminare este utilizată pentru a elimina cookie-urile.
$cookies.remove(‘username’);
Concluzie
Sunt sigur că acest articol v-ar fi ajutat să înțelegeți elementele de bază și nivelul avansat al AngularJS.
Acest set de întrebări și răspunsuri de interviu pe AngularJS enumerate aici vă va permite să spargeți cu succes orice interviu AngularJS la un nivel mai proaspăt, precum și la nivel de experiență. Acestea sunt întrebările frecvente care sunt puse în interviuri. Asta este tot pentru acum.
Acest articol vă va ajuta să spargeți și să faceți față oricărui interviu legat de AngularJS !! Sper că ți-a plăcut întreaga gamă de tutoriale din această serie AngularJS !!
Lectură recomandată
- Întrebări și răspunsuri la interviu
- Întrebări și răspunsuri la interviuri de testare ETL
- Câteva întrebări și răspunsuri dificile de testare manuală
- Cele mai bune 25 de întrebări și răspunsuri de interviu pentru testarea agilă
- Întrebări de interviu cu răspunsuri Spock (Cele mai populare)
- Câteva întrebări interesante despre testarea software-ului
- Top 20+ .NET Întrebări și răspunsuri la interviu
- Top 51 Întrebări și răspunsuri la interviu Bootstrap