Frontend Interview - собеседования по Javascript / Html / Css
10.4K subscribers
2.09K photos
118 videos
320 files
500 links
Канал для подготовки к собеседованиям по фронтенду

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

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

Канал в реестре РКН:
https://rknn.link/su
Download Telegram
Какое значение примет result?
Anonymous Quiz
6%
undefined
51%
3
35%
4
7%
NaN
В чем разница между Object.getOwnPropertyNames() и Object.keys()

Object.getOwnPropertyNames() возвращает перечислимые и не перечислимые свойства из объекта или массива.

 var arr = ["a", "b", "c"]; 
print(Object.getOwnPropertyNames(arr).sort()); // prints "0,1,2,length"

 // Array-like object 
var obj = { 0: "a", 1: "b", 2: "c"};
print(Object.getOwnPropertyNames(obj).sort()); // prints "0,1,2"

Object.keys() возвращает перечислимые свойства из объекта или массива.

var arr = ["a", "b", "c"];
alert(Object.keys(arr)); // will alert "0,1,2"

// array like object
var obj = { 0 : "a", 1 : "b", 2 : "c"};
alert(Object.keys(obj)); // will alert "0,1,2"
Каково значение свойства color у элемента h1?
Anonymous Quiz
7%
black
20%
green
73%
red
С помощью какой конструкции языка можно управлять потоком выполнения скрипта и отслеживать ошибки?

Это возможно с помощью конструкции try{}... catch{}
Пример:
try {
var number = 9;
alert( number.toString(2) );
// ...
alert('Выполнено без ошибок!');
} catch(e) {
alert('Ошибка!');
}
Что из перечисленного не является примитивным типом данных в JavaScript
Anonymous Quiz
4%
number
66%
char
4%
boolean
18%
undefined
8%
string
Шаблоны корпоративных приложений

Книга Мартина Фаулера, посвященная разработке корпоративных приложений. После краткого руководства Мартин предлагает вам более 40 шаблонов в качестве решения распространенных проблем при разработке корпоративных приложений. В книге вы найдете большое количество UML визуализаций и примеров кода, написанных на Java или C#.

Прочитав книгу, вы сможете разделять корпоративные приложения на уровни, знать основные подходы к организации бизнес-логики, использовать MVC шаблоны для организации веб-приложений и управлять параллельной обработкой нескольких транзакций.
Каждое число в квадрат

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

Пример:
squareDigits(9119) //811181 так как 9^2 равно 81 и 1^2 равно 1.
Эффективная работа с унаследованным кодом

В книге автор предлагает стратегии для работы с большими, непокрытыми тестами базами legacy-кода. Вы можете подумать: “На дворе 2020 год. Legacy-код больше не проблема, ведь у нас есть чистый, поддерживаемый код и микросервисы.” Позвольте мне заверить вас, что это ошибочное представление. Legacy-код по-прежнему является одной из самых сложных проблем для многих компаний.

Прочитав эту книгу, вы сможете понять общие механизмы изменения программного обеспечения, например: добавление функций, исправление багов, оптимизация производительности и улучшение проектирования. Кроме того, вы узнаете, как подготовить унаследованный код к тестированию и определить, где его необходимо изменить.
Можно ли прервать обход элементов в методе forEach?

Не существует способа остановить или прервать цикл forEach() кроме как выбрасыванием исключения. Если вам необходимо такое поведение, метод forEach() неправильный выбор.
Досрочное прекращение может быть достигнуто с:
 Простой цикл for
Циклы for...of / for...in
Array.prototype.every()
Array.prototype.some()
Array.prototype.find()
Array.prototype.findIndex()
Если нужно протестировать элементы массива на условие и нужно вернуть булево значение, вы можете воспользоваться методами every(), some(), find() или findIndex().
Метод forEach() выполняет функцию callback один раз для каждого элемента массива; в отличие от методов every() и some(), он всегда возвращает значение undefined.
Какое из перечисленных ниже слов не является зарезервированным словом в JavaScript?
Anonymous Quiz
33%
default
17%
throw
35%
finally
16%
undefined
Можно ли с помощью метода indexOf определить позицию подмассива в массиве?

Метод indexOf() использует оператор строгого сравнения (===) при сравнении искомого элемента и элементов массива.
Так как сравнение массивов происходит по ссылке, сравнение искомого элемента и элемента массива, который сам является массивом вернет false.
 const arr = [[1], [2], [3]]
const arr2 = [1]

console.log(arr[0] === arr2); //false
Часы

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

Пример:
past(0, 1, 1) == 61000
Какое значение в пикселях равно 10vmin, если ширина вьюпорта 800px, а высота 1000px?
Anonymous Quiz
11%
10px
55%
80px
27%
100px
7%
8px
Как строку преобразовать в массив?

Ситуация из реальной жизни. Мы пишем приложение для обмена сообщениями, и посетитель вводит имена тех, кому его отправить, через запятую: Вася, Петя, Маша. Но нам-то гораздо удобнее работать с массивом имён, чем с одной строкой. Как его получить?
Метод str.split(delim) именно это и делает. Он разбивает строку на массив по заданному разделителю delim.
В примере ниже таким разделителем является строка из запятой и пробела.
 names = 'Вася, Петя, Маша';
let arr = names.split(', ');

for (let name of arr) {
alert( `Сообщение получат: ${name}.` ); // Сообщение получат: Вася (и другие имена)
}

У метода split есть необязательный второй числовой аргумент – ограничение на количество элементов в массиве. Если их больше, чем указано, то остаток массива будет отброшен. На практике это редко используется:
 let arr = 'Вася, Петя, Маша, Саша'.split(', ', 2);
alert(arr); // Вася, Петя
Что такое DOM, BOM и window?

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

Глобальный объект window можно разделить на три части:
1. Объектная модель документа (DOM) — объект document,через который осуществляется доступ к содержимому страницы.
2. Объектная модель браузера (BOM) — объекты, методы и свойства для работы с браузером.
3. Сам javascript — его объекты, свойства и функции.

BOM состоит из объектов navigator, history, screen, location и document, которые являются дочерними элементами window. В document node находится DOM (Document Object Model), объектная модель документа, которая представляет содержимое страницы. Вы можете манипулировать им с помощью javascript.