Я 4 месяца ходил по frontend собеседованиям и собрал сп… — Transcript

Опыт прохождения фронтенд-собеседований, обзор вопросов и ошибок на позиции Senior Frontend разработчика.

Key Takeaways

  • Подтверждение опыта и включение камеры стали стандартом на собеседованиях.
  • Важно не спешить с ответами и задавать уточняющие вопросы для лучшего понимания задачи.
  • Подготовка к собеседованиям необходима даже опытным разработчикам, чтобы избежать забывчивости.
  • Технические вопросы охватывают широкий спектр тем от браузера до языков программирования и сетей.
  • Понимание работы JS-движка и современных инструментов повышает шансы на успешное прохождение собеседования.

Summary

  • Автор прошёл десятки собеседований на позицию Senior Frontend разработчика и собрал список часто задаваемых вопросов.
  • Обсуждаются современные особенности найма, включая подтверждение опыта и обязательный видео- и экраншеринг.
  • Рассмотрены организационные ошибки кандидатов, такие как спешка с ответом, неподготовленность и отсутствие вопросов к интервьюеру.
  • Подробно разбираются технические вопросы по работе браузера: критический путь рендера, асинхронность, хранение данных.
  • Обсуждаются оптимизации на уровне JS-движка, включая garbage collector, hidden-классы и inline кеширование.
  • Рассматриваются вопросы по HTML и CSS, включая display, position, разницу между grid и flex, препроцессоры и селекторы.
  • Объясняются вопросы по сетям: HTTP методы, TCP/UDP, куки, хранение токенов, CDN, кэширование и DNS.
  • Разбираются вопросы по JavaScript и TypeScript: типы данных, прототипы, наследование, контекст, типизация и утилиты TS.
  • Коснутся вопросов по Angular, React Fiber, паттернам проектирования и SOLID.
  • Автор делится личным опытом и советами по подготовке к собеседованиям, а также примерами необычных вопросов.

Full Transcript — Download SRT & Markdown

