Илья Князев
frontend-разработчик в «Тинькофф»
Далеко не секрет, что ключевым фактором успешного прохождения собеседования является подготовка. Чем лучше вы подготовитесь и чем больше задач решите — тем больше шанс не только удачно пройти собеседование, но и получить желаемую позицию.У меня большой опыт в прохождении и проведении собеседований по JavaScript и решении немалого количества задач. В этом материале я покажу несколько задач, которые чаще всего попадаются на позицию Junior/Middle Frontend. Они не самые простые, поэтому для каждой вы найдете развернутый ответ. Советую сначала попробовать решить самостоятельно, а затем открывать спойлер

Что выведет console.log в Promise.race?
const first = new Promise((resolve, reject) => {setTimeout(resolve, 500, "один");
});
const second = new Promise((resolve, reject) => {
setTimeout(resolve, 100, "два");
});
Promise.race([first, second]).then(res => console.log(res));
- A: «один»
- B: «два»
- C: «два» «один»
- D: «один» «два»
Какое значение result?
const result = parseInt("7*6", 10);- A: 42
- B: «42»
- C: 7
- D: NaN
Является ли функция sum чистой функцией?
function sum(a, b) {return a + b;
}
- A: Нет
- B: Да
Какое значение будет на выходе?
const client = {name: "Mr. Smith",
age: 21
}
const increaseAge = (x = { ...client }) => x.age += 1
const changeAgeAndName = (x = { ...client }) => {
x.age += 1
x.name = "Ivan"
}
increaseAge(client)
changeAgeAndName()
console.log(client)
- A: {name: "Ivan", age: 22}
- B: {name: "Ivan", age: 23}
- C: {name: "Mr. Smith", age: 22}
- D: {name: "Mr. Smith", age: 23}
Какой будет вывод?
const firstName = "Petr"console.log(firstName())
- A: Undefined
- B: ReferenceError
- C: TypeError
- D: SyntaxError
Источник статьи: https://tproger.ru/articles/primery...gotovki-dzhuna-k-sobesedovaniju-po-frontendu/