Frontend Interview - собеседования по Javanoscript / Html / Css – Telegram
Frontend Interview - собеседования по Javanoscript / Html / Css
11.4K subscribers
2.1K photos
118 videos
319 files
530 links
Канал для подготовки к собеседованиям по фронтенду

Админ, сотрудничество, реклама: @seniorFrontPromo, @maria_seniorfront

Купить рекламу: https://telega.in/c/frontendinterview

Канал в реестре РКН:
https://rknn.link/su
Download Telegram
Какое предназначение файла package-lock.json?

package-lock.json автоматически создается для любых операций, когда npm изменяет дерево node modules или package.json. Он описывает точное дерево, которое было сгенерировано, так что последующие установки могут генерировать идентичные деревья, независимо от промежуточных обновлений зависимостей.

👉 @frontendInterview
Какое значение примет result?
Anonymous Quiz
21%
false
52%
SyntaxError
26%
true
Что такое запросы между источниками и CDN?

Запросы из разных источников, отправленные в другой домен (даже субдомен), протокол или порт требуют специальных заголовков с удаленной стороны. Эта политика называется «CORS»: совместное использование ресурсов между источниками.

CDN (сеть доставки контента) – это группа серверов, расположенных во многих местах. Эти серверы хранят дублированные копии данных, чтобы серверы могли выполнять запросы данных в зависимости от того, какие серверы находятся ближе всего к соответствующим конечным пользователям. CDN обеспечивают быстрое обслуживание и меньше подвержены влиянию высокого трафика.

👉 @frontendInterview
Что такое именованная функция в JavaScript и как ее определить?

Named Function Expression или NFE – это термин для Function Expression, у которого есть имя.

Например, давайте объявим Function Expression:
 let sayHi = function(who) {
alert(`Hello, ${who}`);
};
И присвоим ему имя:
 let sayHi = function func(who) {
alert(`Hello, ${who}`);
};
Чего мы здесь достигли? Какова цель этого дополнительного имени func?

Для начала заметим, что функция всё ещё задана как Function Expression. Добавление "func" после function не превращает объявление в Function Declaration, потому что оно все ещё является частью выражения присваивания.

Добавление такого имени ничего не ломает.

Функция все ещё доступна как sayHi():

 let sayHi = function func(who) {
alert(`Hello, ${who}`);
};

sayHi("John"); // Hello, John
Есть две важные особенности имени func, ради которого оно даётся:

1. Оно позволяет функции ссылаться на себя же.
2. Оно не доступно за пределами функции.
Какое значение примет result?
Anonymous Quiz
71%
true
29%
false
Getting Started with React VR

Эта книга является практическим руководством по разработке VR-приложений, используя React VR, с основным упором на браузеры. В ней описывается процесс создания 3D-графики с использованием Three.js, а также работа с библиотекой ReactVR для создания реалистичных объектов в виртуальной реальности. К концу чтения книги вы получите глубокие знания работы с виртуальной реальностью и полноценное рабочее VR-приложение.

👉 @frontendInterview
Настоящий этаж

Американцы - странные люди и этажи у них нумеруются не как у людей. Первый этаж у них является нулевым и отсутствует 13 этаж из-за суеверий. Создайте функцию, которая будет переводить номер этажа из американской системы в европейскую.

Примеры:
1 => 0
0 => 0
5 => 4
15 => 13
-3 => -3

👉 @frontendInterview
Beginning Progressive Web App Development

Современные веб-технологии предоставляют огромный набор инструментов, библиотек и фреймворков, способные сделать ваши приложения эффективными и надёжными. Благодаря примерам из книги вы научитесь улучшать производительность, доступность и адаптивность ваших приложений на любых устройствах. Из рассмотренных в книге технологий будут React, Vue.js, Angular, Ionic и многие другие. Также вы научитесь работать с API и уведомлениями.

👉 @frontendInterview
Объясните делегирование событий.

Делегирование событий — это приём, заключающийся в добавлении обработчиков событий к родительскому элементу, а не к дочерним элементам. Обработчик будет срабатывать всякий раз, когда событие будет запущено на дочерних элементах благодаря всплытию событий в DOM.

Преимущества этого приёма:
1. Экономит объем используемой памяти, т.к. для родительского элемента требуется только один обработчик.
2. Не нужно привязывать или убирать обработчики при добавлении и удалении элементов.

👉 @frontendInterview
Что выведется в консоль в строгом режиме?
Anonymous Quiz
33%
20
7%
null
26%
undefined
34%
Выведется ошибка
Объясните, как this работает в JavaScript

Нельзя в двух словах объяснить работу ключевого слова this; это одно из самых запутанных понятий в JavaScript. Говоря максимально простым языком, значение this зависит от того, как вызывается функция.

Применяются следующие правила:
1. Если ключевое слово new используется при вызове функции, this внутри функции является совершенно новым объектом.
2. Если для вызова/создания функции используются apply, call или bind, то this внутри функции — это объект, который передается в качестве аргумента.
3. Если функция вызывается как метод, например, obj.method(), то this — это объект, к которому принадлежит функция.
4. Если функция вызывается без контекста, то есть она вызывается без условий, описанных в пунктах выше, то this является глобальным объектом. В браузере это объект window. В строгом режиме (’use strict’), this будет undefined вместо глобального объекта.
5. Если применяются несколько из вышеперечисленных правил, то правило, которое выше выигрывает и устанавливает значение this.
6. Если функция является стрелочной функцией, то она игнорирует все вышеописанные правила и получает значение this из лексического окружения во время ее создания.

👉 @frontendInterview
No oddities here

Ваша задача - написать простую функцию, которая отсортирует массив чисел и оставит в нем только четные числа.

Примеры:
 noOdds( [0,1] ) => [0] 
noOdds( [0,1,2,3] ) => [0,2]

👉 @frontendInterview
Верно ли утверждение?
"Невозможно установить свойства background-color и background-image для одного элемента?
Anonymous Quiz
18%
Верно
82%
Неверно
Объясните, почему это не является IIFE: `function foo(){ }();`?
Что необходимо изменить, чтобы это стало IIFE?

IIFE расшифровывается как Immediately Invoked Function Expression — немедленно вызываемое функциональное выражение.
Синтаксический анализатор JavaScript читает function foo(){ } (); как function foo(){ } и ();, где первое выражение — это объявление функции, а второе (пара скобок) — попытка вызова функции, но так как имя не указано, он выдает ошибку Uncaught SyntaxError: Unexpected token.

Вот два способа исправить это, которые заключаются в добавлении дополнительных скобок: (function foo(){ })() и (function foo(){ }()).

Выражения, начинающиеся с function, считаются объявлениями функций. Оборачивая эту функцию внутри (), она становится функциональным выражением, которое затем может быть выполнено с последующим (). Подобные функции не отображаются в глобальной области видимости, и вы можете даже не указывать им имя, если вы не будете на них ссылаться.