Комментарии:
Я ответ не знал, в своём коде никогда такое не делал, но логически додумался. Не знаю, что покажет этот вопрос. ИМХО, лучше спрашивать вопросы типа первого, с которыми каждый опытный человек гарантированно сталкивался тысячи раз, но новичок может в них плавать.
ОтветитьНаверно никогда не пойму, зачем задавать такие вопросы на собесах
Ответитья хз конечно, но может в 2012 такой вопрос и имел бы смысл
ОтветитьООО я на оба ответил))) ток я даже не джун)дай бох трейни
ОтветитьМне кажется такое знает только сениоры которым скучно и они полезли в ванилу
ОтветитьНахожусь в неком недоумении... Почему во втором случае нет ошибки block undefined? Мы же нигде не объявляли переменную block, а в качестве параметра передали её без кавычек!!! То есть он считал ID вместо переменной? Почитал документацию append и не нашёл там упоминания такой возможности... Расскажите, в чём тут прикол? Что я упускаю?
Ответитьработаю 5 лет, на последний не ответил не ответил, да и с самого начала били по рукам за ид на компонентах
когда начинают спрашивать всякую дичь на собесах, уже не выдерживаю и сходу задаю вопрос "скажите, а мне придется работать с подобным кодом?" пару раз почему то обиделись
Первые два ответил правильно, а вот третий удивлен, что к элементу так можно без селектора. Или тут уже суть в том, что селектор уже сохранен и в другой консоли (или сбросить) такое не прокатит)
ОтветитьТак а где ответ, почему это происходит?
ОтветитьЯ думаю, что такие вопросы нужны и важны на собесах, равно как и вопросы, например, по JQuery как маркер конторы, в которую не стоит идти работать.
Мне сложно даже гипотетически придумать ситуацию, в которой нужно применять это решение в коммерческой разработке.
Разве что верстка лендоса какого-то, но это как бы не уровень милда ибо платить человеку 15$ в час за верстку лендосов как-то глупо.
Я бы в такую контору не пошел )
Ответитьчуствуете в воздухе завоняло es3, покойся с миром,
а для интервьювера рядом могилка
Эх не могу удержаться, чтобы не кинуть камешек в автора :) Такие вопросы - отличный способ отсеивать нормальных кандидатов. В программировании неисчислимое количество разных ловушек, про которые с любым опытом правильный ответ сложно дать. Проверяйте, что кандидат может решать те задачи, которые он будет решать в вашей фирме.
ОтветитьПро какой опыт вы говорите? Если это опыт решения задач с собеседований на подобии этой, то возможно те, кто решал и сразу ответят. На PR review в продакшне любой адекватный прогер, который будет проводить этот самый review, зареджектит ваш ПР с таким кодом и попросит переписать нормально.
ОтветитьПри використанні фреймворків мізерний шанс, що щось таке вийде.
ОтветитьХороший вопрос для собеседования в компанию, разрабатывающую JS-framework. Для всех остальных случаев звучит дико, ибо это вопрос на зубрёжку редко кому нужных частей официальной документации, иными словами это вопрос ради существования вопроса.
ОтветитьКонечно люди пишут на фреймворках а это для даунов. А вот переносить дивы нативным js это прям уровень.
ОтветитьХехе только сегодня это встречал.
Оранжевый бокс переместится во второй контейнер, а из первого пропадет. 😎
Это логично, что блок перемещается, но когда тебя такое спрашивает собеседователь, это становится похожим на вопрос с подвохом, потому что собеседователи те ещё чудики, мягко говоря.
ОтветитьГрёбаный JS, на первый вопрос я ответил бы что во двух блоках будет оренжевый блок)
ОтветитьДействительно важные задачи и они не про перемещение квадратиков, а про понимание устройства и функционирования DOM, т.е. основ. Вполне обоснованно требовать этого понимания от Middle, про Senior молчу...
Ответитьна последний вопрос у меня возник ответ, block undefined, но у вас Саш все работает, я удивился, решил протестить лично на codesandbox, и мне все таки выдает block undefined, че так ? )
ОтветитьНу всё логично же. JS работает последовательно. Это просто инструкции сценария. Не зря же он Джава СКРИПТ называется)) Соответственно ему абсолютно неважно, что написано до этого, он просто выполняет последнюю инструкцию. Я ответил практически в момент того как был продемонстрирован ответ)
Спасибо, Александр, вы просто Гуру, даже видео годичной давности очень полезны. Просто кладезь информации
Мужик, какой же дичью ты занимаешься
ОтветитьВсегда считал что целью собеседования является поиск нужного для проекта разработчика. Поэтому вопросы должны быть направлены на 1) умение логически мыслить 2) составление алгоритмов (умение понятно излагать свою мысль). Замечу что именно "составление", а не "знание" (например либимого всеми прохождения лабиринта). 3) написание мини проекта в рамках 1-2 дней, что бы знать насколько понятный код пишет товарищ, есть ли рефактор, нет ли копипаста и т.п.. А все вот эти собеседования на синтаксический сахар, редко используемые нюансы технологий, запутанный код и т.п. обычно практикуются в конторах с "знатным" легаси кодом, большой текучкой разработчиков и отсутсвием единых правил написания кода.
ОтветитьМужик, без обид, ты такую кашу говоришь, что сам вопрос очень трудно понять
Людям, которых ты не принял, мои поздравления - если ты так по работе объясняешь, я не понимаю вообще, как ваша компания что-то успевает в сроки
Интересно
Ответитьeslint второй вариант не пропустил был. Если это пример из практики, стоит задуматься, возможно, вы делаете что-то не так
ОтветитьНепонятно как автор делает выводы об уровне разработчика играя с ним в загадки. Абсолютно точно подобные трюки не дают ничего и не могут дать кроме "вау ну нифига себе во как". Увидеть такое в продакшене - оторвать руки. Если последнее утверждение вызывает вопросы, у меня для вас новость - вам еще кодить и кодить прежде чем вы придете к пониманию что ваш код не будут поддерживать гении и любители загадок. Конечно тут кто кого искал, если нужны любители загадок или олимпийские программисты то вероятно, да, такое на собесах ок. Как эти трюки помогают понимать как что-то там работает весьма спорно. Приведенные вопросы показывают тупо что JS просто еще есть куда расти и надо чем работать. Доступ к Id элемента как во втором примере - это забыть надо вообще навсегда, лет 20 назад уже это все обсудили.
Я отсобеседовал врядил меньше чем автор, никогда не ставил целью загадывать загадки, считаю это крайне непродуктивным. Нормальный инженер НЕ ДОЛЖЕН учить наизусть какие то приемы, а тем более приемы плохие. А вот что он должен так это СТАВИТЬ вопросы правильно и НАХОДИТЬ решение. К сожалению любители загадок и любители цитировать мануалы зачастую этими загадками и ограничиваются в работе. Очень сложно найти человека который бы умел думать а не тупо трюки показывать.
в jquery такого дерьма нету
$('.block1').append(block);
$('.block2').append(block);
нормально вставит 2 блока
Ну и что вы узнаёте о человеке этим вопросом?
По-моему ничего.
А та, было интересно, конечно узнать, что блок перепрыгнет =)
Это не для джунов, а для задротов. Зачем такое такое знать? Кто в здравом уме будет такое писать?
ОтветитьПервЬІй вопрос еще куда ни шло: на понимание js + базовое знание ДОМ. Но последний - просто знание справочной информации о ДОМ, которой никто не пользуется). Если человек не знает как сработает аппенд с несуществующей переменной - он не ответит правильно. И даже подводки нету к етому. Разве если работал с подобнЬІм алогичнЬІм апи с какого-то фреймворка. Щас посмотрим-с какие вопросЬІ автор считает тупЬІми).
ОтветитьЕсли человек идет на чистый JS, то вопрос в глубокие знания, если на фреймворк, то как показатель кругозора. Вот и все. Говорить, что глупый вопрос... Вот это глупо!
ОтветитьТакой бред никто в реальном коде использовать не додумается. Ну если все таки такое произойдет, то нормальный разработчик поймет в чем загвоздка.
Хватит придумывать идиотские вопросы для собеседований, это не связано с реальными задачами.
бред полный, если этого не знает кто то - то это совершенно ни о чем не говорит. Я найду десяток таких задач на которые автор видео не сможет ответить без гугла. И это не будет значить что он плохой программист без опыта.
ОтветитьПоначалу работал с чистым js и приходилось писать подобное. Так что ответ знал по опыту :)
Ответитьавтор кукухой поехал просто. джун и мидл на такой вопрос не ответят, а вот сеньёр пошлет куда подальше такого собеседующего и свалит с собеседования, потому что если уже на собеседовании такая дичь - то что же будет на реальном проекте? единственное что тут нужно запомнить в этом вопросе - если его задают, уходи с собеседования
ОтветитьИмхо узкие вопросы на собесах позволяют оценить только узкие знания в какой-то области. Ценности в данном вопрос нет никакой, решение гуглится за минуту? меньше минуты? А про то что сейчас с DOM напрямую особо не приходится работать и вопросы по нему просто отпугнут нормальных спецов, даже не говорю. Знаю одного синьера, который на вопрос про алгоритмы уходит с собеседования, т.к. в реальной жизни за 10+ лет в разработке фронта и бэка ему ни разу не приходилось делать алгоритмы. И я его понимаю, спрашивать нужно либо реальные вещи либо как-то определять способность обучаться и развиваться.
Ответитьне говорит этот вопрос о неопытности) говорит что с фреймворками работает чел мало)) а так да для случаев дебага может помочь быстро решить косячок))
ОтветитьЭто я на фото в начале видео!!!! зеленый
ОтветитьОтвет добавьте!!! Пжлст
Ответитьучитывая что сейчас уже никто не пишет на чистом js, а без знания фреймворка на мидла не выйти, думаю что это нормально, что ставит в тупик
ОтветитьМетоды append/prepend/before/after позволяют также перемещать уже существующие элементы. То есть, когда мы вставляем имеющийся элемент, он автоматически удаляется со своего прежнего места и добавляется в новое.
ОтветитьЛёгкий вопрос для тех, кто плотно писал на jQuery.
Ответить+
ОтветитьАбсолютно случайно узнал, что есть такая фишка с id. Код работал, а я и не знал, что в нем не хватает объявления переменной. Прилетело бумерангом когда мигрировал на ТайпСкрипт- там такое не прокатит.
ОтветитьЯ так понял, это работает из-за DOMString, хотя задачка странная
ОтветитьБыло бы круто, если бы добавили реальный пример из боевого проекта, где бы это потребовалось
ОтветитьЗагадка от жака фреско. На раздумье 10 секунд. Время пошло
Ответить