48 top angularjs interview questions
Списък на най-често задаваните въпроси за интервю с AngularJS с подробни отговори за по-свежи и опитни професионалисти:
AngularJS е една от най-актуалните рамки за уеб разработка по света.
В почти всяко интервю ще трябва да се борите с ожесточена конкуренция, за да постигнете високо и да получите мечтаната работа. Следователно трябва да се подготвите предварително.
За да ви подкрепим в това пътуване, ние изготвихме списък с най-често задаваните въпроси за интервю за AngularJS заедно с отговорите, които вашият интервюиращ очаква по време на интервюто.
Прочетете нашите поредица от ръководства за AngularJS за повече познания по концепцията. Инструмент за транспортиране за тестване на AngularJS Приложения беше обяснено в предишния ни урок.
Най-често задавани въпроси за интервю за AngularJS
По-долу е даден списък с най-добрите въпроси за интервю и отговори на AngularJS, за да помогне на всеки да изчисти интервюто успешно.
Нека да изследваме !!
В # 1) Какво разбирате от AngularJS?
Отговор: AngularJS е JavaScript рамка, която се използва за създаване на богати и разширяеми уеб приложения.
Той работи на обикновен JavaScript и HTML, поради което не се нуждаете от други зависимости, за да работи. AngularJS е идеален за приложения с една страница (SPA). По принцип се използва за обвързване на JavaScript обекти с HTML UI елементи.
В # 2) Определете характеристиките на AngularJS.
Отговор: Функциите включват:
- Шаблонът (изглед)
- Обхват (модел)
- Контролерът (контролер)
- Услуги
- Филтри
- Директиви
В # 3) Дефинирайте обвързването на данни.
Отговор: Обвързването на данни е автоматично настройване на данни между изгледа и компонентите на модела.
В # 4) Разграничете изразите AngularJS и JavaScript.
Отговор: Има няколко разлики между изразите AngularJS и JavaScript:
- Можем да пишем изрази AngularJS в HTML, но не можем да пишем изрази на JavaScript в HTML.
- Не можем да използваме условни итерации, цикли и изключения в AngularJS, но можем да използваме всички тези условни свойства в изрази на JavaScript.
- Филтрите се поддържат в AngularJS, докато филтрите не се поддържат в JavaScript.
В # 5) Напишете всички стъпки за конфигуриране на a н Ъглово приложение (в приложението).
Отговор: За да настроим Angular App, трябва да следваме определени стъпки, както е споменато по-долу:
- angular.module ще бъде създаден в началото.
- Към модула ще бъде назначен контролер.
- Модулът ще бъде свързан с HTML шаблона (т.е. потребителски интерфейс или изглед) с ъглово приложение (ng-app).
- Шаблонът HTML ще бъде свързан с контролера (т.е. JS) с директива ng-controller.
В # 6) Какви са ъгловите модули?
Отговор: Ъгловите модули колективно дефинират ъглово приложение, където можем да напишем ъгловия код. Модулите съдържат различните части на ъглово приложение. Модулът се създава от функцията angular.module в angular.
В # 7) Какви са обхвата на директивите в AngularJS?
Отговор: В AngularJS са налични три обхвата на директивите.
Те са:
- Обхват на родителя: Каквато и промяна да направите във вашата директива, която идва от родителския обхват, тя ще се отрази и в родителския обхват и това също е обхват по подразбиране.
- Обхват на детето: Това е вложен обхват, който наследява свойство от родителския обхват. Също така, ако някакви свойства и функции в обхвата не са свързани с директивата за родителски обхват, тогава се създава нова дъщерна директива за обхвата.
- Изолиран обхват: Той е за многократна употреба и се използва, когато изграждаме самостоятелна директива. Използва се само за лична и вътрешна употреба, което означава, че не съдържа никакви свойства на родителския обхват.
В # 8) Как можем да споделяме данните между контролерите в AngularJS?
Отговор: Първо, трябва да създадем услуга. Услугата се използва за споделяне на данни между контролери в AngularJS по много ясен, лесен и бърз начин. Използваме събития, $ parent, следващ брат или сестра и контролер, като използваме $ rootScope.
В # 9) Какъв е цикълът на усвояване в AngularJs?
Отговор: Това е част от процеса на свързване на данни в AngularJS. Той сравнява старата и новата версия на стойността на модела на обхвата във всеки цикъл на обобщение.
Цикълът на усвояване се задейства автоматично. Също така можем да подобрим използваемостта, като използваме $ apply (), ако искаме ръчно да задействаме цикъла на усвояване.
Въпрос # 10) Обяснете разликите между еднопосочното обвързване и двупосочното обвързване.
Отговор: Еднопосочното обвързване се използва за свързване на данните от модела за преглед, без да се актуализира HTML шаблонът или изгледът автоматично.
По този начин, за да актуализираме HTML шаблона, трябва да напишем персонализиран код, който ще актуализира изгледа всеки път, когато данните се обвързват от модел в изглед.
Докато двупосочното обвързване се използва за обвързване на данните от модела за преглед и обратно (т.е. изглед за модел) чрез автоматично актуализиране на HTML шаблона без писане на персонализиран код.
В # 11) Разлика между sessionStorage, бисквитки и localStorage.
Отговор: Разликите са както следва:
- SessionStorage - Данните се съхраняват за определена сесия. Данните ще бъдат загубени, когато разделът на браузъра бъде затворен или след определена сесия. Максималният съхраняван размер може да бъде до 5MB.
- LocalStorage - Данните се съхраняват без срок на годност. Данните могат да бъдат изчистени само чрез JavaScript или чрез изчистване на кеша на браузъра. Ограничението за съхранение е максимално от sessionStorage и бисквитката.
- Бисквитки - Той съхранява данните, които трябва да бъдат изпратени обратно на сървъра с някои заявки. Срокът на действие на бисквитката варира в зависимост от вида и продължителността, зададени от страна на сървъра или от страна на клиента. Максималният съхраняван размер може да бъде по-малък от 4KB.
В # 12) Каква е ролята на $ routeProvider в AngularJS?
Отговор: Това е $ routeProvider, който помага при навигацията между различни страници / връзки, без отделно зареждане на страницата / връзката, когато потребителят щракне върху връзка.
Методът ngRoute config () се използва за конфигуриране на routeProvider.
В # 13) Каква е разликата между $ scope и scope?
Отговор: В AngularJS $ scope се използва за постигане на инжектиране на зависимост, а обхватът се използва за свързване между View (т.е. HTML) и Controller (т.е. JS).
В # 14) Как се използват AngularJS префиксите $ и $$?
Отговор: Променливата $$ в AngularJS се използва като частна променлива, тъй като се използва за предотвратяване на случайно сблъсък на код с потребителския код.
Докато префиксът $ може да се използва за обозначаване на ъглови основни функционалности (като променлива, параметър, свойство или метод).
В # 15) Къде можем да приложим DOM манипулацията в AngularJS?
Отговор: Манипулирането на DOM е в директиви и освен това не трябва да съществува в услугите на контролера или където и да е другаде.
В # 16) Как можем да покажем, че променливата на обхвата трябва да има само еднократно обвързване?
Отговор: За да покажем еднократно обвързване, трябва да използваме „ :: ”Пред обхвата.
В # 17) Какво е SPA (приложение на една страница) в AngularJS?
Отговор: Това е уеб приложение, което зарежда една HTML страница и динамично я актуализира, когато потребителят се свързва с приложението.
Чрез използването на AJAX и HTML може да се създаде флуидно и отзивчиво уеб приложение от SPA, без инвариантно презареждане на страници. Чрез това можем да направим реагиращ потребителски интерфейс без трептене на страница.
В # 18) Колко типа обвързване на данни има в AngularJS?
Отговор: AngularJS поддържа еднопосочно и двупосочно свързване.
По един начин обвързване, ако променим модела на данни, тогава няма да има динамична промяна, която ще видите в изглед, но по двупосочен обвързване ще има динамична промяна всеки път, когато в модела на данни ще бъде направена промяна.
В # 19) Какви са обвързващите директиви в AngularJs?
Отговор: Обвързващите директиви включват:
- ng-обвързване
- ng-bind-html
- ng-bind-template
- на невъзможност за свързване
- ng-модел
Въпрос # 20) Обяснете директивите ng-bind и ng-bind-html.
Отговор:
ng-обвързване : Това е директива, която замества съдържанието на HTML елемента със стойността на присвоената променлива или израз.
Съдържанието на HTML елемента ще се промени чрез промяна на стойността на променливата или израза.
Това е като ({{израз}}) и синтаксисът за това е,
ng-bind-html : Това е директива, която обвързва съдържанието с HTML елемента (изглед) по сигурен начин. Услугата $ sanitize се използва за дезинфекция на съдържанието, за да се обвърже с HTML елемент. За да направите това, ‘angular-sanitize.js’ трябва да бъде включен в нашето приложение.
най-добрият софтуер за възстановяване на данни за Windows
Синтаксис за писане на това,
Въпрос # 21) Обяснете ng-bind-template и ng-non-binvable.
Отговор:
ng-bind-template : Той замества текстовото съдържание на елемента чрез интерполация на шаблона. Може да съдържа множество двойни къдрави надценки.
Не може да се свързва : Той определя AngularJS да не компилира съдържанието на този HTML елемент и неговите дъщерни възли.
В # 22) Обяснете директивата ng-model в AngularJs.
Отговор: Това може да бъде скок с персонализиран контрол на формуляра за въвеждане на HTML (като въвеждане, текстово поле и избор) към данните на приложението. Той осигурява поведение за проверка на формата с двупосочно свързване.
< input ng-bind='expression' />
В # 23) Определете фабричния метод в AngularJS.
Отговор: Това е доста подобно на услугата, фабриките изпълняват модулен шаблон, в който използваме фабричен метод за генериране на обект, който се използва за изграждане на модели.
Във фабрика обектът на метод се връща в края чрез създаване на нов обект и добавяне на функции като свойства.
Синтаксис :
module.factory(‘factoryName', function);
В # 24) Какво представлява директивата ng-repeat в AngularJS?
Отговор: Той изобразява или итерира над колекция от елементи и създава DOM елементи. Той редовно следи източника на данни, за да изобрази отново шаблон в отговор на промяна.
Синтаксис:
{{stu.name}} {{stu. grade}}
В # 25) Какво представлява контролерът в AngularJS?
Отговор: Контролерът е функция на JavaScript, която е свързана с посочения обхват. Angular създава екземпляр на новия обект на контролера и инжектира новия обхват като зависимост.
Контролер може да се използва за настройка на първоначалното състояние на обекта на обхвата и за добавяне на поведение към обекта. Контролер не може да се използва за споделяне на код или състояние между контролери, но вместо тази Angular услуга може да се използва.
В # 26) Какво представляват филтрите в AngularJS?
Отговор: Основната работа на филтрите е да модифицират данните, така че те да могат да бъдат обединени в израз или директива чрез използване на символ на тръба (той се използва за прилагане на филтри в ъглов символ на тръба, който е (|) или това е символ).
Филтърът форматира стойността на израз за показване на потребителя. Те могат да се използват в шаблони за преглед, контролери или услуги, а ние лесно можем да създадем и собствен филтър. Филтърът е модул, предоставен от AngularJS. Има девет компонента на филтъра, които се осигуряват от него.
Примери: валута, дата, филтър, JSON, limitTo и др.
В # 27) Какво представлява директивата ng-App в AngularJS?
Отговор: Използва се за дефиниране на приложението AngularJs. Той назначава основния елемент на приложението и се съхранява близо до или тага.
Можем да дефинираме произволен брой директиви на ng-app в HTML документа, но само едно приложение AngularJS може да бъде автоматично заредено (автоматично заредено), а останалите приложения трябва да бъдат заредени ръчно.
Пример:
My first expression: {{157 + 122}}
В # 28) Какво представлява ng-switch в AngularJS?
Отговор: Използва се за условен обмен на структурата на DOM върху шаблон, който се основава на израз, базиран на обхват.
Тази директива ви позволява да показвате или скривате HTML елемента в зависимост от израза.
В # 29) Каква е ползата от събитие с двойно щракване в AngularJs?
Отговор: Тя ви позволява да зададете персонализирано поведение при двойно щракване на мишката на уеб страница. Можем да го използваме (ng-dblclick) като атрибут на HTML елемента като,
...
В # 30) Какво представляват директивите ng-include и ng-click в AngularJs?
Отговор:
ng-включва помага да се включат различни файлове на главната страница. Директивата ng-include включва HTML от външен файл.
Включеното съдържание ще бъде включено като дъщерни възли на посочения елемент. Стойността на атрибута ng-include също може да бъде израз, връщащ име на файл.
По подразбиране включеният файл трябва да се намира в същия домейн като документа.
ng-click може да се използва в сценарии, като например когато щракнете върху бутон или когато искате да извършите някаква операция. Той казва на AngularJS какво да прави, когато щракне върху HTML елемент.
Пример:
OK
Горният код ще увеличи променливата за броене с един при всяко щракване върху бутона.
Въпрос # 31) Какво представлява представителният трансфер на състояние (REST) в AngularJs?
Отговор: REST е API стил, който работи над HTTP заявката.
Заявеният URL адрес идентифицира данните, с които трябва да се работи, а HTTP методът идентифицира операцията, която трябва да бъде извършена. REST е по-скоро стил на API, отколкото формална спецификация и има много дебати и разногласия относно това, което е и какво не е RESTful, което е термин, използван за обозначаване на API, който следва стила REST.
AngularJS е гъвкав за това как се консумират RESTful уеб услуги.
В # 32) Какви са глобалните API на AngularJs?
Отговор: Това е комбинация от глобална JavaScript функция, която се използва за изпълнение на задачи като сравняване на обекти, итерация на обекти и конвертиране на данни.
Има някои често срещани API функции като:
- ъглова. малка буква: Той преобразува низ в низ с малки букви.
- ъглова. Главна буква: Той преобразува низ в главен низ.
- ъглова. isString: Ще върне вярно, ако текущата препратка е низ.
- ъглова. isNumber: Ще върне вярно, ако текущата препратка е число.
Въпрос # 33) Какво представлява методът на доставчик в AngularJs?
Отговор: Доставчикът е обект, който създава обект на услуга, като позволява да поеме повече контрол.
Методът $ get () се използва в доставчика, който връща обекта на услугата. Името на услугата и фабричната функция са аргументите, които се предават в метода на доставчика. AngularJS използва $ provide, за да регистрира нови доставчици.
Синтаксис:
serviceApp.provider('logService', function ())
В # 34) Какво представлява обработката на събития?
Отговор: Обработката на събития в AngularJs е много полезна, когато искате да създадете предварително приложения на AngularJs.
Трябва да обработваме DOM събития като щраквания на мишката, преместване, натискане на клавиатура, промяна на събития и т.н. AngularJs има някои директиви за слушане като ng-click, ng-dbl-click, ng-mousedown, ng-keydown, ng-keyup и т.н.
В # 35) Какво представлява AngularJs DOM?
Отговор: AngularJs имат някои директиви, които се използват за капсулиране на данните от приложението AngularJs към деактивиран атрибут на HTML елементите.
Пример: Директивата ng-disabled капсулира данните на приложението към деактивираните атрибути на HTML DOM елемента.
Click Me!
Button
{{ mySwitch }}
В # 36) Какви са атрибутите, които могат да се използват по време на създаването на нови директиви на AngularJs?
Отговор: Има няколко атрибута, които могат да се използват по време на създаването на нова директива.
Те включват:
- Шаблон: Той описва вграден шаблон като низ.
- URL адрес на шаблона: Този атрибут указва HTML компилатора на AngularJs, за да замени директивата по поръчка в шаблон с HTML съдържанието, намиращо се в отделен файл.
- Замяна: Той замества текущия елемент, ако условието е вярно, ако false добавя тази директива към текущия елемент.
- Прехвърляне: Тя ви позволява да преместите оригиналните дъщери на директива на място в новия шаблон.
- Обхват: Той създава нов обхват за тази директива, вместо да наследява родителския обхват.
- Контролер: Той създава контролер, който публикува API за комуникация между директивите.
- Изискване: Той изисква друга директива да присъства, за да функционира ефективно настоящата директива.
- Връзка: Той променя резултатите в екземпляри на DOM елементи, добавя слушатели на събития и настройва свързване на данни.
- Съставяне: Той модифицира шаблона DOM за функции в копия на директива, както когато се използва в други директиви. Вашата функция за компилиране може също да връща функции за връзка, за да модифицира получените екземпляри на елементи.
В # 37) Възможни ли са вложени контролери в AngularJs?
Отговор: Да, възможно е, тъй като вложени контролери са добре дефинирани по класифициран начин, докато се използва изглед.
В 38) Подходящ ли е AngularJS за всички браузъри?
Отговор: Да, той е подходящ за всички браузъри като Safari, Chrome, Mozilla, Opera, IE и др., Както и за мобилни браузъри.
В 39) Определете услугите в AngularJS.
Отговор: Услугите AngularJS са единичните обекти или функции, които се използват за изпълнение на определени задачи. Той обхваща някои корпоративни идеи и тези цели могат да се нарекат контролери, директиви, филтри и т.н.
В 40) Обяснете предимствата на AngularJS.
Отговор: Предимствата включват:
- Той поддържа MVC форма.
- Организирайте два начина за свързване на данни с помощта на AngularJS.
- Той поддържа взаимна комуникация клиент-сървър.
- Той поддържа симулации.
Q # 41) Разлика между услугите и фабриката.
Отговор: Фабриките са функции, които връщат обекта, докато услугите са конструкторски функции на обекта, който се използва от нова ключова дума.
Синтаксис:
Фабрика - module.factory (`factoryName`, функция);
Обслужване - module.service (`serviceName`, функция);
В # 42) Ако и фабриката, и услугата са еквивалентни, тогава кога да ги използвам?
Отговор: Фабричният доставчик е за предпочитане да използва обект, докато доставчикът на услуги е за предпочитане да използва с клас.
Q # 43) Разлика между AngularJS и React.JS.
Отговор: AngularJS е JS рамка, базирана на език TypeScript, пусната през октомври 2010 г. от Google. Това е напълно безплатна рамка и отворен код, който се използва в SPA проекти (т.е. проекти за едностранично приложение).
React.JS е javascript библиотека, разработена от Facebook през март 2013 г. за изграждане на потребителски интерфейс. Компонентите на React могат да се използват на няколко страници, но не и като SPA (т.е. приложение с една страница).
Q # 44) Разлика между директивата ng-bind и ng-model.
Отговор: Директивата ng-bind има еднопосочни обвързвания на данни, потоците от данни само от обект към потребителски интерфейс, а не обратно (т.е. $ scope >> view) и директивата ng-model има двупосочни обвързвания на данни, потоци от данни между потребителския интерфейс към обекта и порок обратно (т.е. $ scope >> изглед и преглед >> $ scope).
В # 45) Каква е разликата между AJAX и AngularJS?
Отговор: AJAX означава асинхронен JavaScript, който се използва за изпращане и получаване на отговори от сървъра без зареждане на страницата.
Докато AngularJS е базирана на езика на машинопис JavaScript рамка, следваща шаблона MVC.
Q # 46) Определете ng-if, ng-show и ng-hide.
Отговор: Директивата ng-if се използва като клауза, която премахва HTML елемента, ако изразът стане фалшив.
Синтаксис
Директивата ng-show се използва за показване на HTML елемента, ако изразът стане истина. И ако изразът стане фалшив, тогава HTML елементът ще бъде скрит.
Синтаксис
Директивата ng-hide се използва за скриване на HTML елемента, ако изразът стане фалшив.
Синтаксис
Както ng-show, така и ng-hide използват метода display property.
В # 47) Каква е разликата между ngRoute и ui-router?
Отговор: ngRoute е модул, разработен от екип на angularJS, който беше част от основната рамка на angularJS. Докато ui-router е разработен от трета общност за преодоляване на проблемите на ngRoute.
ngRoute е маршрутизация, базирана на местоположение или URL, а ui-router е маршрутизация, базирана на състояние, която позволява вложени изгледи.
В # 48) Как да зададете, вземете и изчистите бисквитки в AngularJs?
уебсайт на доставчика на данни за онлайн сделки
Отговор: AngularJS има модул, наречен ngCookies, така че преди да инжектирате ngCookies, angular-cookies.js трябва да бъде включен в приложението.
- Задайте бисквитки - Методът Put се използва за задаване на бисквитки във формат ключ-стойност.
$cookies.put(“username”, $scope.username);
- Вземете бисквитки - Методът Get се използва за получаване на бисквитки.
$cookies.get(‘username’);
- Изчистване на бисквитки - Методът за премахване се използва за премахване на бисквитки.
$cookies.remove(‘username’);
Заключение
Сигурен съм, че тази статия би ви помогнала да разберете основите и напредналото ниво на AngularJS.
Този набор от въпроси за интервюта и отговори за AngularJS, изброени тук, ще ви позволи да пробиете успешно всяко интервю за AngularJS на по-свежо и ниво на опит. Това са честите въпроси, които се задават в интервютата. Това е всичко за сега.
Тази статия ще ви помогне да пробиете и да се изправите пред всяко интервю, свързано с AngularJS !! Надявам се, че сте се насладили на цялата гама от уроци в тази серия AngularJS !!
Препоръчително четене
- Интервюирайте въпроси и отговори
- Въпроси и отговори за интервю за ETL тестване
- Някои сложни ръчни тестови въпроси и отговори
- 25 най-добри пъргави тестови интервюта Въпроси и отговори
- Спок интервю въпроси с отговори (най-популярни)
- Някои интересни въпроси за интервю за тестване на софтуер
- Топ 20+ .NET интервюта и отговори
- Топ 51 въпроси и отговори за интервю за Bootstrap