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
В чем разница между операторами "==" и "==="?

Разница между оператором "==" (абстрактное или нестрогое равенство) и оператором "===" (строгое равенство) состоит в том, что первый сравнивает значения после их преобразования или приведения к одному типу (Coersion), а второй — без такого преобразования.

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

Напишите функцию, которая принимает число, которое представляет собой количество центов. Функция должна вернуть массив чисел coins, где

coins[0] = pennies ==> $00.01
coins[1] = nickels ==> $00.05
coins[2] = dimes ==> $00.10
coins[3] = quarters ==> $00.25

Таким образом, вам нужно подобрать комбинацию из монет, которая будет равна входному числу

Пример:
coinCombo(6) --> [1, 1, 0, 0]
Для чего используется оператор "!!"?

Оператор "!!" (двойное отрицание) приводит значение справа от него к логическому значению.
console.log(!!null) // false
console.log(!!undefined) // false
console.log(!!'') // false
console.log(!!0) // false
console.log(!!NaN) // false
console.log(!!' ') // true
console.log(!!{}) // true
console.log(!![]) // true
console.log(!!1) // true
console.log(!![].length) // false
​Как записать несколько выражений в одну строку?

Для этого мы можем использовать оператор "," (запятая). Этот оператор «двигается» слева направо и возвращает значение последнего выражения или операнда.

let x = 5

x = (x++, x = addFive(x), x *= 2, x -= 5, x += 10)

function addFive(num) {
return num + 5
}

Если мы выведем значение x в консоль, то получим 27. Сначала мы увеличиваем значение x на единицу (x = 6). Затем вызываем функцию addFive() с параметром 6, к которому прибавляем 5 (x = 11). После этого мы умножаем значение x на 2 (x = 22). Затем вычитаем 5 (x = 17). И, наконец, прибавляем 10 (x = 27).
Какова высота элемента section?
Anonymous Quiz
26%
80px
5%
0px
65%
40px
5%
120px
Какие значения в JS являются ложными?

 const falsyValues = ['', 0, null, undefined, NaN, false]

Ложными являются значения, результатом преобразования которых в логическое значение является false.

Как проверить, является ли значение ложным?

Следует использовать функцию Boolean или оператор "!!" (двойное отрицание).
Какое значение примет result?
Anonymous Quiz
20%
0
11%
36
4%
5
65%
14
Modern JavaScript for the Impatient

Изначально JavaScript был разработан для мелкомасштабного программирования в веб-браузерах, но современный JavaScript радикально отличается. В настоящее время программисты на JavaScript активно используют функциональное, объектно-ориентированное и асинхронное программирование, забывая о некоторых прошлых ошибочных и устаревших концепциях. Modern JavaScript for the Impatient - это полное, но краткое руководство по JavaScript ES6 и не только. Книга хорошо подойдет тем, кто хочет изучить JS, зная Java, C#, C или C++.
Сравнение строк

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

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

Функция не должна быть чувствительна к регистрам, а также должна использовать все символы из строк.

Примеры:
isMatching("email box", "b aIl", "Mo x e") return true
isMatching("bouh", "0b", "uh") return false
isMatching("kata", "kt", "aaa") return false
Modern Full-Stack Development

React - один из самых популярных фреймворков веб-разработки, доступных сегодня, а Node.js чрезвычайно популярен для разработки на стороне сервера. Тот факт, что оба используют JavaScript, является хорошим аргументом в пользу их использования, но по мере того, как разработчики все больше используют этот язык, они начинают видеть и некоторые несовершенства; именно поэтому существует и быстро набирает популярность TypeScript. Добавьте к этому стеку Webpack и Docker, и вы получите мощный набор инструментов разработки, с которым можно создавать приложения. Работая с книгой, вы увидите, как эти инструменты действуют вместе и научитесь ими пользоваться.
Какое значение имеет this?

Обычно this ссылается на значение объекта, который в данный момент выполняет или вызывает функцию. «В данный момент» означает, что значение this меняется в зависимости от контекста выполнения, от того места, где мы используем this.
const carDetails = {
name: 'Ford Mustang',
yearBought: 2005,
getName() {
return this.name
}
isRegistered: true
}

console.log(carDetails.getName()) // Ford Mustang
В данном случае метод getName возвращает this.name, а this ссылается на carDetails, объект, в котором выполняется getName, который является ее «владельцем».
Добавим после console.log три строчки:
var name = 'Ford Ranger'
var getCarName = carDetails.getName

console.log(getCarName()) // Ford Ranger
Второй console.log выдает Ford Ranger, и это странно. Причина такого поведения заключается в том, что «владельцем» getCarName является объект window. Переменные, объявленные с помощью ключевого слова «var» в глобальной области видимости, записываются в свойств