Интервью: Евгения, frontend-разработчика с 4 годами коммерческой разработки - видео HD
01:49:44
Обнаружено блокирование рекламы на сайте
Для существования нашего сайта необходим показ рекламы. Просим отнестись с пониманием и добавить сайт в список исключений вашей программы для блокировки рекламы (AdBlock и другие).
12n.ru 18466 роликов
3679 просмотров на сайте 12n.ru
Евгения, frontend-разработчика с 4 годами коммерческой разработки - видео.
Присоединяйся на канал в телеграмм: t.me/BudniFronta
Кто хочет учиться в GeekBrains с хорошей скидкой — оставляйте заявку: rebrand.ly/mockinterview
00:00 — Введение
01:18 — Знакомство с Евгением
06:07 — Как отработает оператор in?
06:44 — Антоним слову «абстракция»?
08:19 — Разбираемся с побитовыми операторами
18:46 — Задача 1 (https://jsfiddle.net/mockinterview/jLmekf02/)
01:02:17 — Задача 2 (https://jsfiddle.net/mockinterview/6ybp1vtd/)
01:26:40 — Вопросы из чата + общие вопросы
развернуть свернуть
Пример:
9 >> 1 // 4
что бы не писать Math.floor(9 / 2)
хотя второй вариант конечно понятней будет многим)
function check(str, bracketsConfig) {
if(str.length%2 !=0){return false}
let check = true;
while(check){
let oldStr = str;
for (let index = 0; index < bracketsConfig.length; index++) {
str = str.replaceAll(bracketsConfig[index].join(''), '');
}
if(oldStr == str){check = false;}
}
return str.length == 0;
}
function check(str, bracketsConfig) {
if (str.length % 2 > 0) return false;
let detect = 0;
let brackets = bracketsConfig.flat(Infinity);
for (let i = 0; i < brackets.length; i += 2) {
for (let j = 0; j < str.length; j++) {
if (brackets[i] !== '|') {
if (detect === 0 && str[j] === brackets[i + 1]) return false;
if (str[j] === brackets[i]) detect += 1;
if (str[j] === brackets[i + 1]) detect -= 1;
}
}
if (
str.startsWith(brackets[i]) &&
!str.endsWith(brackets[i + 1]) &&
str.indexOf(brackets[i]) + 1 !== str.indexOf(brackets[i + 1])
) {
return false;
}
}
return detect === 0;
}
2. Небольшое дополнение по вводу имени пользователя: нет проверки на ввод цифр и иных символов помимо заглавных/строчных букв (хотя может разрешено под никами регистрироваться).
const check = (str, options) => {
const parsedOptions = parseOptions(options);
let newStr = str
for(let i = 1; i <= str.length / 2; i++){
parsedOptions.forEach(item => {
newStr = newStr.replaceAll(item, '')
})
}
return !newStr;
}
const parseOptions = options => {
return options.map(item => {
return item.reduce((acc, current) => {
acc = acc + current
return acc
})
})
}