Хотя в IT и разработана шкала оценки программистов (Trainee, Junior, Middle, Senior, Tech Lead), с которой более или менее все согласны, единого определения каждого уровня среди работодателей пока нет. В итоге каждая компания устанавливает собственные требования к навыкам на каждом уровне.
Этот тест поможет вам прикинуть, какой бы у вас был грейд, если бы вы собеседовались в МКБ.
Хотя в IT и разработана шкала оценки программистов (Trainee, Junior, Middle, Senior, Tech Lead), с которой более или менее все согласны, единого определения каждого уровня среди работодателей пока нет. В итоге каждая компания устанавливает собственные требования к навыкам на каждом уровне.
Этот тест поможет вам прикинуть, какой бы у вас был грейд, если бы вы собеседовались в МКБ.
Комментарии (28)
h4x0rlol
00.00.0000 00:00+4Вы знаете куда больше других, значит, пора переходить на новую ступень. Кажется, в МКБ ваш грейд был бы Senior.
А на деле даже до собеса на джуна не дойти..
shsv382
00.00.0000 00:00+1вот примерно то же самое: Вы уже неплохо разбираетесь в React. Возможно, в МКБ ваш грейд был бы Middle.
а на деле даже резюме не просматривают )))RomasBitinas
00.00.0000 00:00Приятно знать, что я не один такой. Нашел стажировку, прохожу ее уже несколько месяцев и подписал на контракт на парт тайм после конца стажировки. Был уверен что будет проще с этим опытом уже найти нормальную работу, но никто даже на интервью не приглашает. Возможно, нетворкинг сейчас важнее hard skills
AntonyDev
00.00.0000 00:00+3Доброго времени суток! Я не согласен с ответом на 12 вопрос, там по моим ожиданиям будет ошибка на уровне несоответствия типов в инкременте, при попытке прибавить единицу к a, которое может быть null.
P.S. Надеюсь код нацарапал правильно, т.к. проходил тест с телефона, а код писал по памяти))LuggerFormas
00.00.0000 00:00-1Там имплиситно вызовется тунамбер и нулл станет 0
У Вас тайпскрипт воет
AntonyDev
00.00.0000 00:00+2Если писать на JS, то да, но здесь TS и он не даст это запустить без отключения проверки типов
pokatomnik
00.00.0000 00:00+1Смотря как настроить: может вполне дать собрать, особенно если
strict: false
.
Miraage
00.00.0000 00:00+112 вопрос еще дебильный по той причине, что гипотетически можно успеть кликнуть кнопку до того, как useEffect вызовется.
maeris
00.00.0000 00:00Я вот вроде бы на реакте давно пишу, а всё равно не понял, как между микротиками может пролезть клик. Точно так может быть?
Alexandroppolus
00.00.0000 00:00+1useEffect не микротаск, он отрабатывает после отрисовки на экране (и, например, тот же requestAnimationFrame пролезает перед ним). Хотя насчет события мыши сказать затрудняюсь. Можно ли кликнуть по ещё невидимой кнопке с вызовом обработчика клика?..
maeris
00.00.0000 00:00+8Как-то я посмотрел на эти задачи, и... если у вас в проде
null + 1
и мутация объектов вuseEffect
это норма, я бы не хотел у вас работать.(Конкретно на этот вопрос правильный ответ: на initState забыт readonly, FC почему-то берётся из неймспейса руками, useCallback потерян, export default запрещён линтом, код не проходит ревью.)
AVCarp
00.00.0000 00:00-2Задача программиста (а тем более Team Lead) - не только писать красивый код, но и уметь разбираться в чужом. А там зачастую и не такое бывает. Именно поэтому задачи вполне корректные. И уверен, что очень даже реальные.
Kreastr
00.00.0000 00:00+1Если код так написан, то нет даже смысла тратить время на то, чтобы в нем разбираться - он не подерживаемый. Его нужно сразу отправлять на рефакторинг. Впрочем иногда в компаниях делают именно так - нанимают себе подчиненных, которые пишут вот такой код, чтобы "начальник" мог в рабочее время решать каты, а не проблемы.
Но если уж хочется "разобраться", то ответы на вопросы из теста выше можно получить запустив код на исполнение. И тут есть только 2 варианта: код либо соответствует ТЗ, либо нет.
maeris
00.00.0000 00:00+5Если бы кто-нибудь с серьёзным лицом сказал, к примеру, что повар должен уметь работать на грязной кухне, или что врач должен уметь работать в грязной операционной, он был бы немедленно поднят коллегами на смех. Когда кто-то на собеседовании проверяет умение лавировать вокруг банановых шкурок, свежего помёта птицы додо и наваленных граблей, это вызывает недоумение, и должно его вызывать. Не понимаю, как случилось, что среди программистов многие не понимают, что помойка это не нормальное состояние для рабочего пространства, и что в такой ситуации уборка в приоритете над всеми остальными задачами.
dark_ruby
00.00.0000 00:00+2если вы видите такие "задания" на собесе, то с собеса надо бежать! потому что не дай бог устроиться куда-то и иметь дело с такого рода кодом как часть своих рабочих обязанностей.
getmancar
00.00.0000 00:00Наотвечал на мидла исключительно интуитивным способом, даже немного страшно стало, может лучше бы на рулетке так удачу потратил :)
Вижу
any
в typescript - отпадают варианты.В вопросе про вывод в консоли js, вижу промис - сразу выбираю вариант, где он первый.
В вопросе про вывод в консоли jsx, вижу useEffect - сразу выбираю вариант, где он последний.
sovaz1997
00.00.0000 00:00+2Этот тест поможет вам прикинуть, какой бы у вас был грейд, если бы вы собеседовались в МКБ.
Вы бы гарантированно получили несоответствие вида реальный сеньор = джун в МКБ; реальный джун = сеньор в МКБ. Удачи с таким подходом)
andres_kovalev
00.00.0000 00:00В последнем вопросе ответ неправильный - чтобы что-то вывелось, надо App срендерить, а там он просто экспортируется)
Mox
00.00.0000 00:00+2Тест на знание тонкостей, но неужели кому-то в голову придет закладываться на последовательность срабатывания useEffect при рендере? Модифицировать initState так как в тесте?
Я видел проекты где код писали бы люди, которые бы прошли этот тест на 100%, их уже через год никому поддерживать нереально, но главное - и смысла так писать нет - код пишется для людей.
Alexandroppolus
Ответ на 4 вопрос не совсем верный, если map прилетит из ифрейма. В этом случае более надежен вариант Object.prototype.toString.call(value) === "[object Map]"
maeris