Что нужно иметь и знать в фреймворке React джуну?

Интересен вопрос, знаю что у всех и везде по разному, но всё же есть хоть какая-то согласованность, вот и хотел у знающих спросить, что нужно уметь и знать в Реакте для того, чтобы быть достойным на должность джуна=)
  • Вопрос задан
  • 8508 просмотров
Решения вопроса 1
rockon404
@rockon404 Куратор тега React
Frontend Developer
Хороший кандидат на должность Junior React Developer, по моему мнению, должен соответствовать следующему перечню требований:
1. Хорошее знание JavaScript. В React разработке используется ES6 и большинство экспериментальных фич еще не вошедших в стандарт.
2. Хорошее знание HTML и CSS. Кроссбраузерная верстка. Так же, хорошо иметь представление о том, что такое css-in-js.
3. Web APIs. Умение работать с объектной моделью документа(DOM) и все эти XMLHttpRequest, localstorage, cookie, history и прочее.
4. Хорошее знание API React. Вы должны хорошо знать React, знать его возможности, понимать основные концепции и уметь ответить на большинство типовых вопросов. Для этого достаточно хорошо изучить документацию, разобрать пару типовых проектов на github и попрактиковаться. Много полезной информации, приёмов и идей можно подчерпнуть из тематических статей и докладов. Так же, на просторах интернета можно найти подборки типовых вопросов, часто задаваемых на собеседованиях. В англоязычном сегменте их больше.
5. Redux. Уверенное знание API. API библиотеки до боли пост. Знать, что такое промежуточное ПО и зачем оно. Понимать базовые концепции архитектуры Flux. Все это есть в документации и многочисленных курсах.
6. Умение работать с менеджером пакетов npm на базовом уровне.
7. Node.js. Хотя бы уметь написать простейший express/koa сервер, который будет отдавать ваше приложение и статику.
8. Webpack. Базовые знания.
9. Умение работать с git. Хотя бы знать и уметь примерять команды: init, clone, add, commit, push, pull, merge, checkout.
10. Иммутабельность. Четкое понимание зачем это надо. Знание приемов иммутабельного изменения структур данных. Это есть в официальном туториале React.
11. Статическая типизация TypeScrpt/Flow. Для начала хватит самых основ и способности понимать чужой код.
12. Функциональное программирование. Хватит знаний полученных в процессе изучения JavaScript, а так же не помешает знать, что такое каррирование, чистые функции и рекурсия.
13. Базовые концепции ООП. Хватит знаний полученных в рамках изучения JavaScript.
14. Асинхронный код. Понимать как его правильно организовывать. Promise, async/await.
15. Сетевые протоколы передачи данных. Вполне хватит базовых знаний о http/https, о том, что такое заголовки и какие они бывают. Хорошо знать о том, что такое websocket.
16. За плечами должен быть хотя бы один учебный проект на React. Хватит типового тестового задания.
Примеры таких заданий: 1, 2, 3(сайт может быть не доступен на территории РФ, советую отрыть через VPN и посмотреть), 4, 5. Если подобного проекта у вас нет, то будьте готовы, что потенциальный работодатель предложит вам выполнить тестовое задание и только по его результату вас, может быть, пригласят на техническое интервью. Если напишите хорошо, вас скорей всего пригласят.
17. Желателен опыт создания типовых UI элементов. Например, чтобы не вызывало трудностей написать простой кастомный чекбокс. Куча примеров реализаций типовых элементов есть на codepen.

Это не красный минимум знаний и во многих компаниях требования могут быть значительно ниже. Но соответствие вышеперечисленым пунктам будет хорошим аргументом для работодателя остановить свой выбор именно на вашей кандидатуре.

Похожий вопрос.
Ответ написан
Пригласить эксперта
Ответы на вопрос 6
@artemmityushov
Конечно же возможно я живу в какой-то другой вселенной, но мне было бы интересно посмотреть сколько придет людей на должность джуна имея все перечисленные знания.
Ответ написан
@hanguksaram
Исходя из личного моего опыта, утверждаю что первый пункт описывает эталон джуниора, на практике не у многих мидлов существуют теор и практ знания по всем перечисленным пунктам. Антон Спирин Пожалуйста, поясните с вашей точки зрения необходимость 7 пункта , в 3 пункте что вы вкладываете в умение работать с dom моделью? Императивный стиль с деревом ,нодами пропертями htmlelementов? Зачем знание xmlhttprequestов, если в любом сторонней библе эта функциональность скрыта за слоем абстракции написанной вендором. Дмитрий Есин, вы допускаете тот факт что писать промышленный реюзабельный код в серверсайдрендер проекте в императивном стиле на каком-нибудь жкери, где отсутствуют строгие конвеншны к построению архитектуры клиента, сложнее, чем в ясном и продуманном окружении реакта?
Ответ написан
iCoderXXI
@iCoderXXI
React.JS/FrontEnd engineer
Для начала будущему джуну не плохо бы сходить на сайт реакта, и прочитать там большими буквами, что Реакт - ни разу не фреймворк, а очень даже "A JavaScript library for building user interfaces".

Во вторых будущему джуну надо осознать, что если он так неаккуратен в терминологии, то в разработке ему будет трындец как сложно. Компьютер, в отличии от человека, воспринимает все буквально и делает ровно то, что сказано. И если сказано неточно, то результата не будет.

В общем будущему джуну нужно прокачивать дисциплину мышления и серьезно поработать над уточнением формулировок. На первые пол-года хватит, а потом пусть будущий джун возвращается с новыми вопросами, скажем что делать дальше.
Ответ написан
Знать как пишется реактивность. А иметь голову на плечах. Это минимум. А, ну и js.
Ответ написан
Комментировать
Джунам нет смысла к реакту подходить.
Нужно понимать как асинхронность работает, семантику языка, чем отличается императивщина от декларативной парадигмы.
Как минимум вот это всё - это уже не про уровень джуна, так что о чём вы вообще...
Ответ написан
Комментировать
@eternal-struggler
Backend Node.js разработчик
Единственное, что тебе нужно - это практика. Никакое количество теории не поможет тебе устроиться на работу. Так же не слушай никого, кто тебе пишет списки с тысячами критериев. Просто иди так, как тебе комфортно, делай тестовые задания (которых очень много на просторах интернета): Списки задач, календари, приложения погоды. Таких примеров куча. Главное не слушай людей, которые будут пугать тебя страшными списками из кучи технологий и терминов, это все само со временем подтянется с практикой. Резюмируя: сделай пару тестовых заданий, которые найдешь в интернете, примени там как минимум Redux или лучше Redux toolkit, какой-нибудь CSS фреймворк типа Tailwind CSS или Styled Components. Умей работать с роутерами. Понимай, что такое virtual dom. Этого будет достаточно. Удачи тебе!
Ответ написан
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы