@@tebesvet Разработчик - это программист. А "верстать" - это верстальщик. Я бы удавился нанимать фронтенд-программиста за зарплату программиста, чтобы он мне медленно и криво верстал. При том, что я могу нанять профессионального верстальщика, который бы верстал с полтычка и стоил бы на 20% дешевле.
41:30 - Это не замыкание, это обычное разрешение (поиска переменной) области видимости. Замыкание - это когда функция имеет доступ к своей лексической области видимости, даже если она вызывается вне своей лексической области видимости. А так что-то он усложнил. const get = (obj, path) => path.split`.`.reduce((nested, key) => nested && nested[key], obj);
Если ты это решил в течении 2х минут под надзором собеседующего, то у тебя неплохие навыки в решении задачек, выходит что ты пришёл повыёбываться со своего уровня? Или ты это посидел в спокойной тишине и решил, и пришёл выёбываться решив это в другой обстановке и потратив на это больше времени? В любом случае ты тут себя выставил придурком давая оценку тому как человек в боевых условиях справился с задачей :)
@@panakure1084 Да ладно, поц строковые литералы юзает вместо адекватного вызова функций. Представляю, какое легаси кому-то после него достанется . Мало того, получив undefined он дальше пойдет по остальным ключам бегать
В большинстве случаев сработает, но допустим у нас есть obj = {apple: 0}, тогда при вызове get('apple.sad.bad.rotten') выведется 0, а должен быть undefined, даже если заменить && на ??, все равно проп может быть null. Поэтому внутри reduce лучше написать чет типа typeof nested === 'undefined' ? undefined : nested[key], вроде ы должно работать
Я вообще думаю что вёрстку на собесах спрашивать - это зашквар. Типа если человек смог освоить хотя бы один фреймворк на нормальном уровне, то верстать он и подавно сможет. Вёрстка - это навык, который можно освоить за день, с абсолютного нуля, ну выучить методологии типа bem или атомик css ещё плюс пару дней от силы
@@dis1755 если для человека какие то макеты сложные ему делать нечего во фронтенде. Из всего что тут есть - верстка это самое примитивное. Можно посадить пятиклассника и он через два дня будет верстать как бог. А уж всерьез спрашивать про верстку на собесе... сразу виден уровень компании и интервьюера, работать там точно не стоит - за недоразвитыми рефакторить сомнительное удовольствие.
Я удивлен что ни middle разработчик ни собеседующий не знают что такое useCallback и React.memo🤔. Это абсолютная база для любого junior реакт разработчика
знать про них и уметь их грамотно применять разные вещи. У джунов как правило не хватает компетенции грамотно применять эти инструменты, ибо чтобы это грамотно применять нужно понимать подкопотную механику работы реакта. А это только с опытом приходит. Грейд тут непонятно откуда взялся, но если человек не работал с реактом, то странно от миддла ждать что он мидл во всем фреймворках / языка / технологиях
Я удивлен был еще с секции css тому какие ошибки на мидл позиции он совершает. А когда уже начали трогать js, стало совсем facepalm. Увы, назвать его мидлом язык не поворачивается. Без обид к участнику.
16:15 label это не просто "семантическая обёртка", при клике на label (если в атрибуте for label'а указан id checkbox'а) будет меняться значения checkbox'а Я тоже из Кирова🙂 Задолбало сидеть без работы 😞
Дочерний компонент не обернут в мемо и вы рассуждаете об функции в обработчике. Собеседующий должен поглубже погрузиться в то, что он спрашивает. Испанский стыд.
12:26 - display: none плохо, потому что tab не будет работать, можно через visibility обыграть 20:44 - z-index работает у любых позиционированных элементов, кроме static (дефолтное значение) Задача про оптимизацию: - Компоненты разбить по файлам - Стрелочных функций не должно быть в коде, выносим их (т.к. при ререндере каждый раз заново создается) - Используем useCallback для мемоизации - Неверный подход с использованием лайков - index можно использовать для статичных списков, но не в данном случае. Не знает, когда происходит ререндер компонента. Это основа основ. Он не работал на реакте на реальных проектах. Тут явно не мидл
useCallback - его задача это создать ссылку на функцию, которую можно будет передавать как пропс в мемоизированные компоненты или как зависимость в другие хуки.
Это уровень мидла? Серьезно? Причем вопрос не к кандидату, а к девушке которая подбирала вопросы и задания. Что интересно вы у синьора будете спрашивать? Про сортировку пузырьком? Смешно! Час потрачен в пустую.
Странный человек. На собеседовании делать чекбокс по памяти, вместо того, чтобы сделать его как можешь, т.е. показать, как ты понимаешь, как это работает. Обвинять человека, что он не переформулировал общеназванную тему, которую никак по-другому не скажешь... Либо знаешь, либо нет. Сомневаюсь в профессионализме
Рекурсии в проде писать не только вредно, но и аморально. Что должны делать другие разработчики с Вашими рекурсиями?! Ломать глаза и вывихивать мозг?! Для олимпиад, может, это и норм. То, что Вы умело с ними обращаетесь, делает Вам честь, но рекурсии сложно поддерживать и рефакторить, потому что у ребят по команде может быть разный roadmap, не все нацелены на "элегантность алгоритма", кому-то важнее решать задачи бизнеса, что подразумевает экономическую составляющую, которая, в свою очередь, сильно зависит от многих параметров даже близко не имеющих отношения к "умению написать рекурсию". Рекурсию всегда можно заменить циклом, по крайней мере, в большинстве используемых ЯП. Плюс, если мне не изменяет память, она не хило так отжирает ресурсы. С точки зрения саморазвития, не поспоришь, полезная штука. Для бизнеса, сорян, палки в колёса.
@@B-S-A рекурсиями легче решить некоторые задачи. Они отъедают память, но, опять же, для некоторых задач очень понятны. А вот над тем как перевести рекурсию в итеративный процесс надо будет подумать, часто это может быть совсем не тривиально.
@@mrkvchch Приведите пожалуйста пример такой задачи, в которой рекурсию проще написать, чем итератор. Я как-то исследовал эту тему и не нашел ни одного подтверждения в пользу рекурсии. Я очень люблю Python, и Гвидо высказался в ключе, что рекурсия - скорее, хороший теоретический подход к фундаментальной математике, нежели повседневный инструмент. В JavaScript рекурсией легко "отстрелить себе ногу" вызвав переполнение стека вызовов, иначе придётся "держать в уме" и контроллить не много ли элементов будет перебираться в каждом из возможных вариантов применения рекурсивного алгоритма. Для себя я давно разделил программирование на решение олимпиадных задач и продакшн. Если олимпиадные задачи развивают мозг, то в проде важны простота и "фактор автобуса". Поэтому, хотелось бы увидеть реальную задачу, в которой оверхед по-сравнению с рекурсией будет заметен.
@@B-S-A не оправдывайте своё не умение в рекурсию заботой о "других программистах" и переполнением стека. во многих языках рекурсия уже давно оптимизирована через tail call optimization и не вызывает накладных расходов. а про заботу - лично мне вы сломаете мозг именно своим циклом на 100500 строк вместо 1й рекурсивной. на чтение портянки чужого кода с пачкой промежуточных переменных времени можно потратить не меньше, чем на понимание пары строк с рекурсией.
@@kibermenso Да блин... Во-первых, Вы намеренно задели моё самолюбие, чтобы я написал коммент? Если нет, потрудитесь обдумывать что пишите, токсичный Вы наш... Во-вторых, Вы, конечно, почесали своё ЧСВ умением в рекурсию (ну или в слова), вот только, порой, избавиться от рекурсии бывает сложнее, чем её применить. В-третьих, я оставил первый коммент, потому что видео про интервью. Видео будут смотреть люди, которые хотят пройти собеседование. По первоначальному комменту "БУБЛЬГУМ"а они могут начать представлять себе, что без рекурсии никуда. По факту, если человека начнут гонять про рекурсию на собесе, да ещё про фронтенд, да ещё на middle, не к добру это всё. Ещё, я откомментировал, потому что, повторюсь, исследовал эту тему. В-четвёртых, я привёл конкретные аргументы, почему рекурсия, скорее, вредная штука, чуть менее чем всегда. Вы же понимаете, что Ваши аргументы про 100500 и 1 строчек кода и "пачку" промежуточных переменных несостоятельны. Так же несостоятелен Ваш аргумент про то, что Вам, лично, проще понять рекурсивную функцию, нежели нерекурсивную. Вы, несомненно, красавчик! Вот только выборка в одного человека - так себе доказательство. В-пятых, с некоторыми прелестями рекурсии можно ознакомиться в посте за номером 256351 на хабре. Там есть один толковый комментарий, который поддерживает Вашу точку зрения, впрочем, не отменяя всего там вышенаписанного. Кстати, тему про tail call optimization там тоже затронули, и про накладные расходы что-то было. В-шестых, согласен ли я, что рекурсия для некоторых алгоритмов выглядит элегантнее и её проще грокнуть? Несомненно! И где я утверждал обратное?! Но лишние грабли, которые, как обычно, вылезут в самый неподходящий момент, только вредят нашему общему делу. Покрасоваться можно и на codewars. Вот только для решения практических задач в проде трудно найти такой алгоритм, который будет "вот прям вот НАМНОГО короче и проще для понимания". Лучше забыть рекурсию как страшный сон. В-седьмых, если проблема в этом, признаю, что все, кто могут написать рекурсию, включая Вас, намного круче меня. И, наконец, в следующий раз, пожалуйста, будьте добры высказывать свою точку зрения аргументированно, чтобы это не выглядело пустым бахвальством.
Я конечно еще не до конца посмотрел, но что это за собеседование такое? Где вопросы про ООП, наследование, представьте что вы - квадрат, а я - круг, какую абстракцию вы выберите, реализация графа через матрицу и всякое такое? Эх, так уж и быть, на 3-х месячную стажировку без пересмотра ЗП по результатам возьмем...
Ну где тут мидл? Он же не знает многих базовых вещей. Как это программист не умеет писать рекурсии? Как он работает на фронте в вебе и не умеет верстать?
Интересно, чем занимается фронтендер, который не любит верстать? Как жаль, что в цифровом обществе нет рабов; одни бы собирали данные, другие - их чистили, а я бы модельки фигачил.
В комментах, видимо, разрабы уровня Фаанг. Что пудов посади так практически любого из них и сольются. Норм пацан держался, видно что с реактом мало работал, поработать с реактом и будет мидлом.
@@ДаниилМотуновя в последнее время стал замечать, что джун - это крутой разработчик умеющий ВСЁ?! Что такое вопросы на джуна? Я скок проходил собесы на джуна когда начинал и на мидла позже. Так вот собесы +- одинаковые как для мидла так и для джуна. Вот сейчас в новой компании работаю (позиция называлась strong-jun/middle react developer) и собес был легче чем этот у Тимура. Дело случая!
@@dmitriystoyanov933 у меня завтра собес в одного гиганта РФ на позицию мидла. Если будут такие вопросы - я уже считай на новой работе😄на нынешнее место вообще не было тех.интервью. Попросили на коленке за пару часов сделать намётки на ЯндексДЗЕН, посмотрели код и приняли)
@@ДаниилМотуновне ну в крупные известные компании вряд ли такие собесы будут..ну я никогда не пробовался в крупные и известные, но думаю там сложнее. Удачи!
После 10+ лет работы фронтом, я вообще не понимаю, как можно ненавидеть вёрстку. Это всё равно что иметь автомобиль и говорить "я ненавижу багажник и можно чтобы капот составлял 80% длины автомобиля".
Неплохой разраб. Но вы уж, конечно, меня простите или захейтите, но какая искусственная (пластмассовая) баба) у нее же ни одного слова или эмоции своей и настоящей нет) PS>Хотя, справедливости ради, к концу собеса стала почестнее. Но вот это желание всем понравиться - тик-токеры, пожалуйста, не унижайтесь так, не пытайтесь соответствовать, ну не бойтесь вы так быть самими собой - и будет вам полный Дзен
Тебя очень сложно понять. Во-первых что за "баба" такая? Во-вторых, причем тут тик токеры? В-третьих, ты бы к мужику придрался в плане поведения? На мой взгляд, тут более фундаментальные проблемы. Собеседующая уже оторвалась от продакшен кода давненько (не редкость для публичных персон) и поэтому говорит немного странные вещи. НО, от пола это НИКАК не зависит.
Ну а насчет "неплохого разраба" это вообще сомнительно. Верстать он ненавидит, уровень откровенно слабый, маленько даже дерзит не по делу (софт скиллы наши любимые). Я бы такого, если и взял, то на позицию джуниора. Хотя верстку ему не дашь, ведь он верстать ненавидит... Так что...
Чел: верстать ненавижу Также чел: оподливился на жс Также чел: оподливился в вопросах экосистемы жс Также чел: я слаб в рефакторинге Также чел: оподливился в архитектуре Тогда вопрос, а че он умеет? UPD: госпади, спеку к языку своему почитайте, никакого всплытия там в помине не существует. Механизм абсолютно другой
@@chikenmacnugget ты похоже пытаешься обосрать, но штаны снять забываешь, скинь ка ссылку на "истинную документацию" и если ты будешь прав, то заберу свои слова
@@-And6053 чел, если ты даже не знаешь где спека по языку лежит, по которому ты что-то обсуждать собрался, то о чем речь вообще? Сиди дальше чсв свое набивай в комментах. Я тебе учителем не нанимался, захочешь экспертизу свою поднять - сходишь поищешь и разберешься. Мне профита от победы в интернет дискуссиях никакого нет. Следственно и усилий я не грамма не приложу. А ты там можешь что тебе нравится думать. Обосрался/не обосрался. Для меня ты всего лишь очередной регуляр, который спеки (скорее всего) в глаза не видел и при таком подходе (судя по всему) и не увидит. То что ты пишешь это чушь полная, которая показывает твой низкий уровень, потому что судя по твоим словам ты даже спеку хтмл5 от спеки жс отличить не можешь. Из чего можно сделать вывод, что спеку хтмл5 ты также в глаза не видел…
@@chikenmacnugget ахахахах, посмеялся от души конечно) Html5 приплел к DOM, который и дает API Js-у для работы с ивентами, где происходит все 3 фазы(Погружение, capture цели, всплытие). Но хотя когда ты написал про HTML5 можно было уже закончить)
- Ты вообще верстать любишь?
- Терпеть ненавижу просто……….
- Штож
😐😂
Всегда странно слышать от веб-разработчика (особенно от фронтендера), что он ненавидит верстать
@@tebesvet зажрались) Фронтендер обязан уметь верстать! Нравится это ему, или нет
@@lemonetrambone Уметь да. Верстать - нет)
@@lemonetrambone чувак, ты чувствуешь разницу между словами "ненавижу" и "умею"?
@@tebesvet Разработчик - это программист. А "верстать" - это верстальщик. Я бы удавился нанимать фронтенд-программиста за зарплату программиста, чтобы он мне медленно и криво верстал. При том, что я могу нанять профессионального верстальщика, который бы верстал с полтычка и стоил бы на 20% дешевле.
41:30 - Это не замыкание, это обычное разрешение (поиска переменной) области видимости. Замыкание - это когда функция имеет доступ к своей лексической области видимости, даже если она вызывается вне своей лексической области видимости.
А так что-то он усложнил. const get = (obj, path) => path.split`.`.reduce((nested, key) => nested && nested[key], obj);
Если ты это решил в течении 2х минут под надзором собеседующего, то у тебя неплохие навыки в решении задачек, выходит что ты пришёл повыёбываться со своего уровня? Или ты это посидел в спокойной тишине и решил, и пришёл выёбываться решив это в другой обстановке и потратив на это больше времени? В любом случае ты тут себя выставил придурком давая оценку тому как человек в боевых условиях справился с задачей :)
@@panakure1084 Да ладно, поц строковые литералы юзает вместо адекватного вызова функций. Представляю, какое легаси кому-то после него достанется . Мало того, получив undefined он дальше пойдет по остальным ключам бегать
Здорова!!!!!!
В большинстве случаев сработает, но допустим у нас есть obj = {apple: 0}, тогда при вызове get('apple.sad.bad.rotten') выведется 0, а должен быть undefined, даже если заменить && на ??, все равно проп может быть null. Поэтому внутри reduce лучше написать чет типа typeof nested === 'undefined' ? undefined : nested[key], вроде ы должно работать
Какую проблему решает замыкание?
уже более пяти лет во фронте и ни разу не делала с нуля кастомный чекбокс, всегда брала готовый с codpen и переделывала
Я вообще думаю что вёрстку на собесах спрашивать - это зашквар. Типа если человек смог освоить хотя бы один фреймворк на нормальном уровне, то верстать он и подавно сможет. Вёрстка - это навык, который можно освоить за день, с абсолютного нуля, ну выучить методологии типа bem или атомик css ещё плюс пару дней от силы
Ты, видимо, никогда не верстал, а может даже и не видел сложные макеты для верстки, раз такую чушь пишешь.@@Tunec_s_hlebom
@@dis1755 если для человека какие то макеты сложные ему делать нечего во фронтенде. Из всего что тут есть - верстка это самое примитивное. Можно посадить пятиклассника и он через два дня будет верстать как бог. А уж всерьез спрашивать про верстку на собесе... сразу виден уровень компании и интервьюера, работать там точно не стоит - за недоразвитыми рефакторить сомнительное удовольствие.
@@Tunec_s_hlebom не всё так просто. не всё так просто.
@@TheReallamos не надо сказки рассказывать про пятиклассников. Хорошо верстать умеют единицы.
ребята я себя на его фоне мидлом почувствовал !
Я удивлен что ни middle разработчик ни собеседующий не знают что такое useCallback и React.memo🤔. Это абсолютная база для любого junior реакт разработчика
😁
знать про них и уметь их грамотно применять разные вещи. У джунов как правило не хватает компетенции грамотно применять эти инструменты, ибо чтобы это грамотно применять нужно понимать подкопотную механику работы реакта. А это только с опытом приходит.
Грейд тут непонятно откуда взялся, но если человек не работал с реактом, то странно от миддла ждать что он мидл во всем фреймворках / языка / технологиях
@@Mr.Bellamy не спорю, но я предполагал что это собес именно на реакт ибо странно спрашивать фишки реакта у чела, который на нём особо не писал🤔
Я удивлен был еще с секции css тому какие ошибки на мидл позиции он совершает. А когда уже начали трогать js, стало совсем facepalm. Увы, назвать его мидлом язык не поворачивается. Без обид к участнику.
@@МаксимКадабецкий а что он там наговорил про JS не то?
16:15 label это не просто "семантическая обёртка", при клике на label (если в атрибуте for label'а указан id checkbox'а) будет меняться значения checkbox'а
Я тоже из Кирова🙂
Задолбало сидеть без работы 😞
добавлю немного духоты - но лабел все-таки функционально необходим в этом паттерне и также он нужен для ux
Наконец-то нормальное интервью, без разговоров за жизнь и с задачами по теме.
А че нормального-то подсудимый конретно сливается.
Чел хорошо умеет пизд... , гм много говорить по теме и без , вообще это скил полезный, за счёт базара можно себе профита много получить
По уровню джун или джун-, не больше, заголовок 'middle фронтенд-разработчик' слишком завышено
мне кажется если бы это не было публичное собеседование, после слов - ненавижу верстать, она бы с ним сразу попрощалась
Сам верстать не люблю.
Если бы набирали верстальщика, может быть
Ловите ВГМного
@@БоровКастомайзный то есть ты не фронтендер? Или бы сказал такое на интервью на фронта?
Какая очаровательная девочка))) Очень умная, приятна, зря только чекает) Видно, что пытается быть проще, но это ни к чему)
она класс)
@@Sung_Jin-VVoo да уж, он хотел написать "чОкает")))
любимая рубрика)
что-то собес мне показался не на мидла а на джуна)
Тимур технично расправился с чекбоксом,
но на задаче про get Лена всё поняла и не стала жестить ;)
@@AntonAMinin что то мне подсказывает что ты с ней бы не справился :) а кандидат справился
@@clearsky906 а с чем там справляться? задача очень простая и решить ее можно в одну строчку
@@psy667 пока не увижу решения "в одну строчку" - одно пустое балабольство
@@lionstar3189 я решил в 10 строк, но получится в одну если писать все в одну строку
Дочерний компонент не обернут в мемо и вы рассуждаете об функции в обработчике. Собеседующий должен поглубже погрузиться в то, что он спрашивает. Испанский стыд.
Интервьюер: Любишь верстать?
Фронтенд разработчик: терпеть ненавижу
5:59
12:26 - display: none плохо, потому что tab не будет работать, можно через visibility обыграть
20:44 - z-index работает у любых позиционированных элементов, кроме static (дефолтное значение)
Задача про оптимизацию:
- Компоненты разбить по файлам
- Стрелочных функций не должно быть в коде, выносим их (т.к. при ререндере каждый раз заново создается)
- Используем useCallback для мемоизации
- Неверный подход с использованием лайков
- index можно использовать для статичных списков, но не в данном случае.
Не знает, когда происходит ререндер компонента. Это основа основ.
Он не работал на реакте на реальных проектах. Тут явно не мидл
Понятия мидл сильно размыто. Но в целом согласен, если эти задачи на мидла, то я синьор с опытом работы в год)
@@ДаниилМотунов понятие всего сильно размыто. А вот усвоение опыта отлично видно, так что по лычкам может быть он и мидл, а по факту повидл
useCallback - его задача это создать ссылку на функцию, которую можно будет передавать как пропс в мемоизированные компоненты или как зависимость в другие хуки.
Это в самом деле уровень мидла? Я на данный момент только учусь на джуна. Некоторые представленные здесь задачи выглядят довольно простыми.
Тсс …
От компании к компании. Но это же публичный собес
Каждое видео с ним, я мидл, а по ходу интервью по скалам на джуна тянет только
Так стоп, то есть посмотрев 50 выпусков it камасутры и посмотрев видео от Владилена «50 вопросов для собеседования» я могу считать себя мидлом?
А кто мешает?) Если хочешь, можешь себя даже синьйором считать.
сильный
6:04 Забавная реакция на сообщение об ненависти к верстке))
"цээсэсные раскладки" - тоже в ступов вогнало. "тип отображения элемента" это называется.
Это уровень мидла? Серьезно? Причем вопрос не к кандидату, а к девушке которая подбирала вопросы и задания. Что интересно вы у синьора будете спрашивать? Про сортировку пузырьком? Смешно! Час потрачен в пустую.
Хааххааххахахаха
А что ты хотел 7
Ну есть ощущение что он сразу не блеснул и она спустилась проверить вещи попроще))
эмм.. ну вы серьёзно? middle?
Хера се! Походу у него СТО выбил зуб за срыв сроков...
div нельзя внутрь label - не валидный html
Если бы я работал в команде с этой девушкой, то мой интерес из программирования сменился бы на нее 🙃
"Ща, чё, акей, чёта блин, все пошло через жопу"... было бы намного лучше, если бы женщина-интервьюер говорила грамотно
А где тут мидл, я извиняюсь?)
А вы мидл?
@@kirillilyin8173 синьор помидор 🍅
Тимур прикольный) хардскиллы подкачать не проблема, а с софтскиллами у него явно все хорошо. это главное)
Но лейбл тут не только для семантики, а ещё для того, чтобы инпут работал. Без лейбла ведь не будет работать, если используем input {display: none}
то чувство когда на трейни меня спрашивали куда серьезнее...... что за найиг происсходит
Это называется мы хотим мидла по цене трейни, вот и всё
Собес на мидла
- Ну видно, что человек версиал, расставлял блоки на странице
Я : 🤷🏻♂️🤦🏻♂️
У меня ещё опыта нет но мне кажется что это все не очень миддлский
я один заметил сходство интервьюера с актрисой Jia Lissa??
Ah i see you’re a man of culture as well 😏
Тимур тупит чуть, ну и Бог с ним, с кем не бывает
а вот интервьюер Лена - не оторвать глаз, очень милая девушка ❤
Собес на Джуна
Это же на интёрна было да?
Собес на стажёра
Пошлость звенящая пошлость
Так что в итоге? Хлопчика походу съели на Reacte! Сказали перезвонят, но не ему?!🤔
Ну чё, теперь в хекслет точно не пойду..😮 а чё
Опять эти проходимцы активизировались
const get = (keys, obj) => {
const coll = keys.split('.');
return coll.reduce((object, el) => {
const result = object[el];
return result;
}, obj);
};
внимательнее смотри видос, тесты твой код не пройдет.
@@xxxxPomaHxxxx можно либо обернуть в trycatch, либо const result = (object || {}) [el];
Странный человек. На собеседовании делать чекбокс по памяти, вместо того, чтобы сделать его как можешь, т.е. показать, как ты понимаешь, как это работает. Обвинять человека, что он не переформулировал общеназванную тему, которую никак по-другому не скажешь... Либо знаешь, либо нет. Сомневаюсь в профессионализме
Очень слабый тип, элементарных вещей не знает. Большинство джунов по хардскилам его уделают
const get = (objPath, obj) => {
const pathParam = objPath.split('.');
if (pathParam.length === 1) return obj[pathParam[0]]
else return get(pathParam.slice(1, pathParam.length).join('.'), obj[pathParam[0]])
}
Решил за 2 минуты )
1:08:00
виджеты он пилил для сайтов... ну ну :)
Проименуйте полоску видео, раскидайте тайминги вопросов. Что, так сложно
исходя из моего опыта, вообще не похоже на собес на мидла.
А мидл может не уметь писать рекурсии?
Рекурсии в проде писать не только вредно, но и аморально. Что должны делать другие разработчики с Вашими рекурсиями?! Ломать глаза и вывихивать мозг?!
Для олимпиад, может, это и норм. То, что Вы умело с ними обращаетесь, делает Вам честь, но рекурсии сложно поддерживать и рефакторить, потому что у ребят по команде может быть разный roadmap, не все нацелены на "элегантность алгоритма", кому-то важнее решать задачи бизнеса, что подразумевает экономическую составляющую, которая, в свою очередь, сильно зависит от многих параметров даже близко не имеющих отношения к "умению написать рекурсию".
Рекурсию всегда можно заменить циклом, по крайней мере, в большинстве используемых ЯП. Плюс, если мне не изменяет память, она не хило так отжирает ресурсы.
С точки зрения саморазвития, не поспоришь, полезная штука. Для бизнеса, сорян, палки в колёса.
@@B-S-A рекурсиями легче решить некоторые задачи. Они отъедают память, но, опять же, для некоторых задач очень понятны. А вот над тем как перевести рекурсию в итеративный процесс надо будет подумать, часто это может быть совсем не тривиально.
@@mrkvchch Приведите пожалуйста пример такой задачи, в которой рекурсию проще написать, чем итератор. Я как-то исследовал эту тему и не нашел ни одного подтверждения в пользу рекурсии. Я очень люблю Python, и Гвидо высказался в ключе, что рекурсия - скорее, хороший теоретический подход к фундаментальной математике, нежели повседневный инструмент. В JavaScript рекурсией легко "отстрелить себе ногу" вызвав переполнение стека вызовов, иначе придётся "держать в уме" и контроллить не много ли элементов будет перебираться в каждом из возможных вариантов применения рекурсивного алгоритма. Для себя я давно разделил программирование на решение олимпиадных задач и продакшн. Если олимпиадные задачи развивают мозг, то в проде важны простота и "фактор автобуса". Поэтому, хотелось бы увидеть реальную задачу, в которой оверхед по-сравнению с рекурсией будет заметен.
@@B-S-A не оправдывайте своё не умение в рекурсию заботой о "других программистах" и переполнением стека. во многих языках рекурсия уже давно оптимизирована через tail call optimization и не вызывает накладных расходов. а про заботу - лично мне вы сломаете мозг именно своим циклом на 100500 строк вместо 1й рекурсивной. на чтение портянки чужого кода с пачкой промежуточных переменных времени можно потратить не меньше, чем на понимание пары строк с рекурсией.
@@kibermenso Да блин...
Во-первых, Вы намеренно задели моё самолюбие, чтобы я написал коммент? Если нет, потрудитесь обдумывать что пишите, токсичный Вы наш...
Во-вторых, Вы, конечно, почесали своё ЧСВ умением в рекурсию (ну или в слова), вот только, порой, избавиться от рекурсии бывает сложнее, чем её применить.
В-третьих, я оставил первый коммент, потому что видео про интервью. Видео будут смотреть люди, которые хотят пройти собеседование. По первоначальному комменту "БУБЛЬГУМ"а они могут начать представлять себе, что без рекурсии никуда. По факту, если человека начнут гонять про рекурсию на собесе, да ещё про фронтенд, да ещё на middle, не к добру это всё. Ещё, я откомментировал, потому что, повторюсь, исследовал эту тему.
В-четвёртых, я привёл конкретные аргументы, почему рекурсия, скорее, вредная штука, чуть менее чем всегда. Вы же понимаете, что Ваши аргументы про 100500 и 1 строчек кода и "пачку" промежуточных переменных несостоятельны. Так же несостоятелен Ваш аргумент про то, что Вам, лично, проще понять рекурсивную функцию, нежели нерекурсивную. Вы, несомненно, красавчик! Вот только выборка в одного человека - так себе доказательство.
В-пятых, с некоторыми прелестями рекурсии можно ознакомиться в посте за номером 256351 на хабре. Там есть один толковый комментарий, который поддерживает Вашу точку зрения, впрочем, не отменяя всего там вышенаписанного. Кстати, тему про tail call optimization там тоже затронули, и про накладные расходы что-то было.
В-шестых, согласен ли я, что рекурсия для некоторых алгоритмов выглядит элегантнее и её проще грокнуть? Несомненно! И где я утверждал обратное?! Но лишние грабли, которые, как обычно, вылезут в самый неподходящий момент, только вредят нашему общему делу. Покрасоваться можно и на codewars. Вот только для решения практических задач в проде трудно найти такой алгоритм, который будет "вот прям вот НАМНОГО короче и проще для понимания". Лучше забыть рекурсию как страшный сон.
В-седьмых, если проблема в этом, признаю, что все, кто могут написать рекурсию, включая Вас, намного круче меня.
И, наконец, в следующий раз, пожалуйста, будьте добры высказывать свою точку зрения аргументированно, чтобы это не выглядело пустым бахвальством.
А зачем заставлять верстать, если можно словами все рассказать? Как-то даже жалко время и интервьюера, и собеседуемого)
Лена хороша, Тимур красавчик!
Кек. Геттер, который вместо false, пустой строки, нуля и кучи всего... возвращает undefined.
Такой идиотизм спрашивать про верстку
Я конечно еще не до конца посмотрел, но что это за собеседование такое? Где вопросы про ООП, наследование, представьте что вы - квадрат, а я - круг, какую абстракцию вы выберите, реализация графа через матрицу и всякое такое? Эх, так уж и быть, на 3-х месячную стажировку без пересмотра ЗП по результатам возьмем...
это какая-то чушь
*мидл* , говорит много, половина просто вода и не правильно, код пишет так себе, учится учится и еще учится ему ))
Ну где тут мидл? Он же не знает многих базовых вещей. Как это программист не умеет писать рекурсии? Как он работает на фронте в вебе и не умеет верстать?
чел он не говорил, что не умеет. Он говорил, что не любит это.
Лучше хорошо разбираться в логике и посредственно в верстке, чем наоборот.
Просто интересно тебе в проектах хоть раз рекурсия понадобилась?
@@awcacawawcaawd5432 Естественно, а как еще обойти директорию с файлами?
Все про фронт енд ua-cam.com/video/pz31Jo11NvY/v-deo.html
очень слабый кандидат, далеко не мидл
Интересно, чем занимается фронтендер, который не любит верстать? Как жаль, что в цифровом обществе нет рабов; одни бы собирали данные, другие - их чистили, а я бы модельки фигачил.
Ну может быть, кнопку красит в разные цвета и формы шлепает. А верстает раб с ненавистных ими галер.
Кринжатина, тут мидлом и не пахнет, а сейчас даже джуну с такими навыками тяжело будет что то найти 😂
у меня друг без опыта на 280к на фронтэнд попал в банк месяц назад и прошел еще в два места, расскажи )
В комментах, видимо, разрабы уровня Фаанг. Что пудов посади так практически любого из них и сольются. Норм пацан держался, видно что с реактом мало работал, поработать с реактом и будет мидлом.
Да не в этом дело) Это действительно собеседование не на мидла, а на джуна с полугодом опыта. Но даже на такие вопросы Тимур отвечал со скрипом
@@ДаниилМотуновя в последнее время стал замечать, что джун - это крутой разработчик умеющий ВСЁ?! Что такое вопросы на джуна? Я скок проходил собесы на джуна когда начинал и на мидла позже. Так вот собесы +- одинаковые как для мидла так и для джуна. Вот сейчас в новой компании работаю (позиция называлась strong-jun/middle react developer) и собес был легче чем этот у Тимура. Дело случая!
@@dmitriystoyanov933 у меня завтра собес в одного гиганта РФ на позицию мидла. Если будут такие вопросы - я уже считай на новой работе😄на нынешнее место вообще не было тех.интервью. Попросили на коленке за пару часов сделать намётки на ЯндексДЗЕН, посмотрели код и приняли)
@@ДаниилМотуновне ну в крупные известные компании вряд ли такие собесы будут..ну я никогда не пробовался в крупные и известные, но думаю там сложнее. Удачи!
@@dmitriystoyanov933 Спасибо!)
что-то так много токсичных коментов🙈
Его в итоге не взяли на работу?
Можно спросить у него в твиттере)
@@HexletOrg его же в Авиасейлс тестировали?!
В его резюме данная организация не числится, значит не взяли)
@@berikomarov так собес учебный, оно и не планировалось как устройство)
Речь у нее... 🤦🏻♂️ , мидл на циклах 🤦🏻♂️ это фиаско) отправьте их на хекслет, проходить профессию...)))
"чё" через слово ужасно режет ухо
И он себя мидлом считает???🤦
Лол он даже до джуна не тянет
eval бы решил задачу с объектом и ключами строками, но я не внимательно смотрел
за eval на метровый дилдо сажают обычно))
Собеседование на миддл верстальщика, что за ерунда? И в очередной раз убедился какое же гавно этот реакт.
После 10+ лет работы фронтом, я вообще не понимаю, как можно ненавидеть вёрстку.
Это всё равно что иметь автомобиль и говорить "я ненавижу багажник и можно чтобы капот составлял 80% длины автомобиля".
девушка конечно ппц, "Короче, чо я хачуууу....." мдееее
да, такое слушать сложно(
То есть библиотечка, консолька и эйчтиэмэлька от того, кто больше должен проявлять субординацию, не смутило?
Тока и делал бы что ходил бы по собесам, если бы собеседовали такие сладенькие компотики)))
Цирк в начале.
очень слабый собеседующий, на мидла не тянет
Я люблю Лену!
какая душная девочка с завышенным ЧСВ 🤮
Неплохой разраб. Но вы уж, конечно, меня простите или захейтите, но какая искусственная (пластмассовая) баба) у нее же ни одного слова или эмоции своей и настоящей нет)
PS>Хотя, справедливости ради, к концу собеса стала почестнее. Но вот это желание всем понравиться - тик-токеры, пожалуйста, не унижайтесь так, не пытайтесь соответствовать, ну не бойтесь вы так быть самими собой - и будет вам полный Дзен
Тебя очень сложно понять. Во-первых что за "баба" такая? Во-вторых, причем тут тик токеры? В-третьих, ты бы к мужику придрался в плане поведения? На мой взгляд, тут более фундаментальные проблемы. Собеседующая уже оторвалась от продакшен кода давненько (не редкость для публичных персон) и поэтому говорит немного странные вещи. НО, от пола это НИКАК не зависит.
Ну а насчет "неплохого разраба" это вообще сомнительно. Верстать он ненавидит, уровень откровенно слабый, маленько даже дерзит не по делу (софт скиллы наши любимые). Я бы такого, если и взял, то на позицию джуниора. Хотя верстку ему не дашь, ведь он верстать ненавидит... Так что...
Единственное, что мне понравилось в этом видео, симпатичная девушка
for get() function easier solution:
function get(seq, obj) {
return seq.split('.').reduce((acc, curr) => acc[curr], obj)
}
Лена я от тебя в восторге)))
стояк?
@@SadBatya хуяк
Омерзительные люди, я ищу роботу, не могу найти, а парень справа находит роботу, а я нет. Болтовнёй занимаются.
Мерзский человек парень справа. Мерзская девушка слева.
Дефолтный собесс баб, я вообще если вижу что собесят бабы , то сразу отказываюсь) часто озлобленные с завышенным ЧСВ, а тут еще и две страх жуть 😂
Реакт это голимая библиотечка, а не Фреймворк
Чел: верстать ненавижу
Также чел: оподливился на жс
Также чел: оподливился в вопросах экосистемы жс
Также чел: я слаб в рефакторинге
Также чел: оподливился в архитектуре
Тогда вопрос, а че он умеет?
UPD: госпади, спеку к языку своему почитайте, никакого всплытия там в помине не существует. Механизм абсолютно другой
В JS нет фазы всплытия?) Удиви ка своими "познаниями", может быть еще нет фазы погружения ивента?)
@@-And6053 ну иди спеку почитай и удивись, а не бредни из интернетика от недоразрабов
@@chikenmacnugget ты похоже пытаешься обосрать, но штаны снять забываешь, скинь ка ссылку на "истинную документацию" и если ты будешь прав, то заберу свои слова
@@-And6053 чел, если ты даже не знаешь где спека по языку лежит, по которому ты что-то обсуждать собрался, то о чем речь вообще? Сиди дальше чсв свое набивай в комментах. Я тебе учителем не нанимался, захочешь экспертизу свою поднять - сходишь поищешь и разберешься. Мне профита от победы в интернет дискуссиях никакого нет. Следственно и усилий я не грамма не приложу. А ты там можешь что тебе нравится думать. Обосрался/не обосрался. Для меня ты всего лишь очередной регуляр, который спеки (скорее всего) в глаза не видел и при таком подходе (судя по всему) и не увидит. То что ты пишешь это чушь полная, которая показывает твой низкий уровень, потому что судя по твоим словам ты даже спеку хтмл5 от спеки жс отличить не можешь. Из чего можно сделать вывод, что спеку хтмл5 ты также в глаза не видел…
@@chikenmacnugget ахахахах, посмеялся от души конечно) Html5 приплел к DOM, который и дает API Js-у для работы с ивентами, где происходит все 3 фазы(Погружение, capture цели, всплытие). Но хотя когда ты написал про HTML5 можно было уже закончить)