Промежуточные читы на фронтенд интервью для девушки (с подробными ответами, 15к уровень)

JavaScript опрос

предисловие

Эта статья посвящается моей девушке, и я желаю ей хорошей компании 965 в Ханчжоу!

Не по теме: Я также написал статью о промежуточном -> продвинутом продвижении, надеюсь, она вам поможет:

Расширенное пошаговое руководство для начинающих и продолжающих работать с интерфейсом

HTML статьи

Семантика HTML5

семантические теги html5

Семантическая статья Baidu ife H5 очень хороша, и многие хорошие компании будут задавать семантические вопросы.

CSS-статьи

CSS общие вопросы интервью

50 вопросов на собеседовании по классике CSS

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

Не могли бы вы немного рассказать о макете Flex и его часто используемых свойствах? .

Гибкая серия Руан Ифэн

Гибкая компоновка — это часто используемый тестовый сайт и один из наиболее часто используемых методов компоновки в обычной разработке, поэтому вы должны быть знакомы с ним.

Что такое БФК? Что можно решить?

Что такое БФК? При каких условиях он сработает? Каковы сценарии применения?

Что касается BFC, вы можете увидеть статью, кратко изложенную Sanyuan Boss.

В этой статье, кстати, я тоже говорил о проблеме перекрывающихся полей.

Основы JS

Говорите о типах данных JS?

Последний стандарт ECMAScript определяет 8 типов данных:

  • 6 примитивных типов
    • Boolean
    • Undefined
    • Number
    • BigInt
    • String
    • Symbol
  • null
  • Object
  • Function

developer.Mozilla.org/en-US/docs/…

Говорите о карте и наборе?

  1. Ключ карты более гибкий, чем обычные объекты.Ключ обычных объектов может использовать только базовый тип данных в качестве значения ключа, и все входящие значения ключа будут преобразованы в строковый тип, а ключ карты может быть различным формат типа данных.
  2. Сет может говорить о своей функции дедупликации.

Разница между WeakMap и Map?

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

Говорите о цепочке прототипов?

Подробное изучение JavaScript от прототипа к цепочке прототипов

Что касается цепочки прототипов, хотя сейчас она мало используется, связь между __proto__ и прототипом, а также поиск свойств вверх должны быть понятными, а остальное не нужно слишком внимательно читать.

Говорить об этом?

это в JavaScript

  1. Связь между this и вызывающим абонентом должна быть ясной.
  2. Помните о нескольких способах изменения этого указателя (вызов, привязка, применение).
  3. Особенность этого в стрелочных функциях должна быть четко объяснена

Разница между поверхностной копией и глубокой копией

  • Поверхностная копия: обычно относится к копированию первого слоя объекта в новый объект, например
var a = { count: 1, deep: { count: 2 } }
var b = Object.assign({}, a)
// 或者
var b = {...a}
  • Глубокая копия: Как правило, это должно быть реализовано рекурсией.Если значение объекта все еще является объектом, его необходимо скопировать дальше и полностью заменить ссылку каждого сложного типа.
var deepCopy = (obj) => {
    var ret = {}
    for (var key in obj) {
        var value = obj[key]
        ret[key] = typeof value === 'object' ? deepCopy(value) : value
    }
    return ret
}

для того же варианта использования

// 浅拷贝
var a = { count: 1, deep: { count: 2 } }
var b = {...a}

a.deep.count = 5
b.deep.count // 5
var a = { count: 1, deep: { count: 2 } }
var b = deepCopy(a)
a.deep.count = 5
b.deep.count // 2

Говорите о всплытии событий, захвате событий и делегировании событий?

Вы действительно понимаете пузырьковое распространение событий и захват событий?

Рамочные статьи

React

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

React2019 высокочастотные вопросы интервью

17 часто задаваемых вопросов интервью React и подробные объяснения в 2019 году

Вы можете сначала пройтись по этим вопросам, если вы пока не можете их понять, сначала пропустите их, вам не нужно умирать.

Вы когда-нибудь использовали React Hooks?

  • Какие из них обычно используются? Что оно делает?
  • Как использовать хук для повторной отправки запроса при изменении зависимостей?
  • Вы когда-нибудь писали кастомный хук? Какие проблемы были решены.
  • Расскажите о ловушке закрытия React Hooks, как вы ее решили?

Полное руководство по использованию эффектов

На самом деле, о Крюке, немного прочитав сообщение в блоге Дэна, вы можете в основном поболтать и посмеяться с интервьюером.

Говорите о повторном использовании компонентов в React?

[Углубленное реагирование] От Mixin до HOC и Hook

Эта статья, от миксина до HOC и Hook, подробно объясняет некоторые исследования и разработки React в повторном использовании компонентов.Если вы сможете объяснить это хорошо, интервьюер также будет впечатлен вашей силой React.

Также в этой статье高阶组件а такжеHookЭто также высокочастотный испытательный полигон.

инструмент

Основы вебпака

В этой серии есть все, от базового до оптимизации, вы можете углубиться
Серия веб-пакетов Nuggets Лю Сяоси

оптимизация производительности

Говорите об оптимизации производительности на различных этапах сети?

Руководство по оптимизации производительности загрузки React 16

Это очень длинно и подробно, так что не зацикливайтесь на каком-то одном моменте, это нормально, чтобы закрепить ваше впечатление от того, что вы, вероятно, знаете.

Как работает разделение кода веб-пакета?

Разделение кода веб-пакета (то же самое для маршрутизации ленивой загрузки)

Маршрутизация ленивой загрузки и асинхронная загрузка модулей webpack — это оба синтаксиса import(), которые заслуживают более пристального внимания.

Интернет

Расскажите об основной структуре http?

http инфраструктура

Расскажите о часто используемых кодах статуса http?

HTTP-код статуса

Что происходит, когда браузер переходит от ввода URL к отображению страницы?

Уточните, что происходит, когда браузер вводит URL-адрес

Расскажите, как вы понимаете файлы cookie? Включите свойство SameSite.

Прогнозирование недавнего интервью будет проверять атрибут SameSite файла cookie.

В этой статье в основном речь пойдет об атрибуте SameSite недавно добавленного файла cookie в chrome 80. Кроме того, вы также можете просмотреть и просмотреть файл cookie в целом, что очень хорошо~

Расскажите о принципе https? Почему https безопасен?

Разговор о HTTPS

https тоже высокочастотный тестовый сайт, нужно пройти принцип шифрования https.

Говорите о знаниях в области безопасности переднего плана? XSS, CSRF и как их предотвратить.

Веб-безопасность, которую вы должны знать о поиске работы зимой

Секретные вопросы также обязательны для многих компаний, ведь никто не хочет, чтобы их веб-сайт был полон лазеек.

Давайте поговорим о механизме кэширования http, сильном кэшировании, согласованном кэшировании?

Глубокое понимание механизма кэширования браузера

Кэширование в браузере, по сути, является обязательным вопросом, и эта статья стоит того, чтобы ее прочитать.

Почерк серии

Основание

Почерк различными нативными методами

Как смоделировать эффект внедрения нового?
Как имитировать эффект реализации привязки?
Как реализовать функцию вызова/применения?
Тернарный - Серия рукописных кодов

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

Передовой

Рукописное обещание 20 строк

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

Проанализируйте внутреннюю структуру Promise, шаг за шагом, чтобы реализовать полный класс Promise, который может пройти все тестовые случаи.

❤️Спасибо всем

1. Если эта статья была вам полезна, пожалуйста, поддержите ее лайком, ваш "лайк" - движущая сила моего творчества.

2. Подпишитесь на официальный аккаунт «Front-end from advanced to accept», чтобы добавить меня в друзья, я втяну вас в «Front-end группу расширенного обмена», все смогут общаться и добиваться прогресса вместе.