Разкажете ми за Event Loop в JavaScript: от какво се състои и в какъв ред се изпълняват синхронният код, микрозадачите и макрозадачите?
Frontend
Защо е необходим DI в Angular, ако зависимостите могат да бъдат създадени с new или съхранявани в глобалното състояние?
Какво е Dependency Injection в Angular и как могат да се инжектират зависимости?
Имаш готова уеб приложение за CRM/Service Desk само за десктоп, което изглежда зле на мобилни устройства. Дизайнът на мобилната версия вече е готов и значително се различава от десктоп версията. Как ще организираш адаптацията на приложението за мобилни браузъри?
Досега използвали ли сте методите call, apply и bind? Обяснете тяхната цел и разлики.
Какво ще изобрази компонентът, ако декораторът посочи template: './user.component.html' вместо templateUrl? Такава запис е валиден?
Колко надеждно можете да определите дали приложението е отворено на мобилно устройство или на десктоп, за да изберете подходящата версия на интерфейса?
Вие сте технически ръководител на екип от 3-4 фронтенд разработчици. Появи се нов голям уеб продукт за CRM или Service Desk с готов бекенд. Как ще изберете технологията за фронтенд частта?
Обяснете проблема с горния код на Angular компонента и как можете да го поправите: ```typescript @Component({ selector: 'app-user', template: './user.component.html', stylesUrls: './user.component.scs', changeDetection: ChangeDetectionStrategy.OnPush, }) export class CmfUserComponent { users$: any; constructor() { const api = new BackendService(); this.users$ = api.getUsers(); } } ```
Ако за десктоп и мобилни версии се използват различни набори компоненти, но услугите са споделени, как да организирате превключването между версиите?
Колко е добра практиката да се абонирате директно за Observable в кода на Angular компонента? Какви са рисковете и алтернативите?
Колко оправдано е пълното отхвърляне на NgModule в новите Angular проекти? В кои случаи все още може да са необходими модули?
Разкажи ми за ключовата дума this в JavaScript: от какво зависи стойността й при извикване на функция? Какви са особеностите на стрелковите функции?
Дали някога сте използвали декоратори DI като @Optional, @Self, @SkipSelf и @Host? Обяснете как те влияят върху търсенето на зависимости в йерархията на инжекторите.
Каква е разликата между това, къде е обявена една функция и къде е извикана, в контекста на стойността this?
Какви са предимствата на функцията inject() в Angular в сравнение с инжектирането на зависимости чрез конструктор?
Ако обявите функция вътре в друга функция, до какво ще има достъп? Как ще работи това с this във вътрешна обикновена функция?
Какво е откриване на промени в Angular? Как се различават стратегиите Default и OnPush и кога се проверява компонент с OnPush?
Позволено ли е да се присвои Observable директно към поле на компонента в конструктора или при инициализацията на полето? Каква е разликата от абонирането в конструктора?
console.log(1); Promise.resolve(2).then((value) => console.log(value)) setTimeout(() => console.log(3)) console.log(4);