Какой необходимый уровень знаний для junior React.js Разработчика?

У меня собеседование на носу, и мне хотелось бы проверить свои знания до него, и закрепить что может не доконца ясно. По вашему мнению что должен знать и уметь junior React разработчик не включая основы js, в рамках самого React-Redux приложения, и какие тонкости важнее всего понимать, можете навести примеры, или какой то список, буду очень благодарен.
  • Вопрос задан
  • 46934 просмотра
Решения вопроса 1
maxfarseer
@maxfarseer
https://maxpfrontend.ru, обучаю реакту и компании
UPDATE: реальные тестовые задания и разборы здесь, ответы на все вопросы из поста в моем блоге об обучении react.

не включая основы js

Извините, но стандартная задача, про "напишите функуцию add, которая при вызове add(1)(2) вернет 3" - многих положила на лопатки =) Поэтому будьте готовы..

React
0) Какую проблему решает react ?
1) Мгновенно ли срабатывает setState? Если нет, то как выполнить код, который 100% выполнится после того, как новый state будет установлен?
2) Зачем многие постоянно пишут в constructor: this.FUNCTION_NAME = this.FUNCTION_NAME.bind(this) и отсюда вопрос вытекает чему равно this в разных местах вашего компонента...
3) в каких методах жизненого цикла стоит выполнять xhr запросы? В каких стоит "обновлять state на основе props"?
4) Что будет если вызвать this.setState в render методе компонента?
5) зачем нужен componenWIllUnmount, приведите пример..
6) Контролируемые, не контролируемые компоненты
7) Как организовать роутинг в реакт приложении? (ответ: взять react-router - подходит, но было бы круто, если бы вы рассказали, как он примерно работает)*
8) Зачем нужны propTypes? Что происходит с ними в production сборке?
9) Как можно удобно "отлаживать" чужой код приложения, написанного на react (намек в сторону React devtools)
...

Redux
0) Какую проблему решает redux?
1) Зачем многие создают типы действий NAME_REQUEST / NAME_SUCCESS ? А заодно, что такое "действие", а что такое "создатель действия"...
2) Что такое редьюсер? Можете написать простой редьюсер без react/redux?*
3) Для чего нужен redux-thunk? Как он работает? Напишите (можно псевдокод) асинхронный создатель действия (либо, если надоело говорить "терминами" - асинхронный aciton)
4) Как компоненты приложения получают "пропсы" из "стора"?*
5) Можно ли (и считается ли это нормальным) использовать state, если используется Redux?
6) Почему в reducer'ax мы возвращаем новые объекты? Приведите пример, когда вы возвращаете новый объект, а когда тот же самый.
6.5) А так же, "как в js вообще это работает?". Например:
let obj1 { name: 'Test', age: 100 }
let obj2 = obj1
obj2.name = 'Test_new'

Что будет в obj1, почему? В каких случаях объекты могут быть равны?
7) Что возвращает функция connect (из react-redux)?
...

Общее:
0) package.json
1) Webpack, gulp, etc...
2) node.js
3) promise

Что-нибудь практическое:
1) Как бы вы валидировали форму, если ошибки валидации приходят после submit'a ее на сервер..
2) Почему не работает следующий код, сделайте чтобы работало
...
На истину не претендую, но такие вопросы имели место быть на собеседованиях. В беседе можно многое разузнать дополнительными вопросами и так далее. Так же, если часть вопросов вам неизвестна - не беда, многие и на половину ответить не могут.

p.s. возможно дополню...
p.p.s. звездочкой отметил, на мой взгляд не самые необходимые для junior-собеседования вопросы.
Ответ написан
Пригласить эксперта
Ответы на вопрос 3
Junior-React разработчик?
По-моему, как-то странно звучит.
К изучению стэка технологий, среди которых Реакт нужно подходить уже будучи не совсем джуном: важно понимать базовые основы функциональной парадигмы, отличие её от ООП, понимание архитектуры flux и потоков данных, уверенный уровень JS (ES6), как асинхронность работает, всякие ajax-api (axious, fetch), конечный автомат (что такое и зачем нужен). Про хтмл\вёрстку, само собой, конечно же.
Я когда без хорошего навыка JS полез в Реакт, то не понял, что вокруг происходит.
Ответ написан
@Angularity
Я сам не прочь бы спросить такое про Angular2, но видимо я знаю маленький секрет - читать вакансии, и смотреть что на сегодняшний день актуально знать для Junior React Developer'a.
Если говорить конкретно о Реакте - то чем больше, тем лучше. Хоть и абстрактно, но точно.
Ответ написан
fnnzzz
@fnnzzz
front-end dev
почти на каждом собеседовании встречается такое "напишите полифилл для bind", поэтому нужно понимать как работает "this" в JS.

плюс, в основе React/Redux лежит функциональщина, поэтому можно ожидать вопросы про HOC (это например connect в react-redux), map-reduce и пр.

также нужно знать принцип работы лайф-сайклов в React, ну например.. если в shouldComponentUpdate вернуть false, будет ли при этом вызываться componentWillReceiveProps?

Ну и наверняка нужно знать о механизме работы промисов, имхо.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы