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
Четные, умноженные на последний

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

Пример:
evenLast([2, 3, 4, 5]) => 30

👉 @frontendInterview
Графика на JavaScript

В этой книге рассказывается, как, работая с JavaScript, jQuery, DHTML и элементом Canvas (холст), появившимся в HTML5, создавать насыщенные веб-приложения для ПК и мобильных устройств. С появлением HTML5 и усовершенствованной браузерной поддержки язык JavaScript стал исключительно удобным для создания высокопроизводительной веб-графики.
Опытный веб-разработчик, прочитав данное издание, на практических примерах изучит интересные и полезные подходы к созданию аркадных игр, эффектов DHTML и т. д. Сложные темы представлены в книге в виде легких для усвоения фрагментов.

👉 @frontendInterview
Для чего обычно используются анонимные функции?

Анонимные функции используются при создании IIFE — конструкций, переменные, объявленные в которых, не загрязняют глобальную область видимости.

 (function() {
// Какой-то код.
})();

Анонимные функции применяют в качестве функций обратного вызова, которые используются лишь в одном месте программы. Код будет выглядеть более самодостаточным и читабельным в том случае, если коллбэк будет объявлен прямо в том месте, где он используется. Это избавляет от необходимости просматривать код в поиске тела функции.

 setTimeout(function() {
console.log('Hello world!');
}, 1000);

Анонимные функции удобно использовать в конструкциях, характерных для функционального стиля программирования, или при работе с библиотеками вроде Lodash (этот вариант их использования похож на их применение в качестве коллбэков).

const arr = [1, 2, 3];
const double = arr.map(function(el) {
return el * 2;
});
console.log(double); // [2, 4, 6]
Чему равен margin-top элемента div с классом in?
Anonymous Quiz
34%
100px
44%
12.5px
14%
50px
8%
75px
В чём разница между методом Object.freeze() и ключевым словом const?

Ключевое слово const и метод Object.freeze() — это совершенно разные вещи.

Ключевое слово const применяется к привязкам (к «переменным»). Оно создаёт иммутабельную привязку, то есть — к переменной (константе), объявленной с помощью const, нельзя привязать что-то новое. Константе нельзя присвоить новое значение.

 const person = {
name: "Leonardo"
};
let animal = {
species: "snake"
};
person = animal; // Uncaught TypeError: Assignment to constant variable.

Метод Object.freeze() работает со значениями. А точнее — с объектными значениями. Он делает объект иммутабельным, что защищает от изменений значения свойств этого объекта.

 let person = {
name: "Leonardo"
};
Object.freeze(person);
person.name = "Lima"; // Uncaught TypeError: Cannot assign to read only property 'name' of object
console.log(person);

Обратите внимание на то, что сообщение об ошибке выводится в строгом режиме. В обычном режиме операция просто не сраб
Кошачьи и собачьи года

У меня есть кошка и собака. Они родились humanYears тому назад. Напишите функцию, которая сконвертирует humanYears в catYears и dogYears.

Правила конвертации:
Cat Years:
15 cat years в первый год
+9 cat years во второй год
+4 cat years в каждый последующий год

Dog Years
15 dog years в первый год
+9 dog years во второй год
+5 dog years в каждый последующий год

👉 @frontendInterview
Какой цвет текста у элемента span?
Anonymous Quiz
42%
red
18%
blue
4%
black
36%
green
Что такое «поднятие переменных»?

Сущность концепции «поднятия переменных» заключается в том, что объявления «поднимаются» в верхнюю часть текущей области видимости. В результате переменной можно воспользоваться до её объявления. Поднимаются лишь объявления переменных, но не код их инициализации. Обратите внимание на то, что поведение переменных, объявляемых с использованием ключевого слова var, отличается от поведения переменных и констант, объявленных с использованием let и const.

👉 @frontendInterview
Какое значение примет result?
Anonymous Quiz
18%
TypeError
44%
false
37%
true
Что выведет данный код?

Этот код выведет 0. Оператор delete используется для удаления свойств объектов. А x — это не свойство объекта — это локальная переменная. Оператор delete не воздействует на локальные переменные.

👉 @frontendInterview
Чему равна высота элемента section?
Anonymous Quiz
11%
100px
49%
200px
23%
50px
4%
400px
14%
80px
Что выведет следующий код?

Этот код выведет xyz. Свойство company является не свойством объекта emp1, а свойством его прототипа. Оператор delete не удаляет свойства прототипов объектов. У объекта emp1 нет собственного свойства company. Проверить это можно так:

 console.log(emp1.hasOwnProperty('company')); // false

Если нам всё же необходимо удалить это свойство — сделать это можно, либо напрямую обратившись к объекту Employee (delete Employee.company), либо — обратившись к прототипу объекта emp1, воспользовавшись его свойством proto (delete emp1.proto.company).

👉 @frontendInterview
Web Components in Action (2019)

Веб-компоненты - это стандартизированный способ создания многоразовых пользовательских элементов для веб-страниц и приложений с использованием HTML, CSS и JavaScript. Веб-компонент хорошо инкапсулирован, сохраняет свою внутреннюю структуру отдельно от других элементов страницы, чтобы они не сталкивались с остальной частью кода. Работая с книгой, вы научитесь проектировать, создавать и развертывать повторно используемые веб-компоненты с нуля.

👉 @frontendInterview