Comments 28
Ответ на 4 вопрос не совсем верный, если map прилетит из ифрейма. В этом случае более надежен вариант Object.prototype.toString.call(value) === "[object Map]"
Вы знаете куда больше других, значит, пора переходить на новую ступень. Кажется, в МКБ ваш грейд был бы Senior.
А на деле даже до собеса на джуна не дойти..
вот примерно то же самое: Вы уже неплохо разбираетесь в React. Возможно, в МКБ ваш грейд был бы Middle.
а на деле даже резюме не просматривают )))
Приятно знать, что я не один такой. Нашел стажировку, прохожу ее уже несколько месяцев и подписал на контракт на парт тайм после конца стажировки. Был уверен что будет проще с этим опытом уже найти нормальную работу, но никто даже на интервью не приглашает. Возможно, нетворкинг сейчас важнее hard skills
Доброго времени суток! Я не согласен с ответом на 12 вопрос, там по моим ожиданиям будет ошибка на уровне несоответствия типов в инкременте, при попытке прибавить единицу к a, которое может быть null.
P.S. Надеюсь код нацарапал правильно, т.к. проходил тест с телефона, а код писал по памяти))
ну достаточно обернуть ее в Number и все
12 вопрос еще дебильный по той причине, что гипотетически можно успеть кликнуть кнопку до того, как useEffect вызовется.
Я вот вроде бы на реакте давно пишу, а всё равно не понял, как между микротиками может пролезть клик. Точно так может быть?
<Удалено>
Как-то я посмотрел на эти задачи, и... если у вас в проде null + 1
и мутация объектов в useEffect
это норма, я бы не хотел у вас работать.
(Конкретно на этот вопрос правильный ответ: на initState забыт readonly, FC почему-то берётся из неймспейса руками, useCallback потерян, export default запрещён линтом, код не проходит ревью.)
Задача программиста (а тем более Team Lead) - не только писать красивый код, но и уметь разбираться в чужом. А там зачастую и не такое бывает. Именно поэтому задачи вполне корректные. И уверен, что очень даже реальные.
Если код так написан, то нет даже смысла тратить время на то, чтобы в нем разбираться - он не подерживаемый. Его нужно сразу отправлять на рефакторинг. Впрочем иногда в компаниях делают именно так - нанимают себе подчиненных, которые пишут вот такой код, чтобы "начальник" мог в рабочее время решать каты, а не проблемы.
Но если уж хочется "разобраться", то ответы на вопросы из теста выше можно получить запустив код на исполнение. И тут есть только 2 варианта: код либо соответствует ТЗ, либо нет.
Если бы кто-нибудь с серьёзным лицом сказал, к примеру, что повар должен уметь работать на грязной кухне, или что врач должен уметь работать в грязной операционной, он был бы немедленно поднят коллегами на смех. Когда кто-то на собеседовании проверяет умение лавировать вокруг банановых шкурок, свежего помёта птицы додо и наваленных граблей, это вызывает недоумение, и должно его вызывать. Не понимаю, как случилось, что среди программистов многие не понимают, что помойка это не нормальное состояние для рабочего пространства, и что в такой ситуации уборка в приоритете над всеми остальными задачами.
если вы видите такие "задания" на собесе, то с собеса надо бежать! потому что не дай бог устроиться куда-то и иметь дело с такого рода кодом как часть своих рабочих обязанностей.
Наотвечал на мидла исключительно интуитивным способом, даже немного страшно стало, может лучше бы на рулетке так удачу потратил :)
Вижу any
в typescript - отпадают варианты.
В вопросе про вывод в консоли js, вижу промис - сразу выбираю вариант, где он первый.
В вопросе про вывод в консоли jsx, вижу useEffect - сразу выбираю вариант, где он последний.
Этот тест поможет вам прикинуть, какой бы у вас был грейд, если бы вы собеседовались в МКБ.
Вы бы гарантированно получили несоответствие вида реальный сеньор = джун в МКБ; реальный джун = сеньор в МКБ. Удачи с таким подходом)
хороший тест, спасибо
Решил тест на «12 Middle». Отправил резюме.
chatGPT набрал 10 из 13 и стал Middle.
Прошел на тех лида, а я думал я джун+
В последнем вопросе ответ неправильный - чтобы что-то вывелось, надо App срендерить, а там он просто экспортируется)
Тест на знание тонкостей, но неужели кому-то в голову придет закладываться на последовательность срабатывания useEffect при рендере? Модифицировать initState так как в тесте?
Я видел проекты где код писали бы люди, которые бы прошли этот тест на 100%, их уже через год никому поддерживать нереально, но главное - и смысла так писать нет - код пишется для людей.
Middle, в реальности джун. Тест ничего не показывает.
Найди себя в React
Хотя в IT и разработана шкала оценки программистов (Trainee, Junior, Middle, Senior, Tech Lead), с которой более или менее все согласны, единого определения каждого уровня среди работодателей пока нет. В итоге каждая компания устанавливает собственные требования к навыкам на каждом уровне.
Этот тест поможет вам прикинуть, какой бы у вас был грейд, если бы вы собеседовались в МКБ.