Примеры задач по JavaScript для подготовки джуна к собеседованию по фронтенду

Kate

Administrator
Команда форума

Илья Князев​

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/
 
Сверху