Все знают, что 90% собеседований фронтендеров - полная лажа, в ходе которой задают вопросы о различиях var/let/const, что такое eventloop и тд. И на ютубе немало таких собеседований. Большинство кандидатов уже знают, как отвечать на эти вопросы и задавать их бессмысленно, особенно учитывая то, что в практике эти знания не пригождаются. Я и сам такие вопросы задавал 8 лет назад, когда впервые собеседовал фронтендеров, но со временем я ушёл от этой практики ввиду её бессмысленности. Меня зовут Александр Широчкин, в IT я более 15 лет, начинал на позиции бэкендера, далее работал аналитиком, перешёл во фронты и быстро вырос до техлида в бигтехе. Подпишись на мой tg: t.me/+XePlxHNkK_pkM2Ji в котором я делюсь своим опытом в IT и Frontend в частности. В ближайшее время там будет розыгрыш бесплатных личных консультаций, сможем обсудить ваши карьерные сложности и возможные пути их решений. Таймкоды: 00:00 Старт 03:23 События в JavaScript 10:40 Single Page Application 14:43 Семантика и доступность 21:58 Прототипы и поиск свойств 26:47 Валидация и обработка ошибок 30:29 Сравнение объектов в JavaScript 34:13 Map, Set, WeakMap, WeakSet 38:02 Кэширование 44:34 Оптимизация размера бандла 54:17 Кэширование и оптимизация 53:23 Мониторинг действий пользователя 59:47 Кэширование данных 01:07:07 Кэширование запросов от бэка 01:09:55 Optimistic update 01:12:41 Typescript 01:15:47 Дженерики 01:20:04 Примеры использования дженериков 01:25:36 Utility types 01:32:07 Обсуждение фреймворков и библиотек 01:41:29 Немного о React 01:46:07 Сравнение фреймворков 01:48:56 Оценка размера приложения и сложности 01:58:36 Вспомогательные библиотеки 02:01:22 Использование UI Kit 02:04:09 Хранение данных в браузере 02:11:51 CORS и его проблемы 02:19:18 Задача: сбор данных 02:33:50 Немного о npm 02:38:09 Будущее фронтенда 02:45:19 Фидбек
Очень интересно и полезно, спасибо большое за такой формат и такие качественные вопросы. Ну и объяснения того, как отвечать на вопросы тоже максимально крутые
Очень крутой вопрос с нестандартными вопросами в глубину - кайф Обычно классический фронт собес - eventloop, this, react, hooks, PROMISE и задачки на контекст, рекурсии и замыкания
Можно было сократить длительность собеседования до 30-40 минут, если бы отвечающий не лил столько воды во время ответов на вопросы. Особенно когда ответ не знает, и начинает нести откровенную ерунду
Про % доступности. можно просто умножать на 2. и тогда точно успеете в сроки. доступной сложная вещь. и продумывается командой. одному часто такое не потянуть. разные девайсй, браузеры, группы лиц пользователей. разные теги. инпуты кнопки селекты дропдауны. мультибоксы ращличные. дропдаун с фильтрами и тд. это капец как надо продумать.
Не понимаю, каким образом помогает CORS в случае со сторонним виджетом. Вот качаем его с другого сервера, указав в теге script на него ссылку. Далее этот вредоносный скрипт получает какие-то данные (куки, ввод личных данных, и т.п.) и отправляет на свой или вообще другой сервер. Браузер видит запрос на сторонний ресурс и высылает preflight запрос, а сервер злоумышленника ему спокойно отвечает заголовками аксес аллоу, что всё в порядке, я мол в курсе и разрешаю. И личные данные благополучно улетают. Возможно что-то я не так понял, но схему вырисовываю такую и CORS в ней как жвачка на порезе тракторного колеса
@@sanya-it спасибо, уже читаю, не знал раньше про эту штуку. Но в интервью CSP не упоминалось, и в вопросе о защите от вредоносного скрипта, установленного непосредственно на сайт, речь шла только про CORS. По сути ответ получается был неверен.
Саня у тебя наилучший контент по реальным собесам, все мы понимаем что на реальных собесах за 250К+ ЗП не будут спросить про какие то Closure и Event Loop, какие часто и попадаются на RUclips, в которое даже трудно поверить, а тут прям видно вопросы для тех у которых имеется реально большой опыт, продолжай в том же духе, с меня Лайк, Подписка и Колокольчик, РЕСПЕКТ!!!💪💪💪
@@true227 Вот именно, я почти как 2 года в этой сфере, мои собеседования намного сложнее чем в RUclips есть в основном типо сеньорские собесы, где спрашивают про основные концепции языка и ещё пару задачек с массивами, и типо ваааууууу, ты крутой сеньор, вот твой оффер)
Собес был бы лучше с лайвкодом. Видно, что человек натренировался на стандартных вопросах собесов, но чуть в сторону от своего проекта или стандартного вопроса - закапывался. В целом Давид хороший, но постоянно отвлекали его подглядывания. Почему я упомянул про лайв кодинг? Имхо уровень еще не тот, чтобы просто обсуждать и визуализировать решения в голове. Под конец просто захотелось увидеть интересный, но несложный лайвкод. (Тут, конечно, стоит упомянуть, что собес почти 3 часа и лайв код впихнуть - уже мозг поплавится. Соответственно - заменить теорию)
А много было стандартных вопросов? И лайвкод был, просто в формате обсуждения решения задачи а не в формате борьбы с онлайн-редактором кода, как это обычно бывает)
Все знают, что 90% собеседований фронтендеров - полная лажа, в ходе которой задают вопросы о различиях var/let/const, что такое eventloop и тд. И на ютубе немало таких собеседований. Большинство кандидатов уже знают, как отвечать на эти вопросы и задавать их бессмысленно, особенно учитывая то, что в практике эти знания не пригождаются.
Я и сам такие вопросы задавал 8 лет назад, когда впервые собеседовал фронтендеров, но со временем я ушёл от этой практики ввиду её бессмысленности. Меня зовут Александр Широчкин, в IT я более 15 лет, начинал на позиции бэкендера, далее работал аналитиком, перешёл во фронты и быстро вырос до техлида в бигтехе.
Подпишись на мой tg: t.me/+XePlxHNkK_pkM2Ji в котором я делюсь своим опытом в IT и Frontend в частности. В ближайшее время там будет розыгрыш бесплатных личных консультаций, сможем обсудить ваши карьерные сложности и возможные пути их решений.
Таймкоды:
00:00 Старт
03:23 События в JavaScript
10:40 Single Page Application
14:43 Семантика и доступность
21:58 Прототипы и поиск свойств
26:47 Валидация и обработка ошибок
30:29 Сравнение объектов в JavaScript
34:13 Map, Set, WeakMap, WeakSet
38:02 Кэширование
44:34 Оптимизация размера бандла
54:17 Кэширование и оптимизация
53:23 Мониторинг действий пользователя
59:47 Кэширование данных
01:07:07 Кэширование запросов от бэка
01:09:55 Optimistic update
01:12:41 Typescript
01:15:47 Дженерики
01:20:04 Примеры использования дженериков
01:25:36 Utility types
01:32:07 Обсуждение фреймворков и библиотек
01:41:29 Немного о React
01:46:07 Сравнение фреймворков
01:48:56 Оценка размера приложения и сложности
01:58:36 Вспомогательные библиотеки
02:01:22 Использование UI Kit
02:04:09 Хранение данных в браузере
02:11:51 CORS и его проблемы
02:19:18 Задача: сбор данных
02:33:50 Немного о npm
02:38:09 Будущее фронтенда
02:45:19 Фидбек
Очень интересно и полезно, спасибо большое за такой формат и такие качественные вопросы. Ну и объяснения того, как отвечать на вопросы тоже максимально крутые
Интересные, не банальные вопросы. Смотрел с удовольствием 🔥🔥🔥Саня, давай по больше подобных видосиков.
Добрый вечер! Очень классно все Я записала Себе все вопросы и ответы погуглила почитала посмотрела. Спасибо.
Видос - пушка! Отличный формат, было бы здорово увидеть еще таких. Жирный лайк этому видику :)
У тебя должно быть больше подписчиков, с таким контентом) Продолжай в том же духе!
Спасибо!
Саня, лайк 👍 По валидациям - мы используем библиотеку yup, делаем схемы, сообщения и вот это вот всё, - рекомендую)
Точно, вспомнил, что yup тоже популярная. Спасибо)
Zod, очень похоже на yup
Ты крутой! Давай побольше вот этого вот контента! Давай давай еще! Лайк и подписки ❤
Привет адептам Естримкодэ
Очень крутой вопрос с нестандартными вопросами в глубину - кайф
Обычно классический фронт собес - eventloop, this, react, hooks, PROMISE и задачки на контекст, рекурсии и замыкания
Спасибо за отличный контент. Говорю с высоты своего четырехлетнего опыта в фронте
Спасибо за видео, очень много моментов для себя прояснил.
очень крутой собес, приятные вопросы, вот бы везде такие были собеседования
Спасибо! Цель моего контента - в этом)
Можно было сократить длительность собеседования до 30-40 минут, если бы отвечающий не лил столько воды во время ответов на вопросы. Особенно когда ответ не знает, и начинает нести откровенную ерунду
Про % доступности. можно просто умножать на 2. и тогда точно успеете в сроки. доступной сложная вещь. и продумывается командой. одному часто такое не потянуть. разные девайсй, браузеры, группы лиц пользователей. разные теги. инпуты кнопки селекты дропдауны. мультибоксы ращличные. дропдаун с фильтрами и тд. это капец как надо продумать.
new Map тоже вернёт уникальные значения. это всё прокаченные списки, так что там только уникальные значения
Это правильное собеседование.
Не понимаю, каким образом помогает CORS в случае со сторонним виджетом. Вот качаем его с другого сервера, указав в теге script на него ссылку. Далее этот вредоносный скрипт получает какие-то данные (куки, ввод личных данных, и т.п.) и отправляет на свой или вообще другой сервер. Браузер видит запрос на сторонний ресурс и высылает preflight запрос, а сервер злоумышленника ему спокойно отвечает заголовками аксес аллоу, что всё в порядке, я мол в курсе и разрешаю. И личные данные благополучно улетают.
Возможно что-то я не так понял, но схему вырисовываю такую и CORS в ней как жвачка на порезе тракторного колеса
А почитай ещё про CSP, он хорошо дополняет CORS
@@sanya-it спасибо, уже читаю, не знал раньше про эту штуку. Но в интервью CSP не упоминалось, и в вопросе о защите от вредоносного скрипта, установленного непосредственно на сайт, речь шла только про CORS. По сути ответ получается был неверен.
Саня у тебя наилучший контент по реальным собесам, все мы понимаем что на реальных собесах за 250К+ ЗП не будут спросить про какие то Closure и Event Loop, какие часто и попадаются на RUclips, в которое даже трудно поверить, а тут прям видно вопросы для тех у которых имеется реально большой опыт, продолжай в том же духе, с меня Лайк, Подписка и Колокольчик, РЕСПЕКТ!!!💪💪💪
Мы как раз понимаем, что и про замыкания и эвент луп спросят
@@true227 Вот именно, я почти как 2 года в этой сфере, мои собеседования намного сложнее чем в RUclips есть в основном типо сеньорские собесы, где спрашивают про основные концепции языка и ещё пару задачек с массивами, и типо ваааууууу, ты крутой сеньор, вот твой оффер)
споросят) все что угодно могут, начиная от модели оси заканчивая задачками где var всплыл
И на 300+ спрашивают про луп и прочее, все что угодно могут спросить
И на 350 спросят
Mer hay axper 🇦🇲💪
подписка)
Собес был бы лучше с лайвкодом. Видно, что человек натренировался на стандартных вопросах собесов, но чуть в сторону от своего проекта или стандартного вопроса - закапывался. В целом Давид хороший, но постоянно отвлекали его подглядывания.
Почему я упомянул про лайв кодинг? Имхо уровень еще не тот, чтобы просто обсуждать и визуализировать решения в голове. Под конец просто захотелось увидеть интересный, но несложный лайвкод. (Тут, конечно, стоит упомянуть, что собес почти 3 часа и лайв код впихнуть - уже мозг поплавится. Соответственно - заменить теорию)
А много было стандартных вопросов?
И лайвкод был, просто в формате обсуждения решения задачи а не в формате борьбы с онлайн-редактором кода, как это обычно бывает)
В баню лайвкод в редакторе. Задал вопрос по коду и получил ответ и дальше разворачиваешь задачу.
@@АлександрБортников-е6у лайв код лайв коду рознь. Это может быть интересная парная сессия с автокомплитом и консоль ложками. Зачем именно блокнот?
@@sanya-it так даже на стандартных вопросах легко понять уровень кандидата. Дело же не в вопросе, а в глубине ответа на него.
Не preventDefault, а stopPropagation
вторая половина очень душновата была
Это что угодно, но не собеседование
Странно, что собеседуемый не знал про добавление хэша к названию бандла, это база
Так "база" у всех своя
@sany-it соглашусь с вами
Вопросы супер, собеседуемый джун/джун+
Слабый джун какой то, я бы не взял такого
@@sjdjjsjsjs3991 Я бы на трейни такого не взял
джун???????