Общаясь в личке с Евгением Козловым, он попросил меня провести с ним моковое интервью на Реакт. Евгений является старожилом в Angular с более, чем 8 годами опыта, потому отказать такому ветерану я никак не смог.
Потратил вечерок на подготовку вопросов. Я подозревал, что с большим опытом на фронте, вероятно, не будет смысла поднимать какие-то базовые темы, но с другой стороны, я подумал, что они могут стать отличным способ “разогреться”. И буквально с первого вопроса “Что такое Virtual DOM?” мы с Евгением отправились в долгие рассуждения, касательно того, как работают обновления под капотом реакт. Упомянули Fiber, поговорили про реконсиляцию, о том, что вызывает рендеры и как ими управлять.
Честно, это моковое собеседование оказалось больше для меня, чем для Евгения. Я пока к нему готовился, обнаружил забытые пробелы, которые с большим удовольствием снова заполнил. Было интересно вместе порешать задачки на количество рендеров, пообсуждать батчинг в разных версиях реакт, композицию компонентов и хитрости мемоизации.
Надеюсь, что я смог помочь Жене обозначить точки для роста, и ему теперь чуть лучше ясно в какую сторону копать дальше, так как свои точки я обозначил совершенно точно.
В общем, вся тусовка заняла два с половиной часа и ко второму часу я понял, что мозг у меня уже плывет, но было очень интересно, а более того, помогло уложить еще лучше различные концепты реакт. Приложу пару задачек, если вдруг вам захочется тоже немного размять мозг. Ответ можно посмотреть в посте в телеге, там я их спрятал под спойлеры, чтобы можно подглядеть ;)
· 12 ч
Я кстати когда консультирую (хоть я и системщик, поэтому специфика тут своя), всегда начинаю с вопросов про работу памяти и указатели, вообще бывает даже не затрагивая специфику языка. Дело в том, что зная те вещи в ПК, что тебе нужны для выполнения действий, которые от тебя требуются для твоих рабочих задач - тебе все равно на то, на чем писать. Синтаксис то разный бывает, но суть одинаковая. Отметаем всякие сборщики мусора и тд, суть я передал. Не так давно за хорошую сумму консультировал одного сеньора ноды, перекатывающегося на Раст, оказалось, что для начала нужно изучить как в целом писать хороший, оптимизированный код. Пришлось показать ассемблер, как вычисления и массивы живут под фронтом языка, дал чтиво и потом проверяли вместе.
ответить
коммент удалён
· 5 ч
Глубокое замечание. Не могу спорить с тем, что знание каких-то уже устоявшихся фундаментальных вещей в целом уже приоткрывает суть работы со многими языками программирования.
Тут лишь вопрос насколько глубоко человек хочет погружаться. Кому язык по приколу интересен, а кому-то лишь бы на работу выйти.
ответить
ответ удалён
· 4 ч
Да это понятно, все от специфики рынка и вакухи зависит конечно, как у гошников - что такое горутины корутины как работает рантайм какие типы есть что такое корутины и пятое десятое, но это почти все вопросы. с тем же растом - тяжелее) Я просто к тому, что на консультациях/прощупе почвы стоит начинать вообще с начал арифеметики, потому что именно тут видно отсутствие понимание более высокоуровневых деталей))
ответить
ответ удалён
· 4 ч
Да, я согласен. Особенно, когда чел действительно долго в профессии его можно погонять такими темами, но тут ими надо еще самому владеть. К сожалению, на данном этапе развития такими вещами я не владею на должном уровне.
Но кстати, вы напомнили мне историю из жизни, когда я на стримах на твиче разбирался с С# по приколу и чел в чате тоже призывал меня взяться за ассемблер сначала. Я тогда не понимал его совета, но остальные участники чата отреагировали негативно)))
ответить
ответ удалён
· 4 ч
скажу так - сначала нужно просто научиться прогать и на практике понимать как пишется код. потом учишь теорию - понимаешь ПОЧЕМУ он работает)) это база, обратной дорогой ты код никогда писать не начнешь, потому что он всегда будет неидеальный
ответить
ответ удалён