Кирилл прав относительно того, что скрипт - макротаска. Цитирую "javascript info": "A more detailed event loop algorithm (though still simplified compared to the specification): 1) Dequeue and run the oldest task from the macrotask queue (e.g. “script”). 2) Execute all microtasks."
Поддерживаю. Изначально микротаскам неоткуда взяться. Запускается скрипт (макротаск), который ставит (а может и не ставить ) задачи в очередь микротаск. После выполнения скрипта выполняются все задачи из очереди микротаск (они также могут породить микротаски, которые встанут в конец этой же очереди) . Когда вся очередь микротаск опустеет, произойдет отрисовка и переход к следующей задаче из очереди макротаск. То есть первичной точкой заполнения очереди микротаск, при запуске приложения или после того как она станет пустой, может быть только макротаск. Если это не так, то хотелось бы услышать - как все же на самом деле?
Кстати, вот набросал тот пример, который так и не осилил объяснить устно: async function doWork() { return new Promise((resolve, reject) => { setTimeout(() => { reject(new Error()) }, 1000) }) } const promise1 = doWork(); const promise2 = doWork(); try { await promise1; await promise2; } catch (e) { console.log(e) } Если мы выполним такой код, то ошибка от первого await будет поймана в catch. Но про второй промис нам пожалуется браузер, что ошибка не была перехвачена: (index):6 Uncaught (in promise) Error at (index):6 А вот если делать await Promise.all([promise1, promise2]), то никаких ругательств не будет
как мне кажется просто нужно разбить на два try catch и проблем с отлавливанием ошибки не будет try { await promise1; } catch (e) { console.log(e) } try { await promise2; } catch (e) { console.log(e) }
21:45 - почему не исправили парня, null == 0 будет false а не true . Цитирую learns.js "С другой стороны, для нестрогого равенства == значений undefined и null действует особое правило: эти значения ни к чему не приводятся, они равны друг другу и не равны ничему другому. Поэтому (2) null == 0 ложно."
41:20 эх попробуйте зафризить современный браузер промиссами / микротасками , а потом пойдите и почитайте уже наконец то спецификацию html 5 event loop и как он перфомит микротаски ) и нет термина макротаски в спецификации)
Сам же задал вопрос мол в чём проблема работать с DOM если у тебя точечные изменения в доме, а потом сам начал отвечать на свой же вопрос и плавно перешёл к 10 тыс. элементов в доме вместо точечных изменений.
Надо же, при ответе про event loop, сижу думаю, что за макро и микро таски, там же стек, очередь... в общем, нигде таких названий не встречала. И вот, пожалуйста, прямо сегодня на собеседовании и спросили.
Кому как конечно, но я на каждый вопрос ловил такое ощущение, типа: зачем так мудрить, если можно сказать намного проще. Вроде отвечает верно, но всегда остается некий осадок. Постоянно хочется спросить, так что же оно все таки делает. Может кому-то и нравится такие длинющие ответы, но их сложно воспринимать. Прям вод видно типичного инженера. Я бы рекомендовал упрощать обьяснения. Это очень важно, особеннно если ты планируешь в будущем быть тимлидом или ментором. Когда тебе нужно будет джунам, максимально доходчиво обьяснять такие вещи. А такой формат они точно не поймут.
не понимаю как он проходит на мида, если здесь спрашивали только простые джуновские вопросы, а в других видосах намного сложнее? у вас в некоторых видосах у джунов вопросы сложнее в разы
Ребята так и не поняли, что Кирилл под макротасками понимает обычные синхронные таски, а под микротасками имел ввиду походу микро + макро вместе, поэтому произошло непонимание)
Кирилл прав относительно того, что скрипт - макротаска. Цитирую "javascript info": "A more detailed event loop algorithm (though still simplified compared to the specification): 1) Dequeue and run the oldest task from the macrotask queue (e.g. “script”). 2) Execute all microtasks."
Толковый парень и всего-то 25 лет 👍
Слушал его и просто наслаждение) Мне уже кажется что все ваши Кириллы слишком крутые перцы 😎
Умный парень!
Чувак красавчик 👍👍👍
Кирилл прав относительно того, что скрипт - макротаска.
Цитирую "javascript info":
"A more detailed event loop algorithm (though still simplified compared to the specification):
1) Dequeue and run the oldest task from the macrotask queue (e.g. “script”).
2) Execute all microtasks."
Поддерживаю. Изначально микротаскам неоткуда взяться. Запускается скрипт (макротаск), который ставит (а может и не ставить ) задачи в очередь микротаск. После выполнения скрипта выполняются все задачи из очереди микротаск (они также могут породить микротаски, которые встанут в конец этой же очереди) . Когда вся очередь микротаск опустеет, произойдет отрисовка и переход к следующей задаче из очереди макротаск. То есть первичной точкой заполнения очереди микротаск, при запуске приложения или после того как она станет пустой, может быть только макротаск. Если это не так, то хотелось бы услышать - как все же на самом деле?
Кирилл ты красава! Просто туториал как сдавать тестирование
Кстати, вот набросал тот пример, который так и не осилил объяснить устно:
async function doWork() {
return new Promise((resolve, reject) => {
setTimeout(() => {
reject(new Error())
}, 1000)
})
}
const promise1 = doWork();
const promise2 = doWork();
try {
await promise1;
await promise2;
} catch (e) {
console.log(e)
}
Если мы выполним такой код, то ошибка от первого await будет поймана в catch.
Но про второй промис нам пожалуется браузер, что ошибка не была перехвачена:
(index):6 Uncaught (in promise) Error
at (index):6
А вот если делать await Promise.all([promise1, promise2]), то никаких ругательств не будет
функция с тегом async уже возвращает промис
как мне кажется просто нужно разбить на два try catch и проблем с отлавливанием ошибки не будет
try {
await promise1;
} catch (e) {
console.log(e)
}
try {
await promise2;
} catch (e) {
console.log(e)
}
@@alekseymorhun7129 кто ж спорит?
Красава! Выдержал всё! Особенно Славу)
Крутой канал, просто включаю фоном или слушаю за рулём. Приятно слушать умных людей, получается приятное с полезным.
Кайфовое интерьвю) Парень молодец)
Очень здорово смотреть в x2 )
По-моему один из лучших кандидатов
Всё чётко разложил. Почти идеально прошёл
Приятный парень, очень умный
Круто! Спасибо, что выкладываете такие собеседования!
Ладно, не буду букой.
Здорово, что есть ваш канал и вы помогаете молодым разрабочикам подготовиться к интервью!
Спасибо. Каждый выпуск интересен
урра соьбес с мидлом=)) спасибо большое=)) огонь=))
Да) с силами самое то. С синьйорами было похоже скорее на разговоры по душам)
Щас начнут красиво топить и скажут в конце, мы с вами свяжемся по результатам собеседований
21:45 - почему не исправили парня, null == 0 будет false а не true . Цитирую learns.js "С другой стороны, для нестрогого равенства == значений undefined и null действует особое правило: эти значения ни к чему не приводятся, они равны друг другу и не равны ничему другому. Поэтому (2) null == 0 ложно."
Действительно. Спасибо за замечание
меня убивают эти вопросы. А можно ли вложить кнопку в кнопку? я не знаю зачем я это смотрю...
Станислав сегодня замечательно серьезен)
Влад красава, в этом выпуске не выебывался почти!
а можно ссылку на спецификацию где есть термин "макротаска"?
Как всегда топ, спасибо за контент ✌️
41:20 эх попробуйте зафризить современный браузер промиссами / микротасками , а потом пойдите и почитайте уже наконец то спецификацию html 5 event loop и как он перфомит микротаски ) и нет термина макротаски в спецификации)
Сам же задал вопрос мол в чём проблема работать с DOM если у тебя точечные изменения в доме, а потом сам начал отвечать на свой же вопрос и плавно перешёл к 10 тыс. элементов в доме вместо точечных изменений.
Стас просто любит умничать и не любит признавать ошибки
Спасибо вам за ваш труд!
18:55 не ключ, а значение) 5 минут пытался понять вопрос))
Хорош)
Надо же, при ответе про event loop, сижу думаю, что за макро и микро таски, там же стек, очередь... в общем, нигде таких названий не встречала. И вот, пожалуйста, прямо сегодня на собеседовании и спросили.
стек в движке, а не в event loop
не ну так себе вопросы на мидла, а если он теоретик и код писать не умеет, вообще формат норм, парень красава)
Владислав уже в конце курить хочет)
А лол, это на мидла, думал на джуна
Что-то ели отвечал, а прошел)) да и вопросы базовые опять, словно для джуна, Я тогда видимо на сеньора пройду легко))
ели - это деревья в лесу, сеньор
А что такое shadow DOM?
Кому как конечно, но я на каждый вопрос ловил такое ощущение, типа: зачем так мудрить, если можно сказать намного проще. Вроде отвечает верно, но всегда остается некий осадок. Постоянно хочется спросить, так что же оно все таки делает. Может кому-то и нравится такие длинющие ответы, но их сложно воспринимать. Прям вод видно типичного инженера. Я бы рекомендовал упрощать обьяснения. Это очень важно, особеннно если ты планируешь в будущем быть тимлидом или ментором. Когда тебе нужно будет джунам, максимально доходчиво обьяснять такие вещи. А такой формат они точно не поймут.
Кирилл же сказал про оптимизацию, что vdom нужен для ускорения, что за странный доеб от Станислава?
На собеседование большая очередь? Думаю стоит ли записываться заранее или нет
я записывался после выхода самых первых видео, месяцев 5 назад
О! Локации ведущих сменились )
спрашивать про var в 2021? ммм...
давайте уже бекенд новый. сколько можно...
не понимаю как он проходит на мида, если здесь спрашивали только простые джуновские вопросы, а в других видосах намного сложнее? у вас в некоторых видосах у джунов вопросы сложнее в разы
А null какой тип
Typeof - object
А так null
У Владислава видимо роль спеца по бесполезным вопросам 🤣
У вас тайм коды съехали к сожалению
Все или какой-то один?
@@otsobes "Чему равен NaN" таймкод должен быть 22:51, а не 21:51, из-за этого немного съехали следующие
А можно Стаса как-то потише сделать? :D
Невозможно слушать. -Ааа, скажем так, аааа. Аааа...
1:17:36 показалось? :D
Ага, точно показалось 😂
чел с донецка наверное сейчас воюет)
nope
@@TheDjaler о. Как там жизнь сейчас?
@@DIMAWARCRAFT3 Сложно 🤷♀
@@TheDjaler правда что прям по квартирам ходят и выгребают?
Ох нелегко в ДНР айтишникам. Респект парню.
@@carthago_delenda_est а какие комменты пропали?
А что такое днр?
@@trusabaka9747 Донецкая Народная Республика, непризнанная квазиреспублика типа Южной Осетии или Приднестровья.
@@yuryitikhonoff9631 Так вопрос был риторический. :)
не легко было с самого начала (с 2014), когда с нуля нужно было всё восстанавливать в "неблагоприятных" условиях.
Полчаса потратили на вопросы джуну 🤷♀️
Шарит
ботаны хотят в популярность
Ребята так и не поняли, что Кирилл под макротасками понимает обычные синхронные таски, а под микротасками имел ввиду походу микро + макро вместе, поэтому произошло непонимание)
а что есть "обычные синхронные таски" в контексте JS, простите?
Чувак, окружение формирует сознание. Очень стоит из дыныры в нормальные места.
Душновато
Мммм аааа мммм аааа
Кирилл прав относительно того, что скрипт - макротаска.
Цитирую "javascript info":
"A more detailed event loop algorithm (though still simplified compared to the specification):
1) Dequeue and run the oldest task from the macrotask queue (e.g. “script”).
2) Execute all microtasks."