Что такое запросы между источниками и 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, считаются объявлениями функций. Оборачивая эту функцию внутри (), она становится функциональным выражением, которое затем может быть выполнено с последующим (). Подобные функции не отображаются в глобальной области видимости, и вы можете даже не указывать им имя, если вы не будете на них ссылаться.
Что такое замыкание и как/для чего его используют?
Замыкание — это комбинация функции и лексического окружения, в которой эта функция была объявлена. Слово “лексический” относится к тому факту, что лексическая область видимости использует место, где переменная объявлена в исходном коде, чтобы определить, где эта переменная доступна. Замыкания — это функции, которые имеют доступ к переменным внешней (замыкающей) функции — цепочке областей видимости даже после того, как внешняя функция вернулась.
Для чего его используют?
1. Конфиденциальность данных / эмуляция скрытых методов при помощи замыканий. Обычно используется в модульном паттерне.
2. Частичное применение функций или каррирование.
👉 @frontendInterview
Замыкание — это комбинация функции и лексического окружения, в которой эта функция была объявлена. Слово “лексический” относится к тому факту, что лексическая область видимости использует место, где переменная объявлена в исходном коде, чтобы определить, где эта переменная доступна. Замыкания — это функции, которые имеют доступ к переменным внешней (замыкающей) функции — цепочке областей видимости даже после того, как внешняя функция вернулась.
Для чего его используют?
1. Конфиденциальность данных / эмуляция скрытых методов при помощи замыканий. Обычно используется в модульном паттерне.
2. Частичное применение функций или каррирование.
👉 @frontendInterview