Годовой интерфейс, Byte Alijing и обмен личным опытом

опрос

предисловие

Давно не резюмировал статью.Готовлюсь к собеседованиям в последнее время.Эта статья также является обменом своим опытом и личным опытом и методами обучения.Это справочник для студентов,имеющих такой же годовой стаж , Вы только посмотрите!

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-адреса?
    • Зачем нужно трижды пожимать руку? А если в третий раз не отправят?
  • Давайте поговорим о проблеме с открыткой, у вас есть открытка, которую нужно отправить незнакомцу, и у вас есть несколько вопросов.
    • Как сделать так, чтобы курьер не знал содержимого?(Заверните конверт, здесь зарыта дырка, я не подумал о другой голубиной переписке, которую я читал, надежнее запереть ее коробкой)
    • А курьер снял конверт?(Добавьте подсказки к содержанию письма и добавьте подсказки к внешней стороне конверта, чтобы выполнить расшифровку корреспонденции. В то время я не получил подсказку интервьюера для вышеизложенного)
    • Конверт заменили?(Ищу почтовое отделение с печатью)
    • Как незнакомцы узнают, какие печати власти?(Один экземпляр сравнительной таблицы почтового отделения)
      • Что с обновлением печати?(Уведомление почтового отделения или обновление самостоятельно)

Три стороны

Суммировать

Одна проблема - относительно распространенная точка знаний во фронтенде.Хотя многие ею не пользовались, по крайней мере, я слышал, так что могу кое-что сказать, и это не должно быть проблемой, если вы хорошо подготовитесь.
Второй вопрос в основном вращался вокруг точки знаний и продолжал задавать вопросы. На многие места не были даны правильные ответы, в том числе на последний вопрос с открыткой. Я нервничал и смущался, потому что я плохо ответил на предыдущий вопрос. Я чувствовал, что повесил трубку. , но на третий вопрос интервьюер все же дал возможность.
По трем сторонам вопросов задают не много, а ключевые вопросы по алгоритму так и не решены (жаль ТАТ) После окончания специально изучил бэктрекинг и дополнил ответы. В итоге я все же не прошел, и меня забрал другой отдел, чтобы снова начать собеседование.

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, и вы тратите много времени на подготовку и написание своего резюме, чтобы сравнить его с этим требованием.
С одной стороны, на этапе интервью-спринта у вас не должно быть достаточно времени, чтобы полностью усвоить новую точку знаний.

Опыт проекта и трудности

Вы можете сказать в этом произведении все, что хотите, можете сказать это себе несколько раз, и вы можете выразить это более плавно.
Если вы не знаете трудностей или основных моментов вашего проекта в начале (я сталкивался с этой проблемой с самого начала), вы можете найти друга, который старше вас, и дать ему подробный диктант вашего проекта по крупицам, и пусть он дает вам некоторые мнения и ссылки со своей точки зрения.

Обзор интервью

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

Суммировать

Эта статья в основном посвящена обмену личным и некоторым личным резюме, Она не включает в себя обмен многими точками знаний, но такие статьи в Интернете должны быть все более и более всеобъемлющими. Я надеюсь, что это резюме и обмен информацией могут быть полезны для некоторых студентов, которые не очень стары и в настоящее время ищут работу или ищут возможности ~
После этого точки знаний, рассмотренные за этот период, должны быть обобщены в статьи для обмена.Заинтересованные студенты могут обратить внимание на продолжение ~

напиши в конце

  1. Большое спасибо, что увидели это, возможно, захотите поставить лайк и поддержать, большое спасибо~!
  2. В будущем будет обновлено больше статей и пунктов знаний.Если вам интересно, вы можете подписаться на волну~