00:00
Speaker A
За последние несколько месяцев я прошёл десятки технических собеседований, собрал список вопросов на позицию Senниор Frontend разработчика. В этом видео я поделюсь этими вопросами и также обсудим, как сейчас изменился найм, какие ошибки совершают даже самые опытные разработчики, и посмотрим на
00:22
Speaker A
список кринжовых вопросов, которые я получал. И мы начнём с особенности собеседования. которые появились в последнее время. И первая из таких особенностей - это подтверждение опыта. Почти на каждый отклик, где мне отвечали, меня спрашивали, готов ли я подтвердить свой опыт, либо через
00:44
Speaker A
трудовую книжку, либо через выписку из Госуслуг и отправка этой выписки сразу на почту компании. Таким образом, компании пытаются обезопасить себя от тех, кто накручивает себе опыт.
00:59
Speaker A
Следующая особенность - это интервьюеры настоятельно просят включать камеру и шеринг экрана. Таким образом компании пытаются заметить или спалить тех, кто использует во время интервью. И следующая особенность - это само и интервью, только уже со стороны работодателя. У меня был только один
01:24
Speaker A
раз, когда я пришёл на собеседование. И это собеседование проводила иишка. То есть она генерировала вопрос, озвучивала его, ожидала моего ответа, интерпретировала это. И таким образом происходило собеседование. Ну а повторюсь, это был только один раз, и я даже не знаю, насколько это может быть
01:46
Speaker A
жизнеспособно, потому что модели становятся дороже, и, возможно, компаниям дешевле будет платить людям. О'кей, дальше мы обсудим ошибки, которые были у меня. на собеседованиях. И это не какие-то технические ошибки, а в целом организационные. И одна из таких ошибок это торопиться с ответом. Обычно
02:08
Speaker A
разработчики с большим опытом считают, что они суперпрофессионалы и могут ответить на вопрос даже до его завершения.
02:17
Speaker A
Но это большая ошибка, и это всё приводит к как минимум к неверным ответам, а как максимум к непониманию вопроса вообще. Поэтому как минимум нужно дождаться, пока зададут вопрос.
02:31
Speaker A
Если понимаете, что не пом не поняли вопрос, уточнить. Уточняющие вопросы, на самом деле, это хороший звонок для интервьюера, то разработчик умеет вникать. Следующее - это не готовиться к собеседованиям.
02:47
Speaker A
Разработчики с опытом, опять же, совершают эту ошибку. Они считают, что у них есть большой опыт, и они всё знают.
02:55
Speaker A
И зачем готовиться? Эту ошибку совершал я и потом садился в лужу на собеседованиях. Какой бы не был опыт, какие-то вещи всё равно забываются. Мы всё-таки все здесь люди. Готовиться к собеседованиям полезно, даже если вы крутой разработчик. И третья ошибка,
03:13
Speaker A
которую совершают разработчики на интервью - это не задают никаких вопросов. Иногда интервьюер задаёт специально неточные вопросы, чтобы увидеть, как разработчик может взаимодействовать с заказчиком. То есть ожидается, что на этих вопросах кандидат будет задавать вопросы. И поэтому, если вы чувствуете, что что-то непонятно,
03:38
Speaker A
требования какие-то размытые, то обязательно задавайте вопросы. И перейдём к техническим вопросам, которые задают на позицию сеньор разработчика.
03:49
Speaker A
И самый первый вопрос, который задают даже не на технических собеседованиях - это вопрос про опыт работы. Этот вопрос мне задавали и на HR-скринингах, и на технических собесах, и на финалах.
04:05
Speaker A
Поэтому здесь я рекомендую вспомнить все свои последние достижения, повторить теорию по этим темам и упаковать всё это в красивую историю. Потому что часто бывает так, что разработчик пытается вспомнить, запинается и выглядит так, как будто он что-то выдумывает. Кроме
04:22
Speaker A
того, иногда интервьюер может начать углубляться в темы, которые разработчик рассказал в своём опыте. Таким образом он проверяет, насколько человек не выдумал эту историю. И теперь идём дальше. Здесь появляется список технических вопросов. Обычно на собеседованиях все эти вопросы структурированы по блокам. Они могут
04:43
Speaker A
идти в разных порядках, но здесь мы посмотрим на них в таком порядке. Первое, на что мы посмотрим - это то, как работает браузер. И здесь обычно вопросы начинаются с критического пути рендера. Здесь интервьюер хочет услышать про дерево дом, про дерево CSS, про то,
05:05
Speaker A
как всё это вместе выстраивает рендерт, а затем вс происходит фаза лейаута и пейнтинга. Здесь интервьюер может углубиться в такие темы, как оптимизация. Какой из этих процессов является наиболее ресурсозатратным и ожидает услышать от вас ответ layаут.
05:24
Speaker A
Также он может углубиться, а почему? Да. И идём дальше. Следующий вопрос в работе браузера - это асинхронность. Иногда эти вопросы задаются в блоке JavaScript, потому что это всё-таки про сам код, но я вынес это в блок асинхронность, потому
05:43
Speaker A
что, внимание, JavaScript сам по себе синхронный, асинхронным его делает среда выполнения. О'кей. Вернёмся к вопросам.
05:53
Speaker A
Обычно здесь спрашивают про промисы, про Loop, про set time out sent interval и дают задачку классическую слогами. Одну из таких задач я разбирал в предыдущем видео, поэтому можете посмотреть на канале, там довольно интересно. А мы идём дальше. И следующий вопрос про
06:13
Speaker A
работу браузеров - это то, как работают сторджи, чем они друг от друга отличаются, как в них хранятся данные, а спрашивают про куки, какая у них особенность, а также про куки спрашивают в блоке про сети. Там подробнее обсудим.
06:30
Speaker A
Следующее - это оптимизации. Они бывают на уровне движка. И здесь интервьюер ожидает услышать что-то про garbage collector, про hidden-класы, про inline кеширование и function inlning.
06:44
Speaker A
Вообще эти вопросы, они со звёздочкой, и я не встречал того, что если вы не можете на них ответить, вас не берут. Но понимание того, как работает JS движок, бывает полезно в разработке. Кроме того, здесь могут спросить про зzyлоadдинг,
06:59
Speaker A
про то, как грузить статику правильно, про механизм виртуального скрола. Возможно, я здесь что-то подзабыл. Если вас спрашивали что-то ещё про оптимизации в браузере, то докидывайте в комментариях.
07:12
Speaker A
А мы идём дальше и переходим к блоку про HTML и CSS. Бывают собеседования, где эти вопросы, этот блок вообще не задают, потому что ожидается, что Синьор уже знает всё это. Но всё-таки встречались собеседования, где меня спрашивали про значение диплей position, чем они
07:33
Speaker A
отличаются. разницу между гридами и флексами. Использовал ли я какие-то CSS-препроцессоры, про приоритеты селекторов, про псевдоклассы и в основном, кажется это всё. А мы идём дальше. И следующий блок - это работа сетей. Здесь могут спросить про HTP, про то, какие у него есть
07:55
Speaker A
методы, как работает TS, TCP, UDP под капотом. Здесь не нужно углубляться про то, как именно пакеты доставляются. Но понимание того, чем они отличаются, может быть полезным. И здесь также спрашивают про куки, какие есть флаги, как хранить живота токен, а также могут
08:13
Speaker A
спросить, чем может быть опасно хранение токена в локал сторедже. Также могут спросить про CDN, про кширование, что такое DNS, в чём его роль и так далее. И переходим дальше. И здесь уже начинаются вопросы про языки программирования. И здесь я хотел бы отдельно отметить, что
08:32
Speaker A
сейчас на собеседованиях спрашивают не только про то, как работает JavaScript, но ещё и про Typeesриpt. И сейчас поговорим подробнее про эти вопросы.
08:42
Speaker A
Начнём с Джаваскрипта. И по классике спрашивают, какие есть типы данных, и могут углубиться в то, как точно определить тип в джавакрипте без использования Typeof. И здесь интервьюер ожидает от вас услышать, что в джаваскрипте есть прототип. Да, у функции есть по Name, и по нему можно
09:01
Speaker A
понять, что за тип перед нами. Также классический вопрос, который иногда задают даже на HR скринингах - это отличие обта от map. И также могут углубиться в вопросы, что такое Wickmap, что такое wicet и когда их использовать.
09:17
Speaker A
По классике спрашивают про наследование, про контекст, как его можно изменить, про стрелочные функции и его контекст.
09:25
Speaker A
Также спрашивают просплытие переменных при разных способах их определения, про работу с дом, ивентами и так далее.
09:33
Speaker A
Переходим к тайпскрипту. И здесь задают интересные вопросы вообще, что такое тип, в чём разница между type и интерфейс, про сужение типов, про разницу ключевых слов s и satisfies, про inf, про условные типы, как работает extends, про утилитки такие как record
09:54
Speaker A
partial и о, ну в целом могут спросить список, какой знаешь, а также могут дать задачку на написание своей утилитки, например, My Record или My Partial. как было у меня. Также спрашивают про generки, что это такое, про discminated unions, про typeгарды и вообще в целом,
10:13
Speaker A
что такое структурная типизация и что такое access property checking. Если какой-то из этих вопросов у вас вызывает сложности, то я однозначно рекомендую подготовиться, потому что это именно то, что сейчас спрашивают на собеседованиях фронт разработчиков.
10:31
Speaker A
А мы идём дальше и переходим, собственно, к задачкам, которые дают на собеседованиях. И по классике это глубокое копирование объекта, просят написать свой throttle the bounce, а также дают задачки на поиск с запросом на сервер. И здесь ожидают использование
10:51
Speaker A
дебаунса. А также могут дать алгоритмическую задачку с разменом монет или какое-то другое. Также здесь могут спросить про жатные алгоритмы, про динамическое программирование. Это однозначно не весь список задач, которые дают на собеседованиях. Поэтому, если у тебя была какая-то интересная задачка,
11:12
Speaker A
то оставляй в комментариях, пусть другие разработчики посмотрят и потренируются. А мы идём дальше. И следующий блок - это блок фреймворков. И я проходил собеседование на Angгуляр разработчика и на React разработчика. И список вопросов примерно такой. Начнём с Angгуляра.
11:33
Speaker A
Здесь спрашивают про detection. В чём разница on push и default? Про то, как работают zone js про zoneless, про DI, про чём разница между template NG container, как использовать NG Template outlet.
11:51
Speaker A
Про RXGS довольно большой блок вопросов, про горячие холодные потоки, про операторы Switch Map, Merge Map, Exost Map и Concat Map, чем они отличаются, и про отписки, как их можно делать, в чём может быть проблема, если не отписываться и так далее. Также в
12:12
Speaker A
Angгуulре спрашивают про утечки памяти, про pipe оператор ass про сигналы computed, эффекты, как их использовать и так далее. Следующий блок - это React. И здесь спрашивают по классике про разные хуки, use state, use effect, какие аргументы принимают, какая область
12:33
Speaker A
применения, про то, как React рендерит что-то, в какой момент происходит рендер, про concurrency, который появился в последних версиях Reactта, спрашивают про strict mode, про susсpens, пользовался этим или нет.
12:47
Speaker A
Также редко мне попадались вопросы про React Fiber и про то, как работают некоторые сторы. А мы идём дальше и переходим к блоку про паттерны проектирования. На некоторых собеседованиях спрашивают про Solid, а просят объяснить, что это, и спрашивают про паттерны проектирования из банды
13:08
Speaker A
четырёх, какими пользовался, какие в целом бывают, как их применять и так далее. И следующий блок - это блок про безопасность. Здесь спрашивают про то, какие атаки бывают, как от них можно защититься, какие есть механизмы браузерные для того, чтобы от них
13:25
Speaker A
защититься, про флаги в куках, same, HTP Only Secure, про курсы и в основном это весь список вопросов про безопасность, которую задают. Возможно, у вас есть какой-то дополнительный вопрос, которого здесь нет в списке. Также оставляйте в комментариях. И сейчас я бы хотел
13:46
Speaker A
рассмотреть список самых странных вопросов, которые я получал на интервью. Уточню, что этот список является странным для меня. Возможно, для кого-то этот список нормальный на собеседованиях именно на позицию фронтEND разработчика, но тем не менее, давайте мы на них посмотрим. И первый вопрос, который мне
14:11
Speaker A
показался странным - это почему Smile JavaScript занимают длину в два символа. Если разработчик с таким никогда не сталкивался, то ему в целом на это и без разницы, и это ни в коем случае не показывает глубину его понимания в целом
14:30
Speaker A
фронт тематики. Я не смог ответить на этот вопрос. Мне интервьюер рассказал, почему он так работает. Но и после собеседования я уже забыл и забил на это. Поэтому идём дальше. И следующий вопрос - это что такое параметрический полиморфизм? Я думаю, ребята, мы на
14:48
Speaker A
позицию фронт разработчика собесимся. Какой параметрический полиморфизм? Вы вообще о чём? Мы здесь клепаем формочки, добавляем события и отправляем джейсончики на сервер. Ну какой параметрический полиморфизм? За 8 лет работы я ни разу не сталкивался с проблемой, чтобы для её решения мне
15:06
Speaker A
нужно было знать, что такое параметрический полиморфизм. Тем не менее, я мог приносить пользу бизнесу, даже без понимания вообще, что это такое. Поэтому я отнёс этот вопрос в список странных. И следующий вопрос - это разница между динамической и слабой
15:21
Speaker A
типизацией. Я смог ответить на этот вопрос, потому что изучал его когда-то очень давно, и, к счастью, этот кусок информации остался в моей памяти. Но за столько лет я ни разу не задумывался об этом и вообще для работы это никак не
15:38
Speaker A
понадобилось. Поэтому зачем задавать его, я, честно говоря, не понимаю. Поэтому даже если отпустить этот вопрос и не задавать его, то ничего буквально не изменится. И, наверное, самый непонимаемый мной вопрос - это вопрос на финале собеседования в одну компанию,
16:00
Speaker A
после которого мне даже разхотелось идти в эту компанию. Я не буду называть, что это за компания, но скажу сам вопрос, который задали. И это вопрос: какие принципы помогают тебе адаптироваться в новой для себя среде? Это была единственная компания, где я получил
16:19
Speaker A
такой вопрос. Я не понимаю, как это может помочь перекладывать джейсончики по сети. Но тем не менее я дал какой-то ответ, и я, честно говоря, даже не знаю, в чём была бы разница, если бы я ответил как-то по-другому. Например, сказал, что
16:35
Speaker A
чем больше денег, тем лучше происходит адаптация. После этого вопроса я понял, что я не хотел бы идти в эту компанию, и я туда не пошёл. Таким образом, это были все вопросы, которые я посчитал самыми интересными, которые мне задавали на
16:51
Speaker A
собеседованиях. Возможно, кому-то это поможет подготовиться к следующим собеседованиям. Если у вас есть свои вопросы, которыми вы хотите поделиться, то оставляйте в комментариях. И всем хороших собеседований. Yeah.
Topics:frontendсобеседованиеSenior Frontend разработчиктехнические вопросыJavaScriptTypeScriptбраузероптимизацияHTML CSSсети

Frequently Asked Questions

Какие современные особенности собеседований на позицию Senior Frontend разработчика?

Современные собеседования требуют подтверждения опыта через официальные документы, обязательного включения камеры и шаринга экрана, а также иногда используют ИИ для проведения интервью.

Какие ошибки чаще всего совершают опытные разработчики на собеседованиях?

Опытные разработчики часто спешат с ответами, не готовятся к собеседованиям, полагаясь на опыт, и не задают уточняющих вопросов, что может привести к неправильному пониманию задач.

Какие технические темы чаще всего затрагиваются на собеседованиях для Senior Frontend разработчика?

Часто задают вопросы по работе браузера (критический путь рендера, асинхронность), оптимизациям JS-движка, HTML и CSS, сетевым протоколам, а также по JavaScript и TypeScript, включая типизацию и паттерны проектирования.

Get More with the Söz AI App

Transcribe recordings, audio files, and YouTube videos — with AI summaries, speaker detection, and unlimited transcriptions.

Or transcribe another YouTube video here →