Какое предназначение файла package-lock.json?
package-lock.json автоматически создается для любых операций, когда npm изменяет дерево node modules или package.json. Он описывает точное дерево, которое было сгенерировано, так что последующие установки могут генерировать идентичные деревья, независимо от промежуточных обновлений зависимостей.
👉 @frontendInterview
package-lock.json автоматически создается для любых операций, когда npm изменяет дерево node modules или package.json. Он описывает точное дерево, которое было сгенерировано, так что последующие установки могут генерировать идентичные деревья, независимо от промежуточных обновлений зависимостей.
👉 @frontendInterview
Что такое запросы между источниками и CDN?
Запросы из разных источников, отправленные в другой домен (даже субдомен), протокол или порт требуют специальных заголовков с удаленной стороны. Эта политика называется «CORS»: совместное использование ресурсов между источниками.
CDN (сеть доставки контента) – это группа серверов, расположенных во многих местах. Эти серверы хранят дублированные копии данных, чтобы серверы могли выполнять запросы данных в зависимости от того, какие серверы находятся ближе всего к соответствующим конечным пользователям. CDN обеспечивают быстрое обслуживание и меньше подвержены влиянию высокого трафика.
👉 @frontendInterview
Запросы из разных источников, отправленные в другой домен (даже субдомен), протокол или порт требуют специальных заголовков с удаленной стороны. Эта политика называется «CORS»: совместное использование ресурсов между источниками.
CDN (сеть доставки контента) – это группа серверов, расположенных во многих местах. Эти серверы хранят дублированные копии данных, чтобы серверы могли выполнять запросы данных в зависимости от того, какие серверы находятся ближе всего к соответствующим конечным пользователям. CDN обеспечивают быстрое обслуживание и меньше подвержены влиянию высокого трафика.
👉 @frontendInterview
Какая запись эквивалентна записи flex: none?
Anonymous Quiz
6%
flex: 1 1 auto;
30%
flex: 0 0 auto;
6%
flex: 1 0 auto;
7%
flex: 0 1 auto;
50%
flex: 0 0 0;
Что такое именованная функция в JavaScript и как ее определить?
Named Function Expression или NFE – это термин для Function Expression, у которого есть имя.
Например, давайте объявим Function Expression:
Для начала заметим, что функция всё ещё задана как Function Expression. Добавление "func" после function не превращает объявление в Function Declaration, потому что оно все ещё является частью выражения присваивания.
Добавление такого имени ничего не ломает.
Функция все ещё доступна как sayHi():
1. Оно позволяет функции ссылаться на себя же.
2. Оно не доступно за пределами функции.
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. Оно не доступно за пределами функции.
Getting Started with React VR
Эта книга является практическим руководством по разработке VR-приложений, используя React VR, с основным упором на браузеры. В ней описывается процесс создания 3D-графики с использованием Three.js, а также работа с библиотекой ReactVR для создания реалистичных объектов в виртуальной реальности. К концу чтения книги вы получите глубокие знания работы с виртуальной реальностью и полноценное рабочее VR-приложение.
👉 @frontendInterview
Эта книга является практическим руководством по разработке VR-приложений, используя React VR, с основным упором на браузеры. В ней описывается процесс создания 3D-графики с использованием Three.js, а также работа с библиотекой ReactVR для создания реалистичных объектов в виртуальной реальности. К концу чтения книги вы получите глубокие знания работы с виртуальной реальностью и полноценное рабочее VR-приложение.
👉 @frontendInterview
Настоящий этаж
Американцы - странные люди и этажи у них нумеруются не как у людей. Первый этаж у них является нулевым и отсутствует 13 этаж из-за суеверий. Создайте функцию, которая будет переводить номер этажа из американской системы в европейскую.
Примеры:
Американцы - странные люди и этажи у них нумеруются не как у людей. Первый этаж у них является нулевым и отсутствует 13 этаж из-за суеверий. Создайте функцию, которая будет переводить номер этажа из американской системы в европейскую.
Примеры:
1 => 0
0 => 0
5 => 4
15 => 13
-3 => -3
👉 @frontendInterviewBeginning Progressive Web App Development
Современные веб-технологии предоставляют огромный набор инструментов, библиотек и фреймворков, способные сделать ваши приложения эффективными и надёжными. Благодаря примерам из книги вы научитесь улучшать производительность, доступность и адаптивность ваших приложений на любых устройствах. Из рассмотренных в книге технологий будут React, Vue.js, Angular, Ionic и многие другие. Также вы научитесь работать с API и уведомлениями.
👉 @frontendInterview
Современные веб-технологии предоставляют огромный набор инструментов, библиотек и фреймворков, способные сделать ваши приложения эффективными и надёжными. Благодаря примерам из книги вы научитесь улучшать производительность, доступность и адаптивность ваших приложений на любых устройствах. Из рассмотренных в книге технологий будут React, Vue.js, Angular, Ionic и многие другие. Также вы научитесь работать с API и уведомлениями.
👉 @frontendInterview
Объясните делегирование событий.
Делегирование событий — это приём, заключающийся в добавлении обработчиков событий к родительскому элементу, а не к дочерним элементам. Обработчик будет срабатывать всякий раз, когда событие будет запущено на дочерних элементах благодаря всплытию событий в DOM.
Преимущества этого приёма:
1. Экономит объем используемой памяти, т.к. для родительского элемента требуется только один обработчик.
2. Не нужно привязывать или убирать обработчики при добавлении и удалении элементов.
👉 @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
Нельзя в двух словах объяснить работу ключевого слова 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
Ваша задача - написать простую функцию, которая отсортирует массив чисел и оставит в нем только четные числа.
Примеры:
👉 @frontendInterview
Ваша задача - написать простую функцию, которая отсортирует массив чисел и оставит в нем только четные числа.
Примеры:
noOdds( [0,1] ) => [0]
noOdds( [0,1,2,3] ) => [0,2]👉 @frontendInterview
Верно ли утверждение?
"Невозможно установить свойства background-color и background-image для одного элемента?
"Невозможно установить свойства background-color и background-image для одного элемента?
Anonymous Quiz
18%
Верно
82%
Неверно
Объясните, почему это не является IIFE:
Что необходимо изменить, чтобы это стало IIFE?
IIFE расшифровывается как Immediately Invoked Function Expression — немедленно вызываемое функциональное выражение.
Синтаксический анализатор JavaScript читает
Выражения, начинающиеся с function, считаются объявлениями функций. Оборачивая эту функцию внутри (), она становится функциональным выражением, которое затем может быть выполнено с последующим (). Подобные функции не отображаются в глобальной области видимости, и вы можете даже не указывать им имя, если вы не будете на них ссылаться.
`function foo(){ }();`?Что необходимо изменить, чтобы это стало IIFE?
IIFE расшифровывается как Immediately Invoked Function Expression — немедленно вызываемое функциональное выражение.
Синтаксический анализатор JavaScript читает
function foo(){ } (); как function foo(){ } и ();, где первое выражение — это объявление функции, а второе (пара скобок) — попытка вызова функции, но так как имя не указано, он выдает ошибку Uncaught SyntaxError: Unexpected token.
Вот два способа исправить это, которые заключаются в добавлении дополнительных скобок: (function foo(){ })() и (function foo(){ }()).Выражения, начинающиеся с function, считаются объявлениями функций. Оборачивая эту функцию внутри (), она становится функциональным выражением, которое затем может быть выполнено с последующим (). Подобные функции не отображаются в глобальной области видимости, и вы можете даже не указывать им имя, если вы не будете на них ссылаться.