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

    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-собеседования вопросы.
    Ответ написан
    31 комментарий
  • Какой RegExp должен быть?

    @WebAnalytics1
    [\w\s\-/]+ если должен быть хотя бы 1 символ
    [\w\s\-/]* если нет
    Ответ написан
    Комментировать
  • Как получить доступ к брейкпоинтам из js в foundation?

    alvvi
    @alvvi
    export default apathy;
    Забыли проинциализировать.
    $(document).foundation();
    Ответ написан
    1 комментарий
  • Программист без технического образования: быть или не быть?

    Я по профессии повар. )))
    5 лет проработал мясником, пару лет поваром в ресторане, водителем и грузчиком.
    Последние 7 лет программирую в одной небольшой компании с достойным окладом.
    Если это приносит удовольствие, то не бросайте.

    Когда работал на складе грузчиком, общался с менеджером, он по профессии программист, заканчивал престижный университет в нашем регионе. Спросил почему не работает по профессии, он сказал, что ничего в этом не понимает.
    Ответ написан
    Комментировать
  • Как получить опыт для устройства на работу Python Developer?

    @Nodar
    Python, Ruby, JavaScript
    Автор, написали бы, чем вы сейчас занимаетесь, чтобы что-то конкретнее советовать.
    Я сам джуниор с опытом 9 месяцев и более того я не учился на прогера. У меня небыло ничего на GitHub.
    Я просто писал всем, даже на вакансии, где искали senior'а. Большинство даже не отвечали, кто-то приглашал, но предлагал мизер. 20 - 30 тыс в Москве-то и это не на 2-3 месяца, а на полгода, год. Таким я сам отказывал. В итоге получил 2 предложения с существенно большей суммой.
    Как найти работу, надо просто показать людям, что они смогут вырастить из вас разработчика, что вы сами заинтересованы в этом и регулярно над собой работаете.
    Меня спрашивали, как я учу язык и cs в целом, разговаривали о книгах, которые я прочитал, что планирую изучать в дальнейшем. Когда мне задавали технические вопросы, я не мог на них ответить, но и не парился по этому поводу, я сразу объяснял, какой у меня уровень.

    В итоге:
    - если вы очень слабый джуниор, которого терзают на интервью техническим вопросами - уходите
    - если вам предлагают 20 тыс на полгода - уходите. О чем думают такие работодатели - я не понимаю. Скорее всего это проходное место
    - если вас все устраивает, но не обещают, что кто-то будет регулярно вам помогать - уходите. Без помощи опытного товарища, вы далеко не уйдете.

    В итоге 2 (для тех, кто не знает что учить):
    - если вы еще в процессе самообучения учите:
    Linux - дистрибутив роли не играет. Если никогда не работали в линуксе, попробуйте. Научитесь пользоваться командной строкой, редактором nano.
    Хорошо освойте все основные структуры данных в питоне и что с ними можно делать.
    Перед тем, как писать свое решение - используйте поиск, 100% уже есть решение вашей проблемы. Изучите его
    Алгоритмы и структуры данных - учить обязательно, многие это требуют. Я не знал, что такое деревья, практически в первый же день, мне потребовалось писать обход дерева, я реально сожалею, что незнал, как это сделать. Пришлось искать помощи.
    ----
    P.S. - это мой личный опыт.
    Ответ написан
    1 комментарий