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

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

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

Канал в реестре РКН:
https://rknn.link/su
Download Telegram
Двойной сэндвич

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

Примеры:
[0, 1, 2, 3, 4, 5, 6, 1, 7, 8] => [2, 3, 4, 5, 6]
["None", "Hello", "Example", "hello", "None", "Extra"] => ["Hello", "Example", "hello"]
[0, 0] => []
[true, false, true] => [false]
"example" => "xampl"
Л. Атенсио – Функциональное программирование на JavaScript

Функциональное программирование облегчает поддержание и сопровождение кода, способствуя «наведению порядка» в слабосвязанных элементах и отдельно взятых компонентах. Автор подробно разбирает способы улучшения приложений, расширения и увеличения производительности. Вы научитесь понимать разницу между императивным, объектно-ориентированным и функциональным подходами к программированию на практических примерах.
​Для чего используется ключевое слово «new»?

Ключевое слово «new» используется в функциях-конструкторах для создания нового объекта (нового экземпляра класса).

Допустим, у нас есть такой код:
function Employee(name, position, yearHired){
this.name = name
this.position = position
this.yearHired = yearHired
}

const emp = new Employee('Marko Polo', 'Software Development', 2017)

Ключевое слово «new» делает 4 вещи:
1. Создает пустой объект.
2. Привязывает к нему значение this.
3. Функция наследует от functionName.prototype.
4. Возвращает значение this, если не указано иное.
Какое значение примет result?
Anonymous Quiz
56%
undefined
24%
2009
20%
null
​Пятница 13

Так как пятница 13 считается несчастливым днем, вам обязательно нужно к ним подготовиться.
Для этого напишите функцию, которая принимает текущий год и возвращает количество пятниц 13 в этом году

Примеры
 unluckyDays(2015) == 3
unluckyDays(1986) == 1
​Почему typeof null возвращает object? Как проверить, является ли значение null?

typeof null == 'object' всегда будет возвращать true по историческим причинам. Поступало предложение исправить эту ошибку, изменив typeof null = 'object' на typeof null = 'null', но оно было отклонено в интересах сохранения обратной совместимости (такое изменение повлекло бы за собой большое количество ошибок).

Для проверки, является ли значение null можно использовать оператор строгого равенства (===):
function isNull(value){
return value === null
}
Какое значение свойства font-size у элемента span?
Anonymous Quiz
9%
40px
10%
10px
78%
20px
2%
80px
​Что такое запоминание или мемоизация (Memoization)?

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

Пример:
function memoize(fn){
const cache = {}
return function(param){
if(cache[param]){
console.log('cached')
return cache[param]
} else{
let result = fn(param)
cache[param] = result
console.log('not cached')
return result
}
}
}

const toUpper = (str = '') => str.toUpperCase()

const toUpperMemoized = memoize(toUpper)

toUpperMemoized('abcdef')
toUpperMemoized('abcdef') // не выполнится
Какое значение примет result?
Anonymous Quiz
13%
SyntaxError
57%
true
30%
false
​В чем разница между обычной функцией и функциональным выражением?

Допустим, у нас есть следующее:
hoistedFunc()
notHoistedFunc()

function hoistedFunc(){
console.log('I am hoisted')
}

var notHoistedFunc = function(){
console.log('I will not be hoisted!')
}

Вызов notHoistedFunc приведет к ошибке, а вызов hoistedFunc нет, потому что hoistedFunc «всплывает», поднимается в глобальную область видимости, а notHoistedFunc нет.
Какое изначальное значение у CSS свойства list-style-type?
Anonymous Quiz
10%
decimal
6%
lower-roman
9%
square
29%
disc
2%
lower-greek
43%
circle
​В чем разница между оператором «in» и методом hasOwnProperty?

Отличие состоит в том, что оператор «in» проверяет наличие свойства не только в самом объекте, но и в его прототипах, а метод hasOwnProperty — только в объекте.

console.log('prop' in o) // true
console.log('toString' in o) // true

console.log(o.hasOwnProperty('prop')) // true
console.log(o.hasOwnProperty('toString')) // false
Какое значение нельзя задать свойству justify-content?
Anonymous Quiz
85%
justify
3%
space-between
5%
center
4%
space-around
2%
flex-start
1%
flex-end
Данная книга посвящена тому, как на языке JavaScript создавать хороший код для фронтенда (и не только). В книге последовательно затронуты все аспекты производства JavaScript-кода: от выбора архитектуры и конструирования кода до покрытия модульными тестами, отладки, интеграционного тестирования, сборки и непрерывной поставки вашего кода. Рассматриваются как общие моменты — постановка процесса разработки, событийно-ориентированная архитектура JavaScript-приложений, техника непрерывной интеграции, так и предельно конкретные вопросы — как и какие инструменты (фреймворки) использовать для той или иной задачи, что конкретное нужно делать в том или ином случае, какие ошибки встречаются. Попутно в книге рассмотрено применение большого количества инструментов. Существенное внимание уделено автоматизации на всех этапах создания и поставки JavaScript-кода.
​Пробелы

Напишите функцию, которая проверяет строку на правильность расставленных пробелов.
То есть между словами должен находиться пробел, а также не должно быть пробелов перед строкой и после неё.
Примеры:
'Hello world' = true
' Hello world' = false
'Hello world ' = false
'Hello world' = false
'Hello' = true
'Helloworld' = true
' ' = false
'' = true
В данной книге речь пойдет о том, как правильно изспользовать таблицы стилей при создании HTML- документа. Данная книга отлично подойдет для школьников и учеников гимназии. Так же ее будет интересно почитать тем, кто хочет расширить свои знания в HTML и CSS.