Хорошее видео. Неожиданно не просто список вопросов и ответов, а довольно глубокая оценка. Есть замечание про this на схеме "calling a normal function" а случае если это не dot-нотация нужна еще одна развилка: используется строгий режим (например в модуле, или указанный вручную) или нет. Т.к. this === undefined в этом сценарии только в строгом режиме. В нестрогом там будет globalThis. Это, конечно, есть на схеме "in script or module", но лучше было еще раз уточнить этот момент. да и важно не то, модуль это или нет, а именно строгий или используется режим. если включить строгий режим в скрипте без модуля, то так же получим undefined. В примере на замыкания ошибочка. На собесе бы за такое зацепились )) Первый вызов counter() вернет 0, т.к. у нас там постинкремент. вот если бы в возвращаемой функции было return ++count, тогда все бы соответсвовало логам.
Лучшее видео как для новичков, так и для более опытных. Мне не помешало ничего досмотреть до конца. Продолжай в любом случае, у тебя хорошо получается🎉
Спасибо! 1. Примитивы тоже передаются по ссылке, а не по значению. Это легко заметить, если переменную с огромным стрингом отправить в качестве параметра в функцию: размер кучи не поменяется. 2. Псевдомассив arguments де-факто deprecated. Используй метод rest вместо: (...args)
Сначала была удивлена количеством похвалы в комментах, думала просто местечковые подписчики хвалят. Но на середине видео на моменте с контекстом this поняла насколько это прекрасный материал. Я всего лишь джун и не знаю многого, а сейчас рынок труда малость сумасшедший и не знаешь чего ждать. Но я точно понимаю пользу от этого материала, даже если он пока не может полностью уложиться в моей голове. Спасибо большое за труд. Так же хочу заметить что в программируй, типизируй немного иначе описана динамическая и строгая типизации, шире. Если кому интересно, прочтите - первые 40 страниц дадут вам чуть более широкую картину.
Благодарю за видео. Большая часть материала на практике вообще не используется и затирается из памяти рабочими задачами, но действительно, на собесах постоянно гоняют эти вопросы. Рад, что в этом видео задачи собраны в кучу и можно освежить память. Всех благ. P.S. Хорошо было бы еще разобрать вопросы с подвохом. Как же они раздражают на собесах.
очень круто сделал. очень глубоко разобрал каждый вопрос. т.е. ты именно разобрал вопрос, дал понимание почему так, а не тупо сказал что это так. респект
Блин, информация очень круто и подробно раскрыта. Некоторые вещи вообще впервые увидел, в силу их спецефичности, также и не видел чтобы их спрашивали, но тем не менее, очень полезно для понимания того, как устроен язык и как он обрабатывает определенные процессы. Спасибо, больше бы контента, который так же раскрывает обыденные темы и охватывает больше, чем просто шаблонные вопросы!
Функция throttle не совсем корректная. Если например нам нужно выполнять операции не чаще чем раз в секунду, и при этом второй вызов пришелся например через 900ms после предыдущего, то получается что новый вызов будет доступен через 900 + 1000 ms. И еще один момент. Наверное все-таки нам понадобится выполнить операцию по истечении времени задержки, а не просто проигнорировать ее, как в примере.
Про мёртвую зону Мурыч сказал что сморозил чушь так как где-то это прочитал и не перепроврил. Никакой мёртвой зоны нет. В остальном про проверку на то что мы хотим у обратиться к переменной до того как она объявлена верно. Откуда вообще взялось что var устарело интерестно, сам в это долго верил..
36:14 держу в курсе, structuredClone в разы медленней чем JSON.parse + stringify в большинстве случаев. Реальное преимущество structuredClone - это его возможность сохранять копию вместе с функциями и прочими эл-тами, не помещающимися в json
На джуновские должности идёт 3-4 вопроса из JS, typescrpipt, вопросы по фрэйворку, плюс серверные технологии. И тут уже ничего шаблонного нет, вопросы будут идти чистым рандомом, на усмотрение проводящего собес сотрудника. Как предложите готовиться к такому?
Привет! Почему же, вопросы из остальных тем такие же шаблонные) Конкретно это видео покрывает те самые 3-4 вопроса из JS. Как правило, все они (или большинство из них) будут аналогичны тем, что я в видео разобрал. По другим технологиям в идеале бы выпустить аналогичные видео, но довольно много времени занимает подготовка к таким видео. Думаю, в течение года по всем темам подобные ролики выпущу)
Подскажите, пожалуйста, почему если в пустом файле, н/р, test.js, написать единственную строчку кода "console.log(this)" и запустить скрипт, то runtime выдаёт пустой объект {} вне зависимости от строгости режима? Но если вызвать console.log(this) в функции, н/р, function logThis() {console.log(this)}, то в зависимости от режима runtime выдаёт либо Object [global], либо undefined.
Привет! Это по-прежнему зависит от откружения, в котором скрипт запускается. Насколько я по описанию могу судить, речь про ноду, мы все же рассматривали браузер)
@@vladimirlebedev00010 Да, речь про ноду, просто не понимаю почему при поведении через функцию, наследуя родительское окружение, мы получаем undefined или globalThis, а если попытаться получить доступ к this напрямую в самом что ни на есть батя-маминском окружении через единственный console.log(this), то получаем пустой объект {}. Откуда тогда берутся undefined and globalThis если конечной остановкой является {}?
Вопрос к автору видео? Какой у вас опыт разработки? Были ли энтерпрайз проекты или работа в стартапе? Я не про коммерческую разработку (галеры сейчас все меньше интересуют). Чего спрашиваю. Для джуновского уровня эти знания прокатят, а вот выше уже вопросы. Слишком много ошибок. Именно технических, как js работает под капотом. Хотя, автор может поискать демимурыча. Он это видео разобрал по косточкам, отметил все моменты. А этот муж весьма авторитетен. Так что рекомендация автору, найди его стрим на Ютубе и посмотри, выйдешь на новый уровень.
JS для собеседований - это: let, var, const - типа их на работе ты не используешь, да? Объекты никогда не замораживаешь? Никогда не клонируешь объекты? и т.д К чему эти слова про 2 разных js в начале?
Привет! Уже больше 3-х лет пишу код за деньги, никогда не приходилось замораживать объекты, отличать глубокую копию от неглубокой, использовать var, сталкиваться с особенностями this в разных режимах. Но все это спрашивают и по этим ответам определяют твою экспертность, что для меня дико, но как есть.
5:31 - Event loop не часть JS, єто не часть стандарта. Event Loop - єто механизм реализации. Именно по этому ивент луп может и отличается в разных движках. Более того асинхронность JS можно реализовать и без ивент лупа
ахринеть. на собесах спрашивают про сборщик мусора в типах данных. серьёзно? когда пишу uikit мне конечно как никогда надо помнить что такое ивент луп и сборщик мусора и как не попасть на var. у интервьюеров каша в голове что ли?)
Так и не понял, в чем претензия. Моё решение не покрывает все кейсы? Очевидно, полифил выглядел бы сложнее, чем то, что я реализовал, ну а кому это нужно? На собеседованиях чаще всего несколько задач, если представить, что это одна из них, то предложенного мной решения хватит.
Хорошее видео. Неожиданно не просто список вопросов и ответов, а довольно глубокая оценка.
Есть замечание про this на схеме "calling a normal function" а случае если это не dot-нотация нужна еще одна развилка: используется строгий режим (например в модуле, или указанный вручную) или нет. Т.к. this === undefined в этом сценарии только в строгом режиме. В нестрогом там будет globalThis.
Это, конечно, есть на схеме "in script or module", но лучше было еще раз уточнить этот момент. да и важно не то, модуль это или нет, а именно строгий или используется режим. если включить строгий режим в скрипте без модуля, то так же получим undefined.
В примере на замыкания ошибочка. На собесе бы за такое зацепились ))
Первый вызов counter() вернет 0, т.к. у нас там постинкремент. вот если бы в возвращаемой функции было return ++count, тогда все бы соответсвовало логам.
Привет! Спасибо тебе большое за фидбек, замечания более чем уместные, со всеми соглашусь)
Лучшее видео как для новичков, так и для более опытных. Мне не помешало ничего досмотреть до конца. Продолжай в любом случае, у тебя хорошо получается🎉
Спасибо большое!
Нужно такое же видео по TypeScript
Крутое видео, большую часть вопросов отсюда действительно спрашивали (хожу по собесам уже несколько месяцев, завтра очередной). Спасибо за контент)
Спасибо! Удачи на собеседованиях!)
И что никуда не берут 😮
@@ПолинаЕремина-у2ч не знаю как сейчас. Давно не проходил. Сколько уже собесов без офера?
как успехи?
@@antoncigur2724 безуспешно. Сижу на старом месте
Автор, ты красавчик !
Очень помогает освежить память и узнать что то новое , спасибо !
Было бы круто по реакту так же в 2 часах покопаться 😊
Нужно такое же видео по angular)
Это прсто бомба!!! смотрю второй раз =)) Ждем реально 2 части =))
Спасибо Вам огромное за такой супер полезный материал! Действительно, спрашивают все из этого видео
Супер полезно, давно ждал) Еще бы такое же по ангуляру
Спасибо! По ангуляру обязательно выпущу аналогичное видео)
@@vladimirlebedev00010 ждём!
@@vladimirlebedev00010 жду уже 2 месяца
просто отличные ответы, еще не видел чтобы так подробно расскрывали ответы. Жду следующие видео
это просто жесть! нереально 👍🏼
Большое спасибо за видео. Прям то, что надо. Ясно, понятно, по делу.
Спасибо!
1. Примитивы тоже передаются по ссылке, а не по значению. Это легко заметить, если переменную с огромным стрингом отправить в качестве параметра в функцию: размер кучи не поменяется.
2. Псевдомассив arguments де-факто deprecated. Используй метод rest вместо: (...args)
Последователь мурыча)
Сначала была удивлена количеством похвалы в комментах, думала просто местечковые подписчики хвалят. Но на середине видео на моменте с контекстом this поняла насколько это прекрасный материал. Я всего лишь джун и не знаю многого, а сейчас рынок труда малость сумасшедший и не знаешь чего ждать. Но я точно понимаю пользу от этого материала, даже если он пока не может полностью уложиться в моей голове. Спасибо большое за труд.
Так же хочу заметить что в программируй, типизируй немного иначе описана динамическая и строгая типизации, шире. Если кому интересно, прочтите - первые 40 страниц дадут вам чуть более широкую картину.
Шикарное видео и очень доходчиво рассказываешь! Записуй еще
Благодарю за видео. Большая часть материала на практике вообще не используется и затирается из памяти рабочими задачами, но действительно, на собесах постоянно гоняют эти вопросы. Рад, что в этом видео задачи собраны в кучу и можно освежить память. Всех благ.
P.S. Хорошо было бы еще разобрать вопросы с подвохом. Как же они раздражают на собесах.
очень круто сделал. очень глубоко разобрал каждый вопрос. т.е. ты именно разобрал вопрос, дал понимание почему так, а не тупо сказал что это так. респект
Спасибо за полезный контент❤
Классное видео, но его в формате шортсов дополнительно бы тоже посмотрел)
Крутой видос! Много нового узнал. Лайка и подписки не жалко
Спасибо огромное, очень полезно!
спасибо,видео очень помогло при подготовке к собеседованию
Спасибо за грамотную лекцию!
Очень круто!
Вот бы по реакту или ноде такое посмотреть.
Это прямо отличное видео! Респект!
Хороший углубленный видос.
Зачёт! лайк, подписка, однозначно!
Спасибо, очень полезно
Никогда нигде не писал комментарии, но здесь без шансов. Очень хорошее и главное полезное видео, спасибо большое за такой контент😊
Спасибо огромное!
1:14:26
По идее вывод будет 0, 1, 2, 0 тк как count++ вернет предыдущее значение count, а уже потом увеличит его на единицу
у вас очень хорошо получается объяснять
Спасибо большое!
Классное видео!
ждем продолжения 2 части
годный ролик
ВСЕМ УСПЕХОВ НА СОБЕСАХ
Спасибо за такое видео, всё очень подробно и информативно изложил. Лучший )
Блин, информация очень круто и подробно раскрыта. Некоторые вещи вообще впервые увидел, в силу их спецефичности, также и не видел чтобы их спрашивали, но тем не менее, очень полезно для понимания того, как устроен язык и как он обрабатывает определенные процессы. Спасибо, больше бы контента, который так же раскрывает обыденные темы и охватывает больше, чем просто шаблонные вопросы!
Спасибо!
Дай бог здоровья
Функция throttle не совсем корректная. Если например нам нужно выполнять операции не чаще чем раз в секунду, и при этом второй вызов пришелся например через 900ms после предыдущего, то получается что новый вызов будет доступен через 900 + 1000 ms. И еще один момент. Наверное все-таки нам понадобится выполнить операцию по истечении времени задержки, а не просто проигнорировать ее, как в примере.
Спасибо!
Про мёртвую зону Мурыч сказал что сморозил чушь так как где-то это прочитал и не перепроврил. Никакой мёртвой зоны нет. В остальном про проверку на то что мы хотим у обратиться к переменной до того как она объявлена верно. Откуда вообще взялось что var устарело интерестно, сам в это долго верил..
36:14 держу в курсе, structuredClone в разы медленней чем JSON.parse + stringify в большинстве случаев. Реальное преимущество structuredClone - это его возможность сохранять копию вместе с функциями и прочими эл-тами, не помещающимися в json
Спасибо! Изучу этот вопрос ещё раз)
Супер полезно
я тебя люблю!!!
Задачка на цикл событий действительно интересная. Про await и его ожидание забыл.
управление очисткой памяти называется не просто высокоуровненвый а managed язык, то есть управляемый.
37:50 а здесь не лучше ли выполнить нестрогое сравнение value == null, чтобы еще и на undefined проверить ?
А мы же проверкой typeof !== 'object' уже учли undefined, null мы отдельно обрабатываем, потому что у него typeof === 'object'
@@vladimirlebedev00010 понял, спасибо
Немного не так...если число делить на 0, то будет infinity/ -infinity. Nan будет если 0 делить на 0
На джуновские должности идёт 3-4 вопроса из JS, typescrpipt, вопросы по фрэйворку, плюс серверные технологии. И тут уже ничего шаблонного нет, вопросы будут идти чистым рандомом, на усмотрение проводящего собес сотрудника. Как предложите готовиться к такому?
Привет! Почему же, вопросы из остальных тем такие же шаблонные)
Конкретно это видео покрывает те самые 3-4 вопроса из JS. Как правило, все они (или большинство из них) будут аналогичны тем, что я в видео разобрал.
По другим технологиям в идеале бы выпустить аналогичные видео, но довольно много времени занимает подготовка к таким видео.
Думаю, в течение года по всем темам подобные ролики выпущу)
7:34 - не верное утверждение. Классы уже не являются просто синтаксическим сахаром, в виду появления приватных (#) свойств
Я один узнал футболку ОМ? :)
Спасибо за видео. Поправка, рендер делается после выполнения микротасок, а не после макро
Спасибо! А можно ссылочку на источник, пожалуйста? Ознакомился бы с удовольствием)
@@vladimirlebedev00010 на learn js страница event-loop, там заголовок микро и макрозадачи. Ютуб ссылки удаляет
Поправка, такого понятия как макротаска не существует
@@tnsaturday это понятие которое придумало сообщество. В спецификации нет.
@@dididie158 если какого-то понятия нет в спецификации, значит его не существует.
хороший урок
1:29:50 опечатка, атрибут не defer, a async
Подскажите, пожалуйста, почему если в пустом файле, н/р, test.js, написать единственную строчку кода "console.log(this)" и запустить скрипт, то runtime выдаёт пустой объект {} вне зависимости от строгости режима? Но если вызвать console.log(this) в функции, н/р, function logThis() {console.log(this)}, то в зависимости от режима runtime выдаёт либо Object [global], либо undefined.
Привет! Это по-прежнему зависит от откружения, в котором скрипт запускается. Насколько я по описанию могу судить, речь про ноду, мы все же рассматривали браузер)
@@vladimirlebedev00010 Да, речь про ноду, просто не понимаю почему при поведении через функцию, наследуя родительское окружение, мы получаем undefined или globalThis, а если попытаться получить доступ к this напрямую в самом что ни на есть батя-маминском окружении через единственный console.log(this), то получаем пустой объект {}. Откуда тогда берутся undefined and globalThis если конечной остановкой является {}?
Мурыч бы оценил)
поправлю автора: если разделить число на ноль, получим Infinity
1:39:18 ошибка на 18 строке, но все работает. удивительно
Привет! Почему ошибка? Если в объекте ключ и значение совпадают по имени, то можно упускать двоеточие и писать только ключ
Откройте форточки перед включением видоса или включите кандер на максимум, а то задохнетесь от духоты. Лайк поставил)
1:39:42 разве асинхронность работает в forEach ? Похоже на ошибку
Почему нет? Он принимает коллбек, вполне им может быть асинхронная функция)
Вопрос к автору видео? Какой у вас опыт разработки? Были ли энтерпрайз проекты или работа в стартапе? Я не про коммерческую разработку (галеры сейчас все меньше интересуют). Чего спрашиваю. Для джуновского уровня эти знания прокатят, а вот выше уже вопросы. Слишком много ошибок. Именно технических, как js работает под капотом. Хотя, автор может поискать демимурыча. Он это видео разобрал по косточкам, отметил все моменты. А этот муж весьма авторитетен. Так что рекомендация автору, найди его стрим на Ютубе и посмотри, выйдешь на новый уровень.
А ссылочку можно? Поиск не дал результатов
@CJAlos ruclips.net/user/live52_qDIBcexA
@@mugen31337 благодарю
JS для собеседований - это:
let, var, const - типа их на работе ты не используешь, да?
Объекты никогда не замораживаешь?
Никогда не клонируешь объекты?
и т.д
К чему эти слова про 2 разных js в начале?
Привет! Уже больше 3-х лет пишу код за деньги, никогда не приходилось замораживать объекты, отличать глубокую копию от неглубокой, использовать var, сталкиваться с особенностями this в разных режимах. Но все это спрашивают и по этим ответам определяют твою экспертность, что для меня дико, но как есть.
в плане подачи и достуgности инфы выше чем ulbi
Много ошибок -много неточностей. Хотелось бы Ваш опыт и вашу интерпретацию по JS услышать, а не пересмотренные видео от известных гуру.
Привет! Спасибо за видео) Можешь, пожалуйста, подсказать, что за песочница для кода используется в видео?
Привет!
Я две песочницы использовал: codesandbox (codesandbox.io) и от тинька (interview.tbank.ru)
Привет фамильный теска)
Привет!
БАЗА!
и это на джуна?
В целом на любой грейд одни и те же вопросы задают
5:31 - Event loop не часть JS, єто не часть стандарта. Event Loop - єто механизм реализации. Именно по этому ивент луп может и отличается в разных движках. Более того асинхронность JS можно реализовать и без ивент лупа
Русский язык вышел из чата.
будем честны, по факту спича про жс вопросов ноль, но зачем ты надел для видео очки с приколом?
Из-за этих очков уже 2 комментария не по теме ролика - не зря надел)
Видос немного устарел) в 2024-2025 никто такие вопросы не спрашивает) из 16 вопросов только 5 актуальные)
Привет! Собесился в декабре последний раз, все то же самое спрашивали)
@@vladimirlebedev00010 а на какую позицию собес был?)
Angular Frontend, по грейду не скажу, думаю, middle+/senior
@@vladimirlebedev00010 занятно) а какой смысл у сениора или мидла + спрашивать такую ерунду?) такое у стажеров спрашивали еще в году 22
сurry придумал кто-то обкуренный
ахринеть. на собесах спрашивают про сборщик мусора в типах данных. серьёзно? когда пишу uikit мне конечно как никогда надо помнить что такое ивент луп и сборщик мусора и как не попасть на var. у интервьюеров каша в голове что ли?)
Привет! Да 😁
@@vladimirlebedev00010 я в шоке. ну я могу назвать себя мидл+. с такими вопросами я не пройду и на джуна. реально сейчас такой рынок?)))
Да, так и определяют компетентность специалистов)
очки навалили кринжа
Ты 42 братуха?
Привет! Советую к прочтению "Автостопом по галактике" - крутая книжка!
все бы ничего , но ты ГОРТАВИШЬ - не каждому это зайдет) работай над этим
А ты пишешь с ошибками, не каждому зайдет) работай над этим
Так похуй, нет разве?
Неге симболды саймбол дейды
На клонировании объекта стало понятно, что автор видео вообще не понимает, что такое JavaScript. Вкатунам, впрочем, зашло, что видно по комментам.
Привет! Хотелось бы поконструктивнее критики, если не затруднит)
@@vladimirlebedev00010 привет! Ну ты же из интернета просто взял решения. Попробуй ими склонировать объект, ты удивишься результату
@@vladimirlebedev00010 ну или давай начнем сразу. Ты когда-нибудь что-то слышал про прототипное наследование?
@@vladimirlebedev00010 ну или давай начнем сразу. Ты когда-нибудь что-то слышал про прототипное наследование?
Так и не понял, в чем претензия. Моё решение не покрывает все кейсы? Очевидно, полифил выглядел бы сложнее, чем то, что я реализовал, ну а кому это нужно? На собеседованиях чаще всего несколько задач, если представить, что это одна из них, то предложенного мной решения хватит.
Спасибо большое