---
# System prepended metadata

title: Постовой Сергей

---

# Постовой Сергей

Собеседовали Александр Сивцов и Максим Овсянников в про профайл.

### Hard skills

#### Результат
-----

#### Что проверял
Понимание базовых сущностей и механик js.

#### Как проверял
1. Спросил, какие есть примитивные типы данных в js, в чём разница между `null` и `undefined`, зачем нужен `Symbol`.
2. Спросил про `var`, `let`, `const`, разницу, всплытие.
3. Дал задачу на копирование объектов по ссылке и мутацию ключей.
4. Спросил, что знает про функции в языке, в чём отличие declaration от expression, в чём особенность стрелочных функций.

#### Результат
1. Рассказал про все. Про `Symbol` сказал, что знает только теорию на практике не использует.
2. Рассказал все, но явно не сказал что у var функциональная видимость.
3. С задачей разобрался, но медленне чем обычно, много времени потратили на то, чтоб понять что вообще нужно сделать. Предложил атльтернативное решение с `Object.assign`.
4. Запутался в разнице declaration и expression, но после подсказки рассказал про особенности


-----

#### Что проверял
Понимание контекстного механизма, частичного применения функций.

#### Как проверял
1. Спросил, что такое `this`, как работает, чем является в разных ситуациях.
2. Дал задачу на написание собственной реализации `bind`.

#### Результат
1. Ответил.
2. Задачу закодил с подсказками.

-----

#### Что проверял
Понимание функциональных практик написания кода.

#### Как проверял
1. Спросил, что такое иммутабельность и зачем нужна.
2. Спросил про HOF и HOC.
3. Спросил про отличия между `filter/map/reduce/forEach` и область применимости каждого из методов.
4. Дал задачу на написание своей реализации `reduce`.

#### Результат
1-3. В целом понимает, рассказал.
4. Реализовал свёртку, но с помощью.

-----

#### Что проверял
Понимание Event Loop'а.

#### Как проверял
1. Спросил про то как устроен цикл событий в js
2. Дал задачу на расставление очередности вывода в зависимости от приоритета операции в цикле событий.

#### Результат
1. Расплывчато объяснил порядок выполнения и приоритеты типов операций.
2. Задачу решил сразу.

-----


#### Что проверял
Умение покрывать функциональность тестами.

#### Как проверял
Спросил, пишет ли тесты.

#### Результат
Про тесты сказал, что в команде разрабатывается все в соответствии с TDD, но больше уточнять не стал

-----

#### Что проверял
Понимание DOM, вёрстки, стилизации.

#### Как проверял
Спросил, что такое DOM, чем отличаются `defer` и `async`, проблему глубоко вложенных селекторов.

#### Результат
Про DOM рассказал, разницу `defer` и `async` ответил, но неправильно, после подсказки ответил правильно.

Про проблему глубокой вложенности css селекторов не ответил

-----

### Анализ

Кандидат хорошо знает теорию es6, однако с более ранними версиями спецификации есть проблемы. С наши задачками справлялся относительно хорошо.

На протяжении всего собеседования кандидат был вежлив и доброжелателен.

Есть минус, что нет особенно опыта работы с redux, но думаю что это быстро приобретаемые знания.

-----

### Итоговый вердикт

Рекомендую приглашать на следующий этап.