На данный момент работаю уже почти четыре года.После года подал волну резюме.Вот разобрал свежеиспеченный front-end опыт,и можно подобрать то,что нужно.
Тенсент Аспект
одна сторона
- Напишите функцию кэширования LRU
- Напишите функцию защиты от тряски и дросселирования
- Как развернуты ваши услуги? Что делает агент узла?
- Преимущества и недостатки Grpc?
- Связанные функции http2?
- вьюпорт и мобильные макеты
- Реализовать функцию создания
- Сталкивались ли вы с проблемами, которые трудно обнаружить в процессе разработки? Вы когда-нибудь сталкивались с утечкой памяти Node?
две стороны
- В каком сценарии выполняется реакция ssr?
- Как устроена двусторонняя реакция ssr? В чем разница?
- Вы когда-нибудь делали изоморфные компоненты? Как сервер и клиент синхронизируют состояние?
- В чем разница между базовой реализацией render и renderToString?
- Как клиент обрабатывает сбой событий JS? Как этого добиться без перезагрузки JS на стороне клиента?
- Сталкивались ли вы с какими-либо трудностями при рендеринге на стороне сервера?
- Разница в производительности между react ssr и ejs?
- Как работает откат службы? Как проходит онлайн-процесс? откат k8s, вытащить предыдущее изображение
- Каков принцип работы плагина webpack?
- Будет ли в плагине асинхронный запрос, который заблокирует последующий плагин?
- Какие оптимизации производительности веб-пакета вы сделали?
- Как hard-source-webpack-plugin выполняет кеширование? Что происходит после изменения файла?
- Что такое принцип параллельности? Как взаимодействуют несколько дочерних процессов?
- Как распаковать вебпак?
- Как работает мониторинг серверов? Какие показатели отчитались в сервисе?
- Как служба Node обнаруживает резкое увеличение загрузки ЦП? Как обнаружить утечки памяти?
- В чем разница между написанием службы grpc и службы http?
- Какие оптимизации, связанные с реакцией, вы сделали? Как функциональные компоненты реализуют shouldComponentUpdate?
- Если у меня очень большая страница реагирования, и я хочу сначала отобразить определенную часть, как я могу это сделать?
- В чем разница между состоянием в функциональных компонентах реакции и компонентами класса?
- Какие жизненные циклы реакции useEffect соответствуют компонентам класса?
- Как осуществляется фронтенд-мониторинг? Есть ли какая-либо другая обработка исключений, кроме часового?
Три стороны
- Расскажите о более сложном проекте, который вы делали? И какую роль вы сыграли в проекте?
- Что вы сейчас думаете обо всех видах колесостроения?
- Существует строка длиной 100 миллионов, как дизайн хранилища может улучшить запросы и изменения?
- Как оптимизировать H5, чтобы его можно было открыть в течение 300 мс?
- Сколько времени обычно требуется для загрузки вашего WebView?
- Почему вы перешли с Python на Node? Каковы преимущества?
- Что вы думаете о системе фонового управления? Многие думают, что это не сложно, а вы как думаете? (задаю этот вопрос, потому что сейчас работаю над системой фонового управления)
Лицо директора (немного не помню)
- Как связаны интранет-сети Сингапура и Шэньчжэня?
- Как выглядит ваш будущий карьерный план?
- Есть ли у вас понимание текущих новых технологий?
- Имеют представление о знаниях клиента?
- Почему ты уходишь с работы?
Отклонено, мне не очень нравится позиция
Муравей Финансовый
одна сторона
- Как React setState получает обновленное значение? Почему setState сразу же обновляется в асинхронной функции?
- Вы сделали офлайн-пакет? Принцип офлайн-пакета H5? На каком основании клиент перехватывает статические запросы ресурсов?
- Принцип JS Bridge? Каковы плюсы и минусы вашего плана?
- Как определить, загружен ли веб-просмотр или нет?
- Как реализовать фоновый градиент заголовка и страницы приложения?
- Вы сделали более значимый проект на стороне ПК?
- Как взаимодействовать между микро-интерфейсными приложениями? Узнали ли вы о некоторых решениях в отрасли?
две стороны
- Как вы развернули Дженкинса?
- Принцип JS Bridge? Есть ли дыры в безопасности?
- Вы когда-нибудь делали что-нибудь, связанное с безопасностью? Что в основном делает waf?
- Вы когда-нибудь делали скрытые точки и отчеты о производительности?
- Если вы используете стороннюю библиотеку отчетов, но страница не загружает JS, что делать?
- Сложите два больших числа
- Реализовать строку DOM в виртуальный объект DOM (не может использовать API, связанный с DOM)
- Вы когда-нибудь делали проект, который вы считаете трудным?
Три стороны
- Какой бизнес делает система управления? Сделали ли вы что-то для повышения эффективности разработки?
- Какие компоненты обычно используются? В чем проблема?
- Для чего вы обычно используете Node? Как?
- Что такое принцип реализации SSR?
- Технические трудности, возникшие в проекте есть?
- Как вы думаете, почему у вас дела идут лучше, чем у lazada?
Четыре стороны (опущены)
Пять сторон (опущено)
Пиндуодуо
одна сторона
- Вы когда-нибудь делали более сложную страницу? Что делает React-imvc?
- Преимущества использования Redux и отличие от Mobx
- Разбираетесь в последних функциях React? В чем разница между компонентами класса и компонентами функций?
- Почему нельзя поместить useState в условный оператор?
- Реализовать обещание.все
- Как реализован React SSR?
- Использовали ли вы спецификацию кода? Как разрешить конфликт между Эслинтом и Преттиером?
- Реализовать функцию, преобразующую массив в древовидную структуру.
две стороны
- Назовите несколько проектов, которые вы считаете достаточно сложными?
- Как вы подошли к React SSR?
- Делали ли вы какие-либо оптимизации производительности?
- реализовать глубокую копию
- Как реализовать бинарное дерево поиска в связном списке
Я отказался, я не хочу жертвовать своей жизнью
Шан Тан
одна сторона
- Чем вы в основном занимаетесь на работе?
- Вы когда-нибудь пользовались лерной? Как поделиться вещами, которые являются общими для нескольких проектов?
- Расскажите о том, как делается микроинтерфейс? Как развернуть самостоятельно? Как сделать связь с подприложением?
- Как выглядит процесс сборки веб-пакета?
- Принцип и разница между загрузчиком webpack и плагином?
- Как работает горячее обновление веб-пакета?
- Как webpack делает подпакет?
- Вы сделали оптимизацию производительности веб-пакета? Вы когда-нибудь использовали роллап?
- Что такое реакция-imvc? Что это делает?
- В чем разница между реакцией и реакцией?
- Разница и плюсы и минусы redux и mobx? Вы использовали редукс-сагу?
- Сложность реакции diff и принцип реакции diff
- В чем разница между компонентами класса реакции и хуками?
- Что такое TS-дженерики?
- Каковы шаги от ввода URL-адреса до отображения страницы?
- Разговор о перекраске и оплавлении
- Знаешь БФК? Каковы сценарии использования?
- Как определить, является ли это массивом?
- Как найти застрявшую страницу?
- В массиве 100 000 данных, сколько времени потребуется, чтобы взять первые и 100 000-е данные?
- Вы использовали холст, связанный?
- Механизм сборки мусора JS? Как найти проблему утечки памяти Node?
- Как вы понимаете переднюю часть?
- Самая сложная проблема, с которой вы сталкивались на работе? Есть ли проекты, которыми вы гордитесь?
- Что ты делаешь на выходных? Как научиться фронтенду?
Интервью с другими компаниями почти такие же, и все последующие интервью отклоняются.
ByteDance
одна сторона
- Различия и сценарии использования между tcp и udp?
- Как quic обеспечивает надежность на основе udp?
- Говорите об одинаковой политике и междоменной схеме? Каковы несколько глав CORS?
- Говорите о реактивном волокне?
- Принцип двусторонней привязки Vue?
- Разница и сценарии использования redux и mobx?
- тип нуля? нулевой экземпляр объекта?
- Какие типы может определить typeof? Что делает instanceof?
- Реализовать функцию привязки
- Найдите сумму самых больших последовательных элементов в массиве
- event loop
две стороны
- Как оптимизировать скорость загрузки h5?
- Как обновить офлайн-пакеты? Как узнать, какой офлайн-пакет открывать?
- принцип мостовой связи js?
- Как реализовать открытие страницы h5 за секунды?
- Очевидно, это не один и тот же язык, почему js и натив могут общаться?
- Как поделиться мостом js между несколькими приложениями?
- Преимущества grpc над http?
- Процесс вызова RPC? Как внешний интерфейс вызывает grpc?
- Зачем использовать grpc?
- Почему для обнаружения службы используется IP-адрес вместо доменного имени?
- Как выполнить предварительное разрешение DNS?
- Как добиться мобильной верстки?
- Сталкивались ли вы с проблемами перекрытия поля ввода программной клавиатуры под iOS? Как решить проблему неспособности встать?
- Сложите два больших числа
- Найдите сумму самых больших подэлементов массива, требуя, чтобы позиции этих подэлементов в массиве не были последовательными.
- Обычно используемые методы реагируют на хуки
- Как useState кэширует?
- Что такое реактивное волокно?
- Как решить проблему закрытия useState?
- Чем useReducer лучше, чем redux?
Три стороны
- Какие публичные компоненты вы сделали? Как реализован DatePicker? Где трудность?
- Каковы принципы инкапсуляции компонентов?
- Как разделить данные компонента и пользовательский интерфейс?
- Сделали ли вы что-то для повышения своей продуктивности?
- Вы слышали о перетаскивании? Как вы думаете, какие у него трудности?
- Делали ли вы какие-либо оптимизации? Какие оптимизации делает webpack?
- В чем разница между cache-loader и hard-source-webpack-plugin?
- Какой самый сложный проект, с которым вы столкнулись в последнее время? Как развернуты ваши услуги?
- Для чего можно использовать Puppeteer?
Суммировать
Собеседования очень утомительны, после работы я каждый день мчусь домой на собеседования, а иногда просто нахожу конференц-зал для тайного интервью. Собеседовался почти месяц, еще ни разу не повесил трубку, но по разным причинам опять отказался. . . Теперь пришло время начать еще один раунд интервью, удачи вам.