Топ-10 вопросов на Senior Frontend (React) / Собеседование с разбором ответов и материалами.
ฝัง
- เผยแพร่เมื่อ 29 มิ.ย. 2024
- Читай уникальный контент в телеге: bit.ly/3ztzy9i
Мок интервью Senior Frontend (React) нового образца с полным разбором ответов и рекомендациям по изучению. Статьи и документацию по всем вопросам можно найти в таймкодах.
Вступай в сообщество для входа и роста в IT: bit.ly/3Vq8nF7
Узнай как проходит день из жизни ITшника: bit.ly/40Dkbqz
Найди ментора или стань им в один клик: bit.ly/410NrYl
Социальные сети Александра:
Telegram: t.me/sanya_ob_it
TH-cam: / @sanya-it
Социальные сети Арсения:
Telegram: t.me/a_khramtsov
Блог: t.me/a_khramtsov_blog
Таймкоды:
00:00 - Начало
00:10 - Рассказ об опыте
06:03 - Что не нравилось в работе
07:30 - О процессах на последнем проекте
09:30 - Автотесты и CI/CD
11:53 - Работа с переменными окружения. Статья Александра: tproger.ru/articles/api-path-...
14:25 - Разработка UI-kit
17:25 - CSS-переменные
18:05 - Темы в styled-components
18:55 - Вступаем в стаю
19:30 - Вступление к теоретическому блоку
19:55 - CSS-reset habr.com/ru/companies/otus/ar...
21:53 - Семантика doka.guide/a11y/a11y-html/
23:30 - Скринридеры doka.guide/a11y/screenreaders/
24:20 - Виды CSS селекторов developer.mozilla.org/ru/docs...
25:05 - Псевдоклассы developer.mozilla.org/ru/docs...
25:20 - Специфичность селекторов CSS doka.guide/css/specificity/
26:05 - CORS developer.mozilla.org/ru/docs...
30:48 - Асинхронность в js doka.guide/js/async-in-js/
33:35 - Промисы developer.mozilla.org/ru/docs...
34:45 Сравнение и копирование объектов в js metanit.com/web/javascript/4....
38:05 - Babel babeljs.io/
41:05 - webpack doka.guide/tools/webpack/
42:20 - React lazy loading react.dev/reference/react/lazy
42:58 - react react.dev/
45:00 - createPortal react.dev/reference/react-dom...
46:00 - Typescript www.typescriptlang.org/
46:45 - Дженерики в Typescript typescript-handbook.ru/docs/ts-6
48:00 - Абстрактные классы www.typescriptlang.org/docs/h...
49:45 - Оптимизации в react. React Profiler react.dev/reference/react/Pro...
React Developer Tools react.dev/learn/react-develop...
54:05 - Module Federation webpack.js.org/concepts/modul...
01:02:33 - Практическое задание. Постановка и обсуждение задачи.
01:06:30 - React key react.dev/learn/rendering-lists
01:08:00 - Получение данных с бэка
01:17:00 - Преобразование массивов в Map
01:20:00 - Типизация props
01:22:40 - Доработка таймера
01:27:30 - useCallback react.dev/reference/react/use...
01:32:00 - Promise.all developer.mozilla.org/ru/docs...
01:33:40 - Исправление таймера и измерение времени с его помощью
01:38:30 - О вакансии
01:40:32 - Процессы в компании
01:41:23 - Бюрократия для разработчика
01:42:56 - Процесс тестирования QA командой
01:44:32 - Написание unit-тестов
01:46:00 - Взаимодействие с тимлидом
01:48:30 - Стек в компании
01:51:28 - Библиотека компонентов
01:53:08 - Время на техдолг
01:55:15 - Испытательный срок и ожидания от кандидата
01:58:20 - Периодичность фидбека на испытательном сроке
01:59:10 - План развития и повышения после испытательного срока
02:01:05 - Квартальные планы и премии от KPI команды для разработчика
02:02:10 - Состав команды
02:04:13 - Сколько проектов может вести один разработчик
02:05:56 - Подведение итогов
#программист #айтишник #антонназаров
Интересно зачем интервьюер проводит интервью лежа на полу?
Аххахахаах, какой ор
Крокодилы ходят лежа
ахахахаха
Пжпхахпахпхахс
Ахаха😂
Александр, Антон, вы нашли его! Спасибо вам, теперь мы все знаем, как выглядит сын маминой подруги
Откуда такие дотошные люди берутся=) Это ж вилы просто, чувак какой-то ноулайфер, как задрот в мморпгшке) Нельзя таких работодателям показывать!
Ребят, с вами Саня, эксперт который проводит это собеседование.
Вижу, тут в комментах есть ряд вопросов - зачем был задан тот или иной вопрос. Также вижу некоторые сомнения в "сеньорности" вопросов.
Впервые я получил должность senior frontend более 5 лет назад. С того момента и по текущий, я прошёл уже более сотни техсобесов на уровень senior+.
Своей задачей в рамках этого видео я видел не проведение какого-то идеального интервью, а проведение интервью на основе наиболее частовстречащихся в МОЕЙ личной практике вопросов ("Топ-10 вопросов" в заголовке на это намекает), пусть и немного улучшенного другими вопросами, которые я считаю важными и полезными.
Например, мне не нравятся вопросы про приоритет CSS-селекторов и меня тошнит от разговоров про eventLoop. Но это то, что спрашивают регулярно. Не мог не дать эти вопросы)
Спасибо за ролик и его реализацию! Интервью здорового человека. Отдельное спасибо за вставки с комментариями интервьюера.
Это самое топовое интервью на должность Senior Frontend-разработчика, успехов собеседуемому и удачи в развитии канала автору!
- Вам 25 лет, а в резюме указали, что 20 лет опыта. Как так?
- Всё просто, я овертаймил
Понабежали в коменты мамкины сеньеры, которые думают, что сеньерский собес это все два часа собеса дрочить по низкоуровневым вопросам глубже и глубже да и только. Видимо представления не имеют про сеньерскую область решения задач. Сеньер уже забыть может половину справочной информации, или вообще как верстать, занимаясь архитектурой, автоматизацией.
Всё по делу сказано. Только вот нюанс. В интервью ни одного вопроса ни по архитектуре, ни по автоматизации.
В чём ценность этого интервью, если соискателя погоняли только по практическим джуниорским примерам, на "отвали" приняли ответы по низкоуровневым вопросам, но никак не проверили навыки в вещах, с которыми активно работает сеньор?
Убери из названия слова "на позицию сеньор-разработчика" - все скажут, что это было собеседование на джуна, которое парень с горем пополам прошёл, учитывая нынешнюю компетенцию большинства джунов.
О том, что это собес на сеньорскую должность, в видео нет ни малейшего намёка.
@@Boortwint Я полгода назад залетел на "ведущего сеньор-фронтенд разработчика" к крупному девелоперу в РФ на 300к. Там вопросов было в 2 раза меньше, они были ещё тупее и поверхностнее. Ещё и без лайвкодинга)
Вступай в сообщество для входа и роста в IT: bit.ly/3Vq8nF7
Таймкоды:
00:00 - Начало
00:10 - Рассказ об опыте
06:03 - Что не нравилось в работе
07:30 - О процессах на последнем проекте
09:30 - Автотесты и CI/CD
11:53 - Работа с переменными окружения. Статья Александра: tproger.ru/articles/api-path-ili-kak-frontend-mozhet-uznat-gde-nahoditsya-ego-backend
14:25 - Разработка UI-kit
17:25 - CSS-переменные
18:05 - Темы в styled-components
18:55 - Вступаем в стаю
19:30 - Вступление к теоретическому блоку
19:55 - CSS-reset habr.com/ru/companies/otus/articles/580442/
21:53 - Семантика doka.guide/a11y/a11y-html/
23:30 - Скринридеры doka.guide/a11y/screenreaders/
24:20 - Виды CSS селекторов developer.mozilla.org/ru/docs/Learn/CSS/Building_blocks/Selectors
25:05 - Псевдоклассы developer.mozilla.org/ru/docs/Web/CSS/Pseudo-classes
25:20 - Специфичность селекторов CSS doka.guide/css/specificity/
26:05 - CORS developer.mozilla.org/ru/docs/Web/HTTP/CORS
30:48 - Асинхронность в js doka.guide/js/async-in-js/
33:35 - Промисы developer.mozilla.org/ru/docs/Web/JavaScript/Guide/Using_promises
34:45 Сравнение и копирование объектов в js metanit.com/web/javascript/4.13.php
38:05 - Babel babeljs.io/
41:05 - webpack doka.guide/tools/webpack/
42:20 - React lazy loading react.dev/reference/react/lazy
42:58 - react react.dev/
45:00 - createPortal react.dev/reference/react-dom/createPortal
46:00 - Typescript www.typescriptlang.org/
46:45 - Дженерики в Typescript typescript-handbook.ru/docs/ts-6
48:00 - Абстрактные классы www.typescriptlang.org/docs/handbook/2/classes.html#abstract-classes-and-members
49:45 - Оптимизации в react. React Profiler react.dev/reference/react/Profiler
React Developer Tools react.dev/learn/react-developer-tools
54:05 - Module Federation webpack.js.org/concepts/module-federation/
01:02:33 - Практическое задание. Постановка и обсуждение задачи.
01:06:30 - React key react.dev/learn/rendering-lists
01:08:00 - Получение данных с бэка
01:17:00 - Преобразование массивов в Map
01:20:00 - Типизация props
01:22:40 - Доработка таймера
01:27:30 - useCallback react.dev/reference/react/useCallback
01:32:00 - Promise.all developer.mozilla.org/ru/docs/Web/JavaScript/Reference/Global_Objects/Promise/all
01:33:40 - Исправление таймера и измерение времени с его помощью
01:38:30 - О вакансии
01:40:32 - Процессы в компании
01:41:23 - Бюрократия для разработчика
01:42:56 - Процесс тестирования QA командой
01:44:32 - Написание unit-тестов
01:46:00 - Взаимодействие с тимлидом
01:48:30 - Стек в компании
01:51:28 - Библиотека компонентов
01:53:08 - Время на техдолг
01:55:15 - Испытательный срок и ожидания от кандидата
01:58:20 - Периодичность фидбека на испытательном сроке
01:59:10 - План развития и повышения после испытательного срока
02:01:05 - Квартальные планы и премии от KPI команды для разработчика
02:02:10 - Состав команды
02:04:13 - Сколько проектов может вести один разработчик
02:05:56 - Подведение итогов
На самом деле Арсений красавчик! Очень круто, что уже столько всего успел реализовать, улучшить, не боится брать ответственность за ход разработки и команду, хотя выглядит молодо)
На вопросы отвечал бодро, со знанием дела, но как сказали в комментах, какие-то низкоуровневые аспекты можно было уже забыть, когда проектируешь микрофронтовую архитектуру и руководишь командой.
Арсению успехов и интересных проектов🎉🎉🎉
да он просто спиздел)) сейчас модно придумывать истории об опыте ) что бы все ахуели на собесе, я так же делаю)
да он красавчик, Арсений отзовись🤣
Спасибо! Отличная работа и приятный собеседник
Хорошее интервью. Спасибо!
Есть что почерпнуть и по общим/организационным вопросам, а не только по техническим.
Когда человек пишет почерпнуть, а не подчеркнуть - это даёт надежду что наш мир не обречён 🤣
Ляя.. как же приятно смотреть этот канал))
Лайк. подписка, ауф!
Полезные ответ и комментарии. Спасибо обоим кодерам
Спасибо за видео. Очень полелзно, респект
Самое главное без ПАФОСА. Очень крутое практическое задание!
Парень молодец, хорошее понимание
Как же такие люди дизморалят. Чисто ещё вышку не окончил, уже "пять работ, 100 проектов, по 10 одновременно, всё один, весь их бизнес на мне держится" и т.д. Как вы вообще это успеваете? Как будто-то не спят, не едят, живут на работе (не нужно добираться).
хехехехе
человек горит своим любимым дело, такие не дизморалят, а вдохновляют тех, кто хочет в этом разбираться
Если все овертаймы были за свой счет, то и демпингует, и дизморалит.
Чел говорит про овертаймы и выгорание - по сути он за меньший рейт выдает больший результат.
Но он подкладывает здоровенную свинью и себе, и заказчику, и коллегам и конкурентам. Хорошего из этого обычно не получается ничего в долгосрочной перспективе.
Если овертаймы были гласными, по, например, х2 прайсу и все были в курсе, что вот этот работник именно что овертаймит, то дело другое - его выбор, ему потом его и расхлебывать.
Все реально, если умеешь п@#деть
@@thedisbelieverdoom не вижу ничего плохого в овертамах когда работаешь на свой скилл и опыт. То, что ты там кому-то что-то подложил - их проблемы. Твоя задача это рост как разработчика и и рост финансового вознаграждения. Овертайм как раз способствует тому, что ты быстрее вырастишь в деньгах, ибо скилл и опыт твое всё. Не даст текущий работодатель, даст другой. Все ваши «ворк-лайф бэлэнс, печеньки в офисе, корпоративная жизнь, обидно что меня опережают и т.п.» - это ваши проблемы, не тянете за собой тех, кто хочет роста во всех его проявлениях.
Спасибо за ссылки около тайм кодов. Парень молодец. Но мне 32 и я заметил, что с супер молодыми тяжеловато мне работать
Хорошо отвечает. Только есть большие сомнения по поводу опыта. Одно дело придумать складно, а другое - заявить, что настраивал webpack federation на первой работе. То есть 7 команд скинули архитектурную задачу на джуна 😅
Очень хор интервью. С удовольствием глянул полностью.
Интересный выпуск,да тема такая интересная
46:16 Я могу ошибаться, но TypeScript не вводит строгую типизацию. Он вводит статическую и явную типизацию, и то с нюансами. В ts можно объявить переменную, но не задавать ей тип, который может определиться за счёт типа данных, которые в эту переменную записаны. Например, Haskell позволяет сделать то же самое, но в классификации языков по типизации он является неявным языком программирования. В каноничных явных языках такой особенности нет. В них тип переменной нужно задавать всегда.
Строгая же типизация предполагает запрет на операции с разными типами данных. Но в TypeScript можно легко сложить тип number и string, записав результат операции в переменную с типом string.
Вот же сын маминой подруги)
Надеюсь будет что-то подобное по Node
Я очень часто вижу, как некоторые говорят, что тот или иной кандидат в лайв собесах не претендует на указанный уровень. Что вопросы глупые, «на них ответит лучше даже трейни» и так далее.
Честно, все время пытаюсь понять портрет таких личностей, ощущение, что это либо 40-ка летние лиды в огромных корпоратосах, либо те, кто загрузили себе в голову всю информацию в мире.
Ребята, кто вы? На какой позиции вы работаете, сколько лет? Прям очень интересно.
о, Иннотех. Здравствуйте, коллега :)
Жирнющий лайк👍
Многообещающий кандидат, пока только софт-скиллс часть посмотрел, молодец, бодренько, уверенно. Такому человеку хочется верить) Большой плюсик в глазах собеседующих, предполагаю, гало-эффект на руку будет этому пареньку) На мне уже немного сработал, мой мозг хочет верить, что по хард-скиллам он не просядет)
Был кандидат на собесе, фейерично прошёл, все ахали-охали. Через 3 месяца уволили как профнепригодного
Вопросы на мидла, кандидат уже их наизусть знает, т.к. имеет хороший скилл прохождения интервью. Собеседующий не смог раскрыть действительные знания Арсения. Кандидат явно не сеньор, даже не миддл 3, по код-ревью это особенно заметно. Тем не менее кажется, что парень увлеченный и талантливый, хочу пожелать успехов, хотя он сам со всем справится)
Самый лучший!!!
HR: "Спасибо за уделенное время! Мы рады предложить вам ЗП 200к рублей до налогов"
ЛУЧШИЙ ❤❤❤
за Арсения лайк
Сеня красава!
Спасибо за интересное интервью. Пойду на завод
У меня взял задачу ))) ее дают в лига ставок на собесе выкладывал давно
❤❤❤
Эх, вот бы такая годнота вышла на Python Backend разработчика...
Про дженерик как про аналог функции я бы не стал говорить. Арсений говорил о дженериках как о уже существующих типах TS (Pick, Partial, Readonly), которые есть в нём из коробки, но дженерик - это более абстрактное понятие.
Я не шарю в академических определениях, но описывая дженерик, упомянул бы понятие переменной типа в объяснении. Дженериком бы назвал механизм, позволяющий статическим языкам использовать параметрический полиморфизм, то есть описывать функции с использованием переменных типа так, чтобы они могли принимать аргументы разных типов.
в академических определениях генерик (ну или тип с кайндом * -> *) это и есть функция на уровне типов, буквально). Функция, которая принимает монотип и возвращает монотип.
@@88coolv пересмотри объяснение. Там не про обычные функции речь.
Да и академического определения такого гугл не показал. Руководствуюсь определением CS.
Дженерик не может быть функцией, так как он используется для описания и классов, и типов, и интерфейсов.
@@Boortwint> Да и академического определения такого гугл не показал.
потому что ты гуглил полиморфизм, а надо операторы над типами - это другая вершина лямбда-куба.
сама по себе обычная п_функция - это м_функция из термов в термы, полиморфная п_функция - это м_функция из типа в термы, и оператор над типами (тип полиморфной функции или генерик класс/интерфейс) - это м_функция из типов в типы.
здесь м_функция - это математическая функция, в метатеории п_функция - терм который является функцией в рассматриваемом ЯП (ну или любой терм если мы рассматриваем какой-то вариант лямбды).
> Дженерик не может быть функцией, так как он используется для описания и классов, и типов, и интерфейсов.
и класс и интерфейс - это все типы.
@@88coolv семантически и классы, и интерфейсы - это типы. Я рассматриваю их с точки зрения ключевых конструкций в TS.
Полиморфная функция в языках с системой типов второго порядка - это дженерик-функция. Есть понятие дженерик-классов. Но они не являются дженериками.
Дженерик-функции называют просто дженериками. Как и имена переменных называют просто переменными, хотя это не одно и то же.
@@Boortwint > Есть понятие дженерик-классов. Но они не являются дженериками.
вообще, дженерик - это прилагательное, а не существительное. generic function, generic class, generic etc., просто обычно второе слово опускают. Так что по факту дженериками называют все подобные объекты.
таймкод 14:20
можно ссылку на разницу в подходах между backend-for-frontend / конфиге (статья), не нашел ссылку в описании
Я еще только учусь на фронта в связке React, Redux, TS, решил первый раз посмотреть собес на позицию Senior, был удивлен что на большую часть вопросов знаю ответы, примерно 70% собеса я бы смог ответить, только конечно менее уверено)) Похоже пора искать первую работу. Ну и конечно все процессы командной работы на продакшене я вообще слышал в первый раз, но наверное это исключительно на практике можно понять и освоить?
Маленький нюанс: если ты ответил на вопросы также, как этот "сеньор", то ты **не знаешь** ответов на эти вопросы, что впрочем не должно препятствовать началу поиска работы.
@@tnsaturday ты ходишь по видео с собеседованиями и пишешь, что никто ничего не знает, сам ты видимо гуру фронтэнда с огромной зп, хотелось бы на собеседование с тобой посмотреть и понять, как нужно отвечать правильно и выйти на твой высочайший уровень)
@@vaziralramin4565он прав в целом, во многих компаниях по такому интервью даже полноценного мидла не поставят. Другое дело что и вопросы тут сами по себе тут далеко не сеньорские.
@@88coolv перечисли пожалуйста сеньерские вопросы
@@yoshimitsu7723 сеньёрские - это наверное, как бы ты переписал реакт, чтобы ускорить его работу в 2 раза? 😄
Спасибо за видео, можно получить ссылку на исходный код практического задания?
Достойный кандидат, а вот в комментах максимальное душнилово))
Тот неловкий момент, когда можешь ответить подробно на почти все вопросы, и сомневаешься, что ты уже миддл😂
Вопрос - что будет если забить очередь микро тасок, что будет если забить очередь макро тасок.
Разве ответ тут правильный? Я думал если макротаски отвечают за I/O то наоборот страница заблокируется
Задача по реакту. Помоему очевидно, что неправильно дважды гонять циклы по массиву. Ты в эффекте прогоняешь reduce чтобы добавить коменты, а потом в рендере прогоняешь map. Изначально было лучше сделано, только фильтрацию коментов надо было исправить.
Очень интерено. Полезный контент. Но у меня есть вопросы типо кокого Х у сеньёра спрашивают как ошибки обрабатывают? Джуна просят написать из головы алгоритм Дистра а сеньёра как трай катч использовать )
на фроненд алгоритм дейкстра? тем более джуна? больше на рофл похоже, либо ты пиздишь)
Можете пожалуйста посоветовать где можно почитать про эту методологию архитектуры, которая была озвучена(альтернативу atomic design), так и не получилось уловить правильное название, не смог ничего найти в гугле) Спасибо
Feature Sliced Design
Это реально вопросы для сеньора? 😮 если так, то я готова работать сеньором 😂.
35:10 object.assign для сравнения объектов? Каким образом?
тоже не понял этого момента
Привет! С кем и как можно пообщаться на сет размещения рекламы в канале?
t.me/m0rtymerr_support
Парень молодец, видно, что чего-то еще не знает, но отвечает в целом хорошо.
А ссылки на пример кода для рефакторинга нет?
честно сказать. вы не цените время собеседуемого. помню тоже в двадцать с лишкой был такой же пиз-л.
по факту надо спросить пару проектов своих показать и по коду спросить что да как.
Спасибо. Блин, у парня 4 года опыта! Почему такие слабые вопросы???? О Promise 2 слова!?? Как так? Как по бумажке- . then,. catch...
а что о низ спрашивать ?))))) например давай
Я хочу понять для себя, эта вступительная часть, где он рассказывает про свой опыт, структуры команды и т.д. - это считается хорошей практикой на собесе или в большей степени для зрителей?
это софт скилл
CORS - Cross Origin Resourse Sharing а не Request Security
го топ 10 ios senior
Про CORS 🤦. ИМХО у кандидата есть теоретические знания многих аспектов, очевидно, что он тренировался проходить интервью, однако чувствуется, что практический опыт с devops, архитектурой - выдуманный.
50:20 s3 и cdn это разные вещи
я не могу понять что со звуком? он ужасный. ps у меня хорошие наушники sony, иногда звук как из бочки :(
Как работает event loop в js? 😂Серьезно? В js есть event loop? Можно линк на спецификацию про это?
кто-нибудь, откройте уже окно!
мы вам перезвоним 💁♀
Про цсс спросили больше и обьемнее , чем про сам жс, ну это даже как то глупо
У меня сложилось впечатление, что парень выгорит на этой про-банковской работе уже через годик. Он сталкивался с этим и боится испытать это снова, о чем и предупредил почти сразу (интервьюер пропустил мимо ушей) . Работодатель, прежде всего прочего, заинтересован прогнуться под банк, и внедрил Scrum - адаптацию промышленной системы для интеллектуальной работы. Это не хорошо и не плохо, но сделает из выдающихся разрабов посредственностей. Эта работа не содержит вызова, который нужен молодым. Далее, те кто делал микрофронтенд, знают какая эта боль. Хорошая теорподготовка, но опыт граблей еще не наработан, а о них бы стоило поговорить.
А чем собственно говоря сениор отличается от мидла? Я когда собеселся на мидла вопросы были посложнее. Какие-то общие вопросы, никакой специфики.
с ивент лупом напутал: в спецификации только таски и микротаски, макротасками стали называть обычные таски уже додумывая логику
Но такой ответ удовлетворяет 99% интервьюверов.
Кстати, с частым упоминанием спецификаций на собесах тоже стоит быть аккуратным. Их редко кто открывает, поэтому есть риск прослыть душным и завалить этим собес, несмотря на идеальные ответы)
@@sanya-it"макротасок не существует - есть просто таски", даже звучит как духота полная)
@@sanya-it ну он назвал их по отдельности: просто таски, микро и макро, это уже явная ошибка, а не просто условности с названиями
@@user-cr2ig3xv4y бро, а расскажешь про практическое применение этого знания?
Мне вот за несколько лет только один раз пригодилось это знание. И то, там код был организован неправильно. Переписал модуль в итоге, и этот момент перестал быть критичен.
Просто об этом настолько часто спрашивают, как будто это обыденность. А на практике многие могут даже этим не столкнуться.
@@sanya-it практическое применение: прохождение собесов, с этой целью люди будут смотреть это видео, потому и уточнил здесь, так как не хочется, чтобы потом они повторяли ошибку на своих собесах
И как это все знать 🤯
Для сеньора достаточно базовые вопросы )
Ну только кандидат и на них ответить не может
@@tnsaturday Кандидат молодец, достаточно хорошо всё ответил !
@@muborizDev по JS кандидат не ответил ни на один вопрос, держу в курсе
@@muborizDev в фундаментальных темах есть пробелы. Про TS, если рассматривать его как тему для проверки понимания типизации, были даны поверхностные ответы, после которых появилось больше вопросов. Про абстрактные классы тоже сказано мало. Причём есть момент, где было сказано, что классы *наследуются* от интерфейса, хотя интерфейс не имеет реализации, от него нечего наследовать. Но это, скорее, оговорка. Интервьюеру можно было бы зацепиться и раскрутить тему, чтобы окончательно раскрыть разницу между абстрактным классом и интерфейсом, и почему интерфейс лучше.
В остальном всё достаточно хорошо. Сразу видно, что парень больше прикладник, чем теоретик. И это хорошо для бизнеса. Ему интереснее разобраться в прикладной технологии, которая будет приносить деньги ему и компании, чем копаться в темах, которые невозможно монетизировать.
@@Boortwint в тсе классы наследуются от интерфейса, так что ничего удивительного, что он так сказал. Да, академически правильно сказать "имплементируется", но серьёзно? Это имеет какое-то реальное значение? Тем более для фронта, который с ООП мог вообще ни разу не работать.
По остальному согласен.
Что такое макротаска? Где в документации вы такое нашли?
К макротаскам относятся, например, таймеры, клики и т.д. К микротаскам - промисы в большинстве случаев. Микротаски выполняются все сразу, макротаски по одной. Почитать можно, загуглив как работает ивент луп.
никто из мамкиных сеньоров до сих пор этого не написал, пусть это буду я: собеседование на стажера
На стажёра в пятерочку
Очень похож на Мэта Дэймона в молодости
Целой команде нужен месяц на какую-то кнопку?!Заказчики,наверное, идиоты😅
Срашивать на позицию Senior про селекторы, серьезно?)) О чего про cost, let еще не спросить
Видео классное, на нафига музыка нагнетающая на заднем плане? Я и так работу найти не могу. Из-за этой проклятой музыки не могу досмотреть видео
Музыка норм
Норм музыка, что то ты гонишь, лечи нервы
@@killd0z3r Норм нервы, что ты гонишь, меняй музыку
@@whiteguards43 🤡🤡🤡🤡🤡
Музыка огонь.
а зачем обычному кодеру знать как реализована асинхронность в JS? Он что, полезет ее переделывать? напишет лучшую реализацию? зачем?
Чтобы не удивляться потом почему синхронный код, микро и макротаски выполняются в строго определенной последовательности
@@InsaneAnger что это меняет то?))
@@InsaneAngerЯ например прекрасно знаю последовательность выполнения микромакроасков, работы очереди, стека вызовов. Не помню чтобы эти знания помогли мне в решении хотя бы одной задачи за несколько лет. Реально ни одного кейса не вспомню. Джунов этим дрочат, безусловно, но как будто бы от недостатка фантазии что еще спросить
так стоп, это выходит я сеньор ???
Не ты один братан. не ты один...
ага, а в ток-шоу по типу "кто хочет стать миллионером" ты - миллионер.
тут реально нужно делать скидку на то, что когда кто-то что-либо произносит вслух или хотя бы начинает к этому клонить, то в целом возникает чувство в голове, что "да я же тоже это знаю!", но ответить это с ходу самому, когда тебя спрашивают в относительно стрессовой ситуации - это немного другое уже: типа как в иностранном языке понимать, и использовать самому в речи разное количество слов (пассивный и активный словарные запасы).
так что, "у экрана телевизора" все как правило гораздо умнее, чем реально бы себя проявили на месте героя)
@@iamvitalya не знаю к чему это вы тут столько букв насыпали, я лишь о том, что на те вопросы которые задавал собеседующий, я знаю ответы. Остальное лишь ваши фантазии.
кто знает. Сходите, попробуйте, вдруг
@@sergsuperтак уже год назад сходил, и да выходит что синьор
чел походу тоже к реке ходил и преисполнился
по верстке ужасные вопросы которые не должны нигде спрашиваться. Вопрос про вес селекторов даже собеседуемым не раскрыт полностью. Вес селектора штука про 1, 10, 100, 1000 и даже еще есть селекторы которые меньше 1 и больше 1000. Стоит самому учить материал и не задавать конченные вопросы на собесах, которые никак не отражают рабочие способности человека. Этот человек явный не сеньор фронтенд разработки, потому что понимание верстки тут на уровне джун+
этот сеньёр на джуниора провалил, и собесеедующий так же.
Чел конечно наплел всякого что относится к микротаскам, интервьюер по какой то причине не стал заострять на этом внимания
т.е. все что он сделал крутого за 4 года это личный кабинет ?)))))))
Вы в курсе, что сейчас на рынке такие вопросы по хардам задают джунам?) Ваш сеньор отвечая на вопрос про копирование объекта мало того, что запоролся на функциях, так еще и забыл про structuredClone. У нас джун сегодня на этот вопрос ответил так же, хотя тоже не знал про функции. Но он джун после курсов - ему можно. И почти все ответы такие. Парень отвечает лайтово в паре слов (например, почти ничего не сказал про profiler, suspense, lazy) и интервьюер просто ОКает и идет дальше. Где вопрос в глубину? Уровень кандидата вообще не понятен. Мне понравилось только как парень сообразил про микротаски - но это по нынешним меркам тоже уровень немного выше джуна. Мне точно такой же вопрос на джуновском собесе задавали в свое время и я примерно так же с затупом на него отвечал.
собеседования по 2 часа максимум длятся. думаю, для мок интервью это нормально.
так хороший джун от сеньера по знаниям технических вопросов и не отличается, в итоге и тот и другой будут красить кнопки, грейды это просто способ для компаний платить меньше за ту же работу, держу в курсе)
Я недавно прошёл несколько десятков сеньорных собесов и в этом интервью - самые популярные вопросы из них.
Приведешь пару примеров сеньорных вопросов, который бы стоило добавить?
structuredClone не скопирует объект, отлетаешь
@@sanya-it вопросы неплохие, но я бы добавил прокси, прототипы (в чем разница prototype и __proto__), про оптимизации, boxing/unboxing и т.д., заканчивая мышлением: алгоритмы, обработка больших данных, хеширование, UInt8Array и UInt32Array, и самый главный, как по мне, вопрос сеньору, как ты будешь выбирать фреймворк под новый продукт/проект, какие критерии. Нормальный сеньор отталкивается от плюсов и минусов фреймворка, задачи, команды, а не потому что он знает только 2 фреймворка. Всё, что он там о себе нарассказывал - какой-то сын маминой подруги. Я вообще не понимаю, что это вообще за компания, где фронтендер вникает в тестирование и развёртку... Скорее это не его опыт, а опыт компании, и тех кто делал эту работу, а он скорее рядом стоял, и всё, что с офисе слышал от коллег перечислил тут, дабы набить себе цену. Хз, как по мне сеньор - это супер опытный чувак, знающий много и в ширину и в глубину, способный продумать архитектуру, выбрать фреймворк и всё это оптимизировать руками подчинённых, это не про этого парня пока что. Элементарный пример - он даже с ивентлупом не справилсяи, всё в одну кучу запихнул, requestAnimationFrame у него микротаска, даже nextTick назвал, который вообще к ноде относится, зато queueMicrotask и mutationObserver пропустил, хотя вопрос максимально простой: браузерные события - макро, промисы, queueMicrotask и mutation Observer - микро. Очерёдность выполненения тоже хромает, "сначала микро, потом макро", угу... Сначала микро, потом 1 макро, внутри которой могут быть ещё микро задачи, потом эти микро и потом следующая макро. Блин, это основы, он даже их не знает, зато рассказывает про тестирование и переменное окружение... С таким разбросом и слабой базой только веб студиях на галерах каллокодить, но не идти на серьёзные проекты. У чела самые популярные способы работы с асинхроннщиной - это промисы, а уже потом async await, хотя как раз вторая появилась позже и она более удобна в использовании и именно ещё чаще используют т.к. она более читаема за счёт лаконичности... Или сравнение объектов рекурсией, ля, не дай бог такого в команду. Такую ресурсоемкую операцию с ограничением количества итераций, на сравнение деревьев, с ума сойти... А если там 100к элементов, или миллион+ ? Вариант про стэк и цикл вообще не сказал
ужас
Так и что дальше? Ему дали офер после собеса? Постанова какая-то
Это мок
В целом не плохо, но дотошные и никому ненужные доебы это бред(про портал, про клеар тайм аут) ибо очевидно, о чем говорит интервьюируемый
На сениора не тянет, обычный миддл разраб
Слабоват для синьора
Ну в принципе не плохо для мидл+.
Без подсказок он бы много чего не заметил, так что не синьор )
Как проводивший этот собес считаю нужным заметить, что многие уже работающие сеньорами проходили такой собес хуже.
Мидл+ и сеньор это такая микроразница, которую каждый руководитель трактует по своему.
@@sanya-it ну если они проходили этот собес хуже, может они на самом деле были не синьоры ?)
@@Kira_sk не факт, человек может иметь небольшие пробелы по каким-то из этих вопросов, зато иметь очень глубокую экспертизу в других.
Я стараюсь оценивать людей не только по их недостаткам, а беру во внимание достоинства)
@@sanya-it да согласен, кандидат очень хороший, думаю я был не прав
@@Kira_sk Добавлю, как тот, кто проходил это собес) Как написал Саша, каждая компания трактует грейды по разному - где-то человек будет сеньором, а где-то ему дадут, условно, миддла. Я в какой-то момент вообще перестал обращать внимания на middle-, middle+ - это просто сделано, чтобы по итогу заплатить меньше денег на собеседовании)
А за фидбек спасибо
Куча бесполезных вопросов, на которые ты даже сам читаешь ответ с экрана:
Приоритет псевдоклассов и т.д Кому это надо вообще?
иногда просто интересно послушать как человек будет отвечать. По мне так если он на бесполезные вопросы уверенно отвечает, то значит он усиленно готовился к собеседованию
Ему 15 лет, какой сеньор, нафиг?
Походу мем "23-х летние синьоры" уже неактуален, грядёт новый "15-летние ..." 😂