предисловие
Давно не резюмировал статью.Готовлюсь к собеседованиям в последнее время.Эта статья также является обменом своим опытом и личным опытом и методами обучения.Это справочник для студентов,имеющих такой же годовой стаж , Вы только посмотрите!
ByteDance
В то время байты не передавались внутрь, напрямуюBOSSЯ проголосовал за топ (обратный туториал), и вскоре со мной связался HR для интервью
одна сторона
- Вопросы, связанные с проектом(Предыстория проекта, роль, ответственные задачи, трудности и т.д.)
- почерк
Bindфункция - Реализуйте алгоритм, строка содержит «[]», «()», «{}», чтобы определить, правильно ли она закрыта.
-
Вы разбираетесь во внешней маршрутизации? Какая разница?(упомянуто ниже
hashмаршрутизация иhistoryМаршрутизация и некоторые отличия, этот ответ не очень исчерпывающий) -
Какой синтаксис ES6 использовался?(
let,constграмматика, тоPromise, стрелочные функции и т. д.)-
Вы использовали символы? Каковы преимущества?(Я упомянул о том, что нужно избегать дублирования имен, реализовывать приватные переменные и
callа такжеapplyиспользуется в)
-
Вы использовали символы? Каковы преимущества?(Я упомянул о том, что нужно избегать дублирования имен, реализовывать приватные переменные и
-
Знаете ли вы о внешнем мониторинге производительности?(Этот вопрос в основном задаетневерный типтак же какМетод мониторинга, типа не всем ответил, метод мониторинга сказал
try-catch,Promise.catchа такжеwindow.onerror, потому что я не очень хорошо его знаю, поэтому не могу рассказать об этом подробно) - Какие есть способы оптимизировать белый экран?(я тоже мало в этом разбираюсь, но просто упомянул схемы ленивой загрузки, предзагрузки, препарсинга, загрузки по требованию, кэширования и каркасного экрана)
- Роль дросселирования? В каких сценариях это полезно?
- Поговорим о механизме цикла сообщений браузера
- В чем разница между переходом и анимацией?
- Расскажите о роли requestAnimationFrame и добейтесь количества кадров в секунду(На тот момент застряла реализация получения количества кадров в секунду, но идея была верной, поэтому я ее запустил)
две стороны
- Вопросы, связанные с проектом
-
Можете ли вы рассказать мне, как Babel анализирует грамматику?
-
Какова роль лексического анализа и синтаксического анализа?
- a=1; Будет ли проводиться лексический анализ?
- Как провести лексический анализ? (ключевое слово)
- Кто сначала выполняет лексику и грамматику?
- Какие из них лексические, а какие грамматические?
- const const a=1, можно ли пройти лексический анализ? Сообщается ли об ошибке до синтаксического анализа?
-
Какова роль лексического анализа и синтаксического анализа?
-
Напишите тему, дайте узел дерева, включая значение и дочерние элементы, найдите значение и сумму всех узлов.
- Каковы, по вашему мнению, недостатки рекурсии?(упомянут пакетный стек и переполнение памяти)
- К какому типу ошибок относятся взрывы стека? Системная ошибка или что?(не ответил...)
- Как улучшить код проблемы, которую вы сказали?(Говоря о хвостовой рекурсии и замене рекурсии итерацией, я думал об этом минут пять и реализовал ее с помощью DFS)
-
Как отображается консоль браузера? Расскажите о процессе вывода консоли на вывод отображения в консоли браузера?(Прямо ослепление, я попрошу браузер показать процесс, если я его не знаю, а то этот кусок в основном ослеплен на протяжении всего процесса)
- Куда идет разрешение DNS, чтобы найти кеш?
- Как найти DNS-сервер?
- Как DNS разрешает IP?
- Как найти другую сторону после разбора IP-адреса?
- Зачем нужно трижды пожимать руку? А если в третий раз не отправят?
-
Давайте поговорим о проблеме с открыткой, у вас есть открытка, которую нужно отправить незнакомцу, и у вас есть несколько вопросов.
- Как сделать так, чтобы курьер не знал содержимого?(Заверните конверт, здесь зарыта дырка, я не подумал о другой голубиной переписке, которую я читал, надежнее запереть ее коробкой)
- А курьер снял конверт?(Добавьте подсказки к содержанию письма и добавьте подсказки к внешней стороне конверта, чтобы выполнить расшифровку корреспонденции. В то время я не получил подсказку интервьюера для вышеизложенного)
- Конверт заменили?(Ищу почтовое отделение с печатью)
-
Как незнакомцы узнают, какие печати власти?(Один экземпляр сравнительной таблицы почтового отделения)
- Что с обновлением печати?(Уведомление почтового отделения или обновление самостоятельно)
Три стороны
- Вопросы, связанные с проектом
- Пишите в тему, восстанавливайте IP адрес
Суммировать
Одна проблема - относительно распространенная точка знаний во фронтенде.Хотя многие ею не пользовались, по крайней мере, я слышал, так что могу кое-что сказать, и это не должно быть проблемой, если вы хорошо подготовитесь.
Второй вопрос в основном вращался вокруг точки знаний и продолжал задавать вопросы. На многие места не были даны правильные ответы, в том числе на последний вопрос с открыткой. Я нервничал и смущался, потому что я плохо ответил на предыдущий вопрос. Я чувствовал, что повесил трубку. , но на третий вопрос интервьюер все же дал возможность.
По трем сторонам вопросов задают не много, а ключевые вопросы по алгоритму так и не решены (жаль ТАТ) После окончания специально изучил бэктрекинг и дополнил ответы. В итоге я все же не прошел, и меня забрал другой отдел, чтобы снова начать собеседование.
ByteDance поменять лицо
одна сторона
- Вопросы, связанные с проектом
cssОсознайте равносторонний треугольникthisпохожие темы- Темы, связанные с цепочкой прототипов
- сказать
newобработать - Реализовать шаблон публикации-подписки
-
сказать
headerКакие общие поля? Каковы функции?(рассказал некоторые общие)-
CookieКакие поля есть? какой эффект(сказалSameSite,HTTPOnly) Access-Control-Request-Methodэффект?
-
- Как предотвратить CSRF?
- Знаете о внешнем мониторинге ошибок?(Ответ аналогичен предыдущему Feishu)
- Знаете ли вы, как взаимодействуют одностраничные и многостраничные приложения?(Я неправильно понял, я думал, что спросил разницу между одностраничным и многостраничным. После того, как меня поправили, я сказал, что мало что понял.)
- Расскажите о разнице между HTTP и HTTPS?(В основном это описано в пунктах, с какой проблемы решает HTTPS)
две стороны
- Вопросы, связанные с проектом
- Позвольте вам реализовать функцию оплаты скан-кодом, как бы вы ее реализовали?(Грубо говоря с точки зрения фронтэнда и бэкенда)
-
Как предотвратить
iframeПроблемы с безопасностью, вызванные вложением фишинговых веб-сайтов?(Без понятия.)-
Интервьюер подсказывает,
iframeКак определить, является ли он вложенным?(думал, что это можно сделатьtopЗначение переменной равноwindowсудить)
-
Интервьюер подсказывает,
- Какие моменты вы бы рассмотрели при реализации глубокого копирования?(В основном обратитесь к ответу на статью, которую я видел раньше, исходный текст:Как написать глубокий текст, который удивит интервьюера?)
Три стороны
- Вопросы, связанные с проектом
-
Реализует слияние двух упорядоченных связанных списков.(Я немного нервничал, когда писал это, у меня не получилось с первого раза, интервьюер мягко разрешил мне
debugМомент, поправился на время и убежал)
четыре стороны
- Вопросы, связанные с проектом
- Вы понимаете принцип реализации Redux?(Я не использовал его раньше, я упомянул, что это должна быть модель публикации-подписки? Интервьюер сказал, что ядро более тонкое, давайте я посмотрю позже)
-
Какие шаблоны проектирования вы знаете?(Говорили о синглтонах, стратегиях, декораторах, публикации-подписке, наилегчайшем весе)
- Вы понимаете режим адаптера? (Не понимаю. Все кончено)
- Расскажите об особенностях функционального программирования?(Отвечая, что повторное использование хорошее, без гражданства, идемпотент, интервьюер сказал, что также есть отложенное выполнение (например, каррирование))
-
О чем знают основные фреймворки? Что более знакомо?(Vue, прочитайте исходный код)
- Дайте вам шаблон, напишите код, скомпилированный в функцию рендера (там интерполяционное тринокулярное выражение, которое не было написано)
-
Давайте поговорим о процессе сбора зависимостей Vue.
- Будут ли зависимости вспоминаться при изменении данных?
-
говорить о
webpackПринцип, насколько вы его освоили?(Если вы знакомы с плагинами оптимизации, принципами упаковки и принципами горячего обновления, прочтите основной исходный код)-
loaderа такжеpluginЭто было достигнуто? Вы знаете принцип?(Говорят, что первое — это функция, второе — класс, две формы написания разные, а позиция выполнения в исходном коде — одновременная) - сказать
module,chunk,bundle,assetразница? -
chunkДолжен ли он быть создан через портал?? (неуверенный,importДинамически загружаемые модули также служатchunk) -
css-loaderроль?(обработка зависимостей) -
cssКак пути в разборе?(должно быть черезfile-loaderРазобрать (не совсем уверен)) - Как css-загрузчик и файловый загрузчик работают вместе?(Не так ясно.)
-
- Дать кусок кода, который просит сказать, распечатать результат
setTimeout(function() {
console.log('setTimeout1'); //8
new Promise(function(resolve) {
console.log('promise0'); //9
resolve()
}).then(function() {
console.log('settimeout promise resolveed'); //10
})
});
setTimeout(function() {
console.log('setTimeout2'); //11
});
const P = new Promise(function(resolve) {
console.log('promise'); //1
for (var i = 0; i < 10000; i++) {
if(i === 10) {
console.log('for'); //2
}
if (i === 9999) {
resolve('resolve');
}
}
}).then(function(val) {
console.log('resolve1'); //5
}).then(function(val) {
console.log('resolve2'); //7
});
new Promise(function(resolve) {
console.log('promise2'); //3
resolve('resolve');
}).then(function(val) {
console.log('resolve3'); //6
})
console.log('console'); //4
Суммировать
В общем, интервью сложные, но все они являются точками знаний, которые обычно используются, и интервью — это не обязательно первый раз, чтобы дать лучший ответ, а процесс обдумывания и обсуждения, что я считаю также очень важным.
Кроме того, интервьюер может видеть записи предыдущих интервью, поэтому задавая вопросы, он в принципе будет избегать повторных вопросов, а также может проверить ваши знания.
К счастью, после одного раунда я все же прошел.
Али
одна сторона
-
Пять письменных вопросов, 40 минут на выполнение
- Разобрать параметры в соответствии со строкой URL
- рукописный setInterval
- Перевернуть неполный список
- Учитывая строку, отфильтровать все числа
- Реализовать компонент обратного отсчета
- Вопросы, связанные с проектом
- Расскажите об адаптивном принципе vue?
-
Расскажите о принципе работы загрузчика и плагина? привести несколько примеров(Говоря о разнице между ними, упоминая
style-loaderа такжеhtml-webpack-plugin) - Обычный способ обучения?
-
Подскажите в чем разница между https и http?(Частота довольно высокая, и все они произносятся ххх)
- Вы понимаете процесс выдачи сертификата?(Слепая область знаний, не очень разбираюсь)
две стороны
- Вопросы, связанные с проектом
- Как вы думаете, есть ли какие-то основные моменты, которыми можно поделиться?(в основном речь об управлении памятью в проекте)
- говорить о виртуальном
Domизdiffпринцип - Карьерный план на будущее
три стороны, четыре стороны
- Вопросы, связанные с проектом, углубленное изучение и охват
Суммировать
Условно говоря, сторона Али также исследует базовые знания о внешнем интерфейсе, но вопросы, связанные с проектом, и некоторые открытые вопросы будут изучены больше, и будет больше возможностей для игры.
обмен личным опытом
После того, как я поделился скриптами лица, я поделюсь своим личным опытом и методами обучения.Конечно, поскольку уровень ограничен, это скорее ссылка. В основном из обычной подготовки и подготовки к интервью можно разделить два аспекта:
обычная подготовка
Обычная подготовка есть не что иное, как обучение, но польза и эффекты, приносимые разными методами, совершенно разные.Я сам подытожил несколько важных моментов.
эффективное обучение
Этому понятию соответствует недействительное обучение, а это означает, что время, потраченное на обучение, равносильно тому, чтобы не учиться. Я думаю, что ключи к эффективному обучению можно суммировать в этих пунктах.
1. Изучайте полезные и часто используемые вещи
Как я и думалPythonИнтересно, потратил месяц на изучение; пощупатьDockerИнтересно, я тоже нашла время изучить, мейнстримные фреймворки популярны, и мне приходится их изучать, есть много подобных вещей, которые долго после изучения не используются, и быстро забываются, что не является эффективным обучением.
2. Суммируйте точки знаний
Хорошая память не так хороша, как плохое письмо.Многие базовые знания по интерфейсу носят теоретический характер и могут не часто использоваться в работе.В начале может потребоваться много времени, чтобы изучить их в начале, и их придется изучать заново. через некоторое время, поэтому резюме или заметки, сделанные во время обучения, могут помочь вам быстрее просмотреть точки знаний.
3. Создайте базу знаний
Я думаю, что это самый важный момент, чтобы идти дальше.Я поделился статьей в начале.Давайте организуем специальную карту знаний, Раньше я учился разрозненно, и только в прошлом году, во время Национального дня, я сделал этот шаг и тщательно разобрался со своей системой знаний. Таким образом, при учебе вы можете планировать время в соответствии с приоритетом, и в то же время вы можете интуитивно видеть прогресс в учебе, быстро формировать уверенность в себе и получать положительные отзывы.
Больше времени и больше эффективности
Нет никаких сомнений в том, что большинство людей не очень талантливые игроки, поэтому они могут учиться, только тратя больше времени и повышая эффективность.
1. Больше времени
На самом деле, короткого пути ко времени нет. Либо хорошо используйте разбросанное время, либо выжимайте больше непрерывного времени. Я не очень хорошо использую разрозненное время, поэтому обычно хорошо использую время утром, вечером и выходные на учебу.
2. Более высокая эффективность
Когда дело доходит до эффективности, это на самом деле потому, что во время учебы легко отвлечься.Вот несколько общих советов.
- Прежде чем учиться, посмотрите видеоролики о курином супе или блоги отличных людей и учитесь с мотивацией.
- Если позволяют условия, не учитесь дома, есть учебные кабинеты, библиотеки и кафе, и в штат легче попасть.
- Чтобы устранить помехи от мобильных телефонов, вы можете использовать программное обеспечение, такое как Pomodoro, чтобы некоторое время учиться и перемещаться (сам я использую Forest)
подготовка к интервью
Если у вас есть хорошие накопления в обычное время, то вам нужно только провести целенаправленную подготовку во время собеседования.
резюме
Резюме на самом деле очень важно, и хотя многие люди подчеркивали это, многие люди, в том числе и я, не обратили на это внимания.
Сначала я думал, что резюме будет достаточно, пока я пройду отбор, но на самом деле вопросы интервьюера часто будут вращаться вокруг вашего резюме, и контент, который вы добавите в свое резюме после рассмотрения, скорее всего, станет вашей изюминкой или большой ямой. , так что вы можете найти кого-то, кто поможет вам сделать хорошую модификацию.
Очки знаний, связанные с интервью
Только что упомянутое интервью, интервьюер, как правило, будет задавать вопросы о содержании вашего резюме, а затем писать, чтобы возобновить содержание, которое вам нужно, чтобы понять хорошее усмотрение.
Нет сомнения, что я запишу стек технологий, которые я чувствую уверенно и ярко, и я не буду говорить о степени мастерства.В Интернете есть много статей.При этом я просмотрю и закреплю содержание написано в. Здесь следует отметить одну вещь: не тратьте много времени на то, чтобы навязать стек технологий.
Например, многим компаниям требуется стек React, и вы тратите много времени на подготовку и написание своего резюме, чтобы сравнить его с этим требованием.
С одной стороны, на этапе интервью-спринта у вас не должно быть достаточно времени, чтобы полностью усвоить новую точку знаний.
Опыт проекта и трудности
Вы можете сказать в этом произведении все, что хотите, можете сказать это себе несколько раз, и вы можете выразить это более плавно.
Если вы не знаете трудностей или основных моментов вашего проекта в начале (я сталкивался с этой проблемой с самого начала), вы можете найти друга, который старше вас, и дать ему подробный диктант вашего проекта по крупицам, и пусть он дает вам некоторые мнения и ссылки со своей точки зрения.
Обзор интервью
Помимо проверки собственных знаний, само собеседование также является хорошим обучающим процессом.Если позволяет время, постарайтесь встретиться с как можно большим количеством компаний, научитесь улучшать вопросы, на которые не ответили, и заполнять пробелы. После собеседования поразмышляйте над недостатками, и на следующем собеседовании вы сможете более спокойно разобраться с подобными проблемами.
Суммировать
Эта статья в основном посвящена обмену личным и некоторым личным резюме, Она не включает в себя обмен многими точками знаний, но такие статьи в Интернете должны быть все более и более всеобъемлющими. Я надеюсь, что это резюме и обмен информацией могут быть полезны для некоторых студентов, которые не очень стары и в настоящее время ищут работу или ищут возможности ~
После этого точки знаний, рассмотренные за этот период, должны быть обобщены в статьи для обмена.Заинтересованные студенты могут обратить внимание на продолжение ~
напиши в конце
- Большое спасибо, что увидели это, возможно, захотите поставить лайк и поддержать, большое спасибо~!
- В будущем будет обновлено больше статей и пунктов знаний.Если вам интересно, вы можете подписаться на волну~