Изменение пропсов у стат компонентах не тригерет рендер, а вот изменение перенс стейта как раз тригерет рендер всех чайлд компонент, интервьюер явно говорит о том о чем не понимает и в пример привел кейс с реализацией React.memo и useCallback дело в том что пере рендер сохранённой компоненты происходит на этапе сравнение пропсов, но это поведение присущее только React.memo, но не к стат компонентам никакого отношения это не имеет, внутри memo после сравнения пропсов под капотом вызывается функция форсабдейт так как пропс не умеет ре рендерить.
Ботан ловко перевёл стрелку когда с пропсами обосрался)) P.S. На самом деле и фронтендер обосрался в этом плане. P.P..S. В любом случае, было смело выложить такой кринж!
1:11:02 вообще странный пример она написала, доказывая что при изменении пропсов нет перерендера. В этом примере, name Julia, в компонент передается Julia, а по кнопке меняется на Yaroslav, но в компонент передали уже Julia и это так и осталось, никто не передавал туда изменений. Это же банальный JS.
29:00 или очень странно выразили мысль, или ответ вообще не о том. CORS никак не защитит пользователя от запроса на левый ресурс, тк как раз ресурс управляет этой настройкой. Но зато CORS защитит тебя от запроса данных со своего ресурса при попадании на фишинговый сайт.
а если фишинговый сайт разрешил CORS с того домена, с которого ты посылаешь запрос? все же это сервак решает, какие заголовки посылать в ответ )) выходит не особо то и защищает)
Вот кстати да, CORS частая тема где спрашивающие сами не очень глубоко понимают вопрос. Защитить он может если идет попытка запроса на неконтролируемый злоумышленником запрос, типа сферического запроса в вакууме в интернет банкинг. А вот от отправки запросов на сервер злоумышленника не защитит
@@Icanfly- тем интереснее будет взять и объяснить интервьюеру, что он не прав) Если бы меня спросили - может быть вы имеете в виду CSP, я бы сказал - ой, да, точно) Есть конечно упоротые "сеньоры" для которых признать свою неправоту это большой удар по их самооценке, но надеюсь вам такие не будут попадаться)
18:33 не очень понимаю сложившуюся практику начинать отвечать с резолва dns, либо вообще не надо про это говорить и начинать с того что браузер получил html, либо там все немножко сложнее. Давайте уже тогда до arp таблиц дойдем, через кэши dns 😂. 99% спрашивающих сами не знают глубже чем резолв dns.
@@sanya-itА чем лучше с DNS? И почему только DNS если с ним лучше, вот честно пытаюсь понять зачем это спрашивают, у меня сложилось впечатление что тупо повторяют друг за другом, и это не только frontend, на бэке тоже хватает такого. Особенно когда ты вдруг знаешь какой то вопрос сильно глубже спрашивающего и видишь как он плывет в итоге на своем же вопросе. Как итог многие собеседования напоминают какой то брачный танец где надо просто соответствовать картине мира собеседующей стороны даже если она где то не права. Все конечно же ИМХО
Про DNS нужно знать, потому что фронты должны иметь представление, что нужно сделать, чтобы переключить домен с одного сервака на другой. Про брачный танец - прикольно подмечено, что-то в этом есть.
Ну ладно еще девушка 24:48 но 24:54 … - из той же оперы что про dns начинать рассказывать после того как ввел что то в адресную строку браузера. Ну не знаешь 7 уровневую модель, то и не надо туда лезть и кринжевать, и это ок для фронтендера не знать про tcp 3 way handshake. 26:13 Так это сервер на основании протоколов имеющихся нам клиенте выбирает версию которую они будут использовать, фронтендер на это не влияет
Обожаю это "чисто поговорить". Где-то прочитал и потом мучает конкурсантов. Сам в работе не использует. Спросите про инженерные практики с какими знаком разработчик, их то мы используем каждый день в работе. Я пока не стал готовиться к собеседованиям про TDZ не помнил, хотя наверняка читал в книгах Симпсона. Ну и пригодилось оно мне где-то когда-то? Нет.
А я всегда говорил (смотри другие видео и блог), что вопрос про var /let не имеет большого практического смысла. И Ярослав его выбрал просто чтобы начать беседу. Думаешь по незнанию TDZ я не сделал никакого вывода о знаниях кандидата.
Да и ни к чему, ведь мы пишем код для того чтобы в нём было просто разбираться, а не для того чтобы показать какие мы знатоки регулярок) Иногда без них никак, но это явно не тот случай)
@@sanya-it Ничего тут сверхсложного по факту и не нужно было, можно просто было написать: const formatPhoneNumber = (arr) => { const pattern = '(***) ***-****' let index = 0; return pattern.replace(/\*/g, () => arr[index++]) } pattern можно передавать вторым агрументом, для болшей универсальности. Я тоже не особо знаток регулярок ) предложеное решение было как по мне норм, легко читалось и всем было понятно что происходит в этом коде. Требовались бы только изменения и другое решение если бы мы хотели добиться большей универсальности кода/функции. По поводу пропсов, верно было сказано что это большое заблуждение и их изменения на самом деле не влекут ререндера. Просто мы часто делаем пропс дрилинг и передаем в пропсах стейт, поэтому и возникает такое искажение что изменение пропсов влечет перерендер. Какой опыт у кандидата хотелось бы узнать? Отвечала уверено, впечатление осталось хорошее. ( начало особо не смотрел, скакнул сразу на вторую часть - лайв кодинг и реакт)
крутое собеседование , смог досмотреть только до 9:53. Интерес взял вверх, выборочно посмотрел ответ о пропсах еще один и на 59:11 выключил видео. Не не показалось
@@sanya-it очень скучно нудное не внятно душное, я бы теми же самими вопросами задушил бы этого тимлида. Проблема ещё усугубляется тем что кредель хочет услышить ответы на вопросы как он хочет, а не как на самом деле.
тех, кто без опыта работы видно сразу, они очень хорошо вызубрили теорию, четко и грамотно говорят определения, но не могут просто поболтать на простые темы, которые казалось бы встречаются каждый день на реальных проектах
@@sanya-it Немного уточню. Идеально вызубрены определения стандартных механизмов и особенностей JavaScript и его сред выполнения типа как работает event loop, как браузер загружает страницу, особенности react и т д. Большой разрыв в знаниях в части того, как четко человек говорит определения и как потом плавает в практическом применении этих знаний. Не говорю, что среди таких ребят, которые недавно закончили курсы или воспользовались менторством нет достойных кандидатов, которые могли бы с использованием чата Gpt решать реальные бизнесовые задачки. Но тут нужны хорошие софты и огромное желание работать и учиться... учиться всю жизнь, и не задирать нос ;)
@@Дмитрий-д2к9б А я согласен с тем, что реальные харды очень важны. Вот только их проверить сложно, не все умеют задавать правильные вопросы и давать правильные задания.
@@sanya-it ну например, вспомнить факт из школы по матану, что если число делится на 9, то сумма цифр тоже делится на 9. Хотя конечно я допускаю, что если времени мало, то можно и не вспомнить..
@@alexandroppolus Несмотря на то у меня высшее образование математика-экономиста я не вспомнил сей факт. Ну не вспомнил и всё. Это повод делать какой-то вывод о моих (либо чьих-либо других) знаниях?
@@sanya-it Вывод сделал по тому, как в целом человек ведет себя. Научить кодить можно кого угодно, можно даже научить правильно отвечать на вопросы, оценивающие софт скилы... Но когда я набираю людей себе в команду, сразу представляю, как мы с ним сработаемся, как сработаются с ним другие ребята, насколько гибкий человек, насколько легко будет с ним выходить из конфликтных ситуаций, будут ли ребята чувствовать себя с ним комфортно. Не думай, что это просто вкусовщина. Девушка наверное хорошая, но своеобразная, и просто не для каждой команды подойдет.
Юля топ! Становится легендарным саннином:)
Спасибо за видео, было интересно)
Изменение пропсов у стат компонентах не тригерет рендер, а вот изменение перенс стейта как раз тригерет рендер всех чайлд компонент, интервьюер явно говорит о том о чем не понимает и в пример привел кейс с реализацией React.memo и useCallback дело в том что пере рендер сохранённой компоненты происходит на этапе сравнение пропсов, но это поведение присущее только React.memo, но не к стат компонентам никакого отношения это не имеет, внутри memo после сравнения пропсов под капотом вызывается функция форсабдейт так как пропс не умеет ре рендерить.
Вы приняты
59:10 Знай, ты разбила мне сердце 😂
Ботан ловко перевёл стрелку когда с пропсами обосрался))
P.S. На самом деле и фронтендер обосрался в этом плане.
P.P..S. В любом случае, было смело выложить такой кринж!
1:11:02 вообще странный пример она написала, доказывая что при изменении пропсов нет перерендера. В этом примере, name Julia, в компонент передается Julia, а по кнопке меняется на Yaroslav, но в компонент передали уже Julia и это так и осталось, никто не передавал туда изменений. Это же банальный JS.
1) Ждём видео когда ведущий будет не прав.
2) Видео когда кто-то в комментах будет не прав, не дождётесь. Такого не будет!
в комментах всегда самые "правые")
@@sanya-it Ультраправые я бы сказал
29:00 или очень странно выразили мысль, или ответ вообще не о том. CORS никак не защитит пользователя от запроса на левый ресурс, тк как раз ресурс управляет этой настройкой. Но зато CORS защитит тебя от запроса данных со своего ресурса при попадании на фишинговый сайт.
Действительно, я имел в виду CSP
а если фишинговый сайт разрешил CORS с того домена, с которого ты посылаешь запрос? все же это сервак решает, какие заголовки посылать в ответ )) выходит не особо то и защищает)
@@valentineserebreanu398 ещё раз. CORS устанавливается в твоём беке и защищает его от чужих фронтов, но не наоборот.
Вот кстати да, CORS частая тема где спрашивающие сами не очень глубоко понимают вопрос. Защитить он может если идет попытка запроса на неконтролируемый злоумышленником запрос, типа сферического запроса в вакууме в интернет банкинг. А вот от отправки запросов на сервер злоумышленника не защитит
@@Icanfly- тем интереснее будет взять и объяснить интервьюеру, что он не прав)
Если бы меня спросили - может быть вы имеете в виду CSP, я бы сказал - ой, да, точно)
Есть конечно упоротые "сеньоры" для которых признать свою неправоту это большой удар по их самооценке, но надеюсь вам такие не будут попадаться)
18:33 не очень понимаю сложившуюся практику начинать отвечать с резолва dns, либо вообще не надо про это говорить и начинать с того что браузер получил html, либо там все немножко сложнее. Давайте уже тогда до arp таблиц дойдем, через кэши dns 😂. 99% спрашивающих сами не знают глубже чем резолв dns.
Согласен, фронту можно отвечать с получения html. С DNS конечно лучше. А вот глубже - не вижу особого смысла.
@@sanya-itА чем лучше с DNS? И почему только DNS если с ним лучше, вот честно пытаюсь понять зачем это спрашивают, у меня сложилось впечатление что тупо повторяют друг за другом, и это не только frontend, на бэке тоже хватает такого. Особенно когда ты вдруг знаешь какой то вопрос сильно глубже спрашивающего и видишь как он плывет в итоге на своем же вопросе. Как итог многие собеседования напоминают какой то брачный танец где надо просто соответствовать картине мира собеседующей стороны даже если она где то не права. Все конечно же ИМХО
Про DNS нужно знать, потому что фронты должны иметь представление, что нужно сделать, чтобы переключить домен с одного сервака на другой.
Про брачный танец - прикольно подмечено, что-то в этом есть.
Ну ладно еще девушка 24:48 но 24:54 … - из той же оперы что про dns начинать рассказывать после того как ввел что то в адресную строку браузера. Ну не знаешь 7 уровневую модель, то и не надо туда лезть и кринжевать, и это ок для фронтендера не знать про tcp 3 way handshake.
26:13 Так это сервер на основании протоколов имеющихся нам клиенте выбирает версию которую они будут использовать, фронтендер на это не влияет
Тапки топ
Обожаю это "чисто поговорить". Где-то прочитал и потом мучает конкурсантов. Сам в работе не использует. Спросите про инженерные практики с какими знаком разработчик, их то мы используем каждый день в работе. Я пока не стал готовиться к собеседованиям про TDZ не помнил, хотя наверняка читал в книгах Симпсона. Ну и пригодилось оно мне где-то когда-то? Нет.
А я всегда говорил (смотри другие видео и блог), что вопрос про var /let не имеет большого практического смысла. И Ярослав его выбрал просто чтобы начать беседу. Думаешь по незнанию TDZ я не сделал никакого вывода о знаниях кандидата.
@@sanya-it чтд. Сорри, если что.
Что-то хорошее в комментариях
Девушка молодец, получше многих отвечает
с номером телефона регуляркой особо не решишь кажется, они же для строк а там массив передают
Да и ни к чему, ведь мы пишем код для того чтобы в нём было просто разбираться, а не для того чтобы показать какие мы знатоки регулярок) Иногда без них никак, но это явно не тот случай)
@@sanya-it Ничего тут сверхсложного по факту и не нужно было, можно просто было написать:
const formatPhoneNumber = (arr) => {
const pattern = '(***) ***-****'
let index = 0;
return pattern.replace(/\*/g, () => arr[index++])
}
pattern можно передавать вторым агрументом, для болшей универсальности.
Я тоже не особо знаток регулярок ) предложеное решение было как по мне норм, легко читалось и всем было понятно что происходит в этом коде. Требовались бы только изменения и другое решение если бы мы хотели добиться большей универсальности кода/функции.
По поводу пропсов, верно было сказано что это большое заблуждение и их изменения на самом деле не влекут ререндера.
Просто мы часто делаем пропс дрилинг и передаем в пропсах стейт, поэтому и возникает такое искажение что изменение пропсов влечет перерендер.
Какой опыт у кандидата хотелось бы узнать? Отвечала уверено, впечатление осталось хорошее. ( начало особо не смотрел, скакнул сразу на вторую часть - лайв кодинг и реакт)
крутое собеседование , смог досмотреть только до 9:53. Интерес взял вверх, выборочно посмотрел ответ о пропсах еще один и на 59:11 выключил видео. Не не показалось
А если подробнее?
@@sanya-it очень скучно нудное не внятно душное, я бы теми же самими вопросами задушил бы этого тимлида.
Проблема ещё усугубляется тем что кредель хочет услышить ответы на вопросы как он хочет, а не как на самом деле.
да нормальный тим лид, вначале подушнил конечно немного с этими вопросами про приведение типов, но в целом все по делу спрашивал
кажется вы тут перепутали тимлида и фронтендера))
а какой это уровень трейни или джун?
тех, кто без опыта работы видно сразу, они очень хорошо вызубрили теорию, четко и грамотно говорят определения, но не могут просто поболтать на простые темы, которые казалось бы встречаются каждый день на реальных проектах
Мне кажется тут не было идеально вызубренной теории, зато был хороший лайвкодинг. Мы точно про одно и то же видео?
@@sanya-it Немного уточню. Идеально вызубрены определения стандартных механизмов и особенностей JavaScript и его сред выполнения типа как работает event loop, как браузер загружает страницу, особенности react и т д. Большой разрыв в знаниях в части того, как четко человек говорит определения и как потом плавает в практическом применении этих знаний. Не говорю, что среди таких ребят, которые недавно закончили курсы или воспользовались менторством нет достойных кандидатов, которые могли бы с использованием чата Gpt решать реальные бизнесовые задачки. Но тут нужны хорошие софты и огромное желание работать и учиться... учиться всю жизнь, и не задирать нос ;)
@@Дмитрий-д2к9б А я согласен с тем, что реальные харды очень важны. Вот только их проверить сложно, не все умеют задавать правильные вопросы и давать правильные задания.
задача "на рекурсию" выбрана, мягко говоря, неудачно))
const digitalRoot = n => n && (n % 9 || 9);
Подскажи, а как обычный человек об этом мог бы догадаться?)
@@sanya-it ну например, вспомнить факт из школы по матану, что если число делится на 9, то сумма цифр тоже делится на 9. Хотя конечно я допускаю, что если времени мало, то можно и не вспомнить..
@@alexandroppolus Несмотря на то у меня высшее образование математика-экономиста я не вспомнил сей факт. Ну не вспомнил и всё. Это повод делать какой-то вывод о моих (либо чьих-либо других) знаниях?
@@sanya-it о чьих-то знаниях - разумеется, нет. Но на мой взгляд, если через рекурсию решается сложнее, чем по-простому, то это как-то неправильно.
Девушка не очень по софтам, в команде тяжеловато будет с ней
Пояснишь, по какому ответу сделал такой вывод?
софт скилы кодеру нужны, чтобы кодить херню, но зато с умным видом.
@@SP-hb6dd а кто такие кодеры?
@@sanya-it Вывод сделал по тому, как в целом человек ведет себя. Научить кодить можно кого угодно, можно даже научить правильно отвечать на вопросы, оценивающие софт скилы... Но когда я набираю людей себе в команду, сразу представляю, как мы с ним сработаемся, как сработаются с ним другие ребята, насколько гибкий человек, насколько легко будет с ним выходить из конфликтных ситуаций, будут ли ребята чувствовать себя с ним комфортно. Не думай, что это просто вкусовщина. Девушка наверное хорошая, но своеобразная, и просто не для каждой команды подойдет.
@@SP-hb6ddэто ты наверное кодеров с манагерами перепутал😂
слабая кондидатка