Отчет о промежуточном предварительном собеседовании за май

интервью

Front-end, время собеседования 5.7-5.19, всего две недели. Сиань, диапазон зарплат 10-15

По причинам личного развития я вернулся в свой родной город Шэньси из Ханчжоу, провел собеседования с 7 или 8 компаниями и в итоге получил 2 предложения. Задокументируйте интервью. (Тема не важна, дело в том, как классифицировать головокружительные темы в свой свод знаний.

Компания А

Ситуация в компании: начинающая компания, банковский проект, количество человек 20+, необходимость в командировках.
Стек технологий: фронтенд vue + бэкэнд spring
проблема:

  • URL-адрес вводится на страницу для отображения всего процесса
  • Что включает векс
  • Vue-оптимизация проекта
  • Разница между вычислениями и часами
  • знакомство с хуком vue-router
  • Реализация ленивой загрузки vue-router

Мышление: Вопросов не так много, принцип семейства браузера + vue ведро, разница между вычисляемым и часовым не отвечает.

Компания Б

Основной вопрос по проекту, мой проект резюме это ERP + официальный аккаунт + экран больших данных
проблема:

  • Трудности проекта
  • Как устроен модуль разрешений и как контролируется код? Все с если-иначе? Если нет то как выйти
  • То, что вы только что упомянули, это общая архитектура и реализация.Видно, что вы хорошо разбираетесь в бизнесе.Что касается внешнего интерфейса, что вы сделали?
  • Беседа о проекте разработки паблик-аккаунта
  • Как развернуть? Как настроить Nginx
  • Зачем использовать узел для этого
  • Как вы думаете, в чем суть всего проекта?
  • Какие события публичной учетной записи WeChat использовались?
  • Внедрение проекта визуализации данных

Мышление: ответственное лицо уделяет внимание проекту, базовые знания не задаются, а вопросы сосредоточены на «трудностях проекта, основных моментах, решениях и личном мышлении». В целом, я чувствую, что в моем проекте почти нет ярких пятен. На самом деле, я не углублялся в суть своего проекта. Проектов не так много. Найдите самое сложное место в самом сложном проекте, который вы думаете. углубиться, проанализировать предысторию проекта, ответственный модуль, технология, используемая в модуле, основные моменты

Компания С(предложение)

проблема:

  • Какой синтаксис es6 использовался
  • базовый тип данных
  • пусть переменная разница
  • что такое закрытие
  • Можно ли получить родственные переменные и дочерние переменные замыкания?
  • что это
  • Каковы области применения
  • Что такое область действия блока
  • Как использовать другие переменные js в текущем js
  • Как добавить новые методы в массивы? (Проверить прототип, наследование)
  • Двойной и третий класс отличия
  • Как определить, равны ли два массива, используя двойной или тройной? (Это яма, двухместный и третий класс не пройдет)
  • Разница между неопределенным и нулем
  • Равно ли 0,1+0,2 0,3 в случае третьего класса?
  • В чем разница между staic и assets
  • Как селектор атрибутов jQuery получает третий входной узел

Vue

  • Какие библиотеки компонентов используются
  • Как реализован MVVM
  • Понимание алгоритма сравнения
  • v-если v-показать разницу
  • Разница между одной страницей и несколькими страницами
  • Разница между вычислениями и часами
  • В чем разница между location.href и vue-router jump
  • жизненный цикл
  • что делать на этапе монтирования
  • Как работать с несколькими средами в проекте
  • что делает v-once
  • Как реализовать ленивую загрузку маршрутов
  • Каков принцип ленивой загрузки картинок?

разное:

  • Насколько вы знакомы с python и node, указанными в вашем резюме?
  • При введении проекта публичной учетной записи, можете ли вы взглянуть?
  • Взгляните на свой проект апплета
  • Есть ли другие проекты, чтобы показать?
  • Как внешний интерфейс решает междоменные задачи

Мышление: в основном сосредоточьтесь на основе js и vue, проблема несложная, можно сказать, что это промежуточная проблема с интерфейсом.

Компания Д

  1. Я видел, что ваш github недавно чистил leetcode, зачем вам изучать алгоритмы?
  2. Возьмите первый вопрос алгоритма, который вы чистили в качестве примера, переместите 0 вопросов. Каково решение?
  3. Я увидела личный план в вашем блоге, каково ваше мнение о себе?
  4. Знаете ли вы о битовых операциях Js?
  5. Текст тега p css не может установить свою высоту, как сделать первые n символов выше
  6. После прочтения вашего блога вы также недавно участвовали в мероприятиях. Вы что-то получили?
  7. Каковы преимущества проектов Vue по сравнению с традиционными проектами?
  8. Как vue реализует пользовательские инструкции?
  9. Как быть с оценкой статуса в проекте Vue, например, на определенной странице мне нужно определить, находится ли пользователь в статусе входа в систему?
  10. Объясните, что такое динамическое программирование? Его сценарий применения, используется ли он в проекте?
  11. Если мы хотим сделать лотерею, чтобы обеспечить абсолютную справедливость, поместите имена в массив, как это сделать
  12. Есть ли какие-либо трудности с написанием oss для загрузки больших файлов в вашем резюме?

Мышление: руководитель заранее прочитал мой пост в блоге на github через резюме. Таким образом, некоторые вопросы также являются целевыми.

Компания Э

  1. MVC и MVVM вводятся отдельно
  2. Что такое "двусторонний поток" потока данных MVC?Как объяснить двусторонний поток?
  3. Объясните двустороннюю привязку данных
  4. Какие из трех фреймворков имеют двустороннюю привязку "vue angular"
  5. Как Angular реализует двустороннюю привязку? «Проверка грязной стоимости»
  6. Как вы думаете, в чем разница между react и vue? «Vue имеет множество встроенных директив, шаблонный синтаксис, а реакция — это все компоненты»
  7. Если я писал vue и сейчас начинаю реагировать, в чем сложность? "синтаксис es6, синтаксис шаблона jsx"
  8. Что случилось с вводом URL для отображения страницы? «На этапе навигации DNS анализирует проверку TLS соединения TCP, инициирует запрос, получает ответ, и соединение прерывается. На этапе анализа html, js и css анализируются отдельно, html анализируется в объекты dom, а теги разбивается на текст, js обрабатывается движком v8, а css разбивается на дерево слоев cssom и растр. изменить"
  9. Как разрешается DNS? как получить адрес
  10. Требуется ли время для разрешения DNS? Как оптимизировать "много времени, ведь надо проверить есть ли кеш"? (я не ответил на него, мне сказали посмотреть предварительное разрешение dns)
  11. Когда вы говорите о движке v8, скажите мне, как движок v8 разбирает кусок js-кода? «Сначала преобразуйте в дерево AST, затем преобразуйте в машинный код и, наконец, преобразуйте в байт-код для выполнения байт-кода. Браузеры оптимизировали технологию компиляции в реальном времени для повторяющегося кода js. не нужно преобразовывать байты, код напрямую выполняет машинный код».
  12. Объясните процесс соединения Tcp: «его часто называют трехсторонним рукопожатием. В первый раз клиент инициирует запрос, во второй раз сервер отвечает, а в третий раз клиент получает ответ, зная, что сервер подключен и говорит серверу запрашивать данные"
  13. Вы понимаете цикл событий?
  14. Откуда берется очередь, предоставляющая события?
  15. Продолжить цикл событий. Объясните макрозадачу и микрозадачу, которую вы сказали
  16. Какие определяются как макрозадачи, а какие определяются как микрозадачи
  17. Обещания — это микрозадача? "Нет обещания. Тогда это микрозадача"
  18. Скажите, что метод http-запроса «получить опцию публикации и поместить удаление в покой»
  19. Получить разницу в постах
  20. Произнесите успокаивающую спецификацию
  21. Как решить кроссдоменность? «jsonp iframe proxy nginx reverse proxy websocket, заголовок ответа конфигурации бэкэнда» Еще? "При локальной разработке используйте плагин chorme, чтобы отключить обнаружение csrf для решения междоменной проблемы. Скажите, как iframe междоменная? (не могу сказать из того, что видел в интернете) Каков принцип междоменного прокси? (Я действительно не знаю этого. После того, как мне сказали, что это конфигурация devsever в веб-пакете, узел эквивалентен запуску сервера, а запрос браузера к серверу эквивалентен запросу локальных служб.)
  22. Вы когда-нибудь делали небольшую программу? Вы видели междоменный апплет? «Нет» означает, что междоменный появляется только в браузере, поэтому принцип прокси для решения междоменного заключается в том, чтобы запустить узел-сервер и перенаправить службы других портов на локальный, чтобы он не был междоменным.
  23. Webpack когда-нибудь работал? Какую конфигурацию вы сделали? Каковы меры оптимизации для «Конфигурация различных сред, devserver»? "деревотрясение, ленивая маршрутизация, разделение кода"
  24. Какие меры по оптимизации производительности были предприняты? "Загрузка файла ресурсов, сжатие кода Карта спрайтов, сервер ресурсов cdn"
  25. Поскольку используется веб-пакет, файлы изображений при упаковке преобразуются в base64. Как вы думаете, размер после упаковки больше или меньше? "Маленький" на самом деле увеличивает размер изображения на 30% после упаковки. "Тогда зачем вам его упаковывать?" Потому что, когда у вас много картинок, есть много иконок типа svg. Вам нужно запрашивать сеть каждый раз, когда вы запрашиваете src?Затем запрашивайте сеть.Это занимает ресурсы. Таким образом, загрузка base64 может уменьшить количество запросов.
  26. Вы когда-нибудь касались Nodejs? "Проект официального аккаунта в резюме сделан узлом" Это нативный узел? «Это сделано koa.» Вы представляете koa, «структуру узла, основанную на экспрессе, который очень прост по своей природе. Он использует аутсорсинг других приложений в качестве промежуточного программного обеспечения, а ядром является модель лукового кольца». Основан ли koa на экспресс? "эм, да"
  27. Говоря о модели лукового кольца, «похоже на каррирование, значение, возвращаемое внутренним промежуточным программным обеспечением, используется в качестве параметра внешнего промежуточного программного обеспечения».
  28. Давайте поговорим о том, как реализовать каррирование «параметры разделены и результат такой же, как если бы они были заключены в круглые скобки»? «Это может быть реализовано путем перехвата его метода get и метода применения»
  29. Вы когда-нибудь сами писали промежуточное ПО? "Нет, я использую чужой", когда служба узла работает онлайн, и сообщается об ошибке, как проверить результат консоли "Ошибки фиксируются единообразно, обрабатываются глобально, помещаются в журнал и просматриваются в журнале" Какая библиотека используется для журнала? "коа-лесоруб"
  30. Как заставить службу узла запускаться в фоновом режиме? "конфигурация супервизора, затем запуск процесса"
  31. Упаковка Webpack занимает слишком много времени? Как решить файл пакета слишком велик "Вторая проблема - разбиение кода, поставить фреймворк похожий на vue, который почти не изменился, в кеш cdn, остальные файлы модульны и разбиваются, библиотека компонентов загружается по требованию, и первая проблема запакована Хотя я часто с ней сталкивался уже давно, нет способа ее решить.Однако я узнал, что в vue3 недавно появились новые действия, отказ от вебпака и переход на новый фреймворк, в основном для решения проблемы долгосрочная упаковка среды разработки».
  32. Как сжимать и передавать большие файловые ресурсы в сетевых запросах? (Нет ответа) Вы знаете формат GZip? "Ну, я знаю, сжатие gzip было установлено в конфигурации nginx"
  33. Можете ли вы описать загрузку больших файлов oss в своем резюме?
  34. Какова твоя роль в команде?
  35. Что вы имеете в виду под спецификацией? Или где вы видели соответствующие спецификации? «Официальный документ Vue написан очень четко, и рекомендуются стратегии и спецификации оптимизации».


Подумайте: о чем спрашивал этот руководитель

  • Основы JS
  • Принцип браузера
  • Сетевой протокол
  • Рамочный принцип
  • оптимизация производительности веб-пакета

Более того, при ответе на вопрос 1 легко использовать термин B, чтобы подтвердить/описать его, а затем перейти к вопросу 2, например, коа-> модель луковых колец-> карри, когда вы владеете соответствующими терминами, кажется, что вы копаете яму. Вместо этого она становится направлением, в котором вы направляете вопросы интервьюера.

Компания Ф

проблема:
Жизненный цикл Vue
Подскажите что делать на каждом этапе
Объяснение одностороннего потока данных Vuex
Приложение сделано?
Как ПК адаптируется к мобильному терминалу?
Вы когда-нибудь занимались смешанной разработкой?
считать:
Было задано очень мало вопросов. Очевидно, когда я ответил на вопрос о мобильной связи, он был прекращен досрочно, потому что он не соответствовал потребностям технологического стека компании и не имел ценности повторного использования. Но что интересно, я знаю, что эти вопросы точно не пройдут собеседование, поэтому говорить интервьюеру, неразумно ли это, было бы неразумно, ведь потенциал соискателя не изучен, и это невозможно для всех. заниматься бизнесом, который включает в себя все аспекты технологии. Интервьюер улыбнулся и спросил меня, что было изюминкой, которую он не обнаружил.
На самом деле, я не думал об этом вопросе, я сказал свои основные моменты. В итоге не получилось, но я смогПодумайте, что вам предстоит открыть.

Компания Г

проблема:
Жизненный цикл React, что делает каждая фаза
Какие контейнеры использует докер
Какая часть докера извлекается, кроме контейнера
Какие есть методы наследования в ES6
Что может наследовать класс?
В классе, когда статический обычный метод и стрелочная функция имеют одно и то же имя, какой из них будет вызываться?
Каковы характеристики стрелочных функций
Как Scss повторно использует переменные
В чем разница между @ и % в scss
Как загрузить файл и возобновить загрузку с точки останова
считать:
Проблем тоже немного, но есть фреймворки, css, js, docker и проекты, которые нужны компании, которые можно сказать комплексные.В особенностях стрелочных функций и наследовании scss и классов я обнаружил, что тоже знаю немного о ES6.В реактивном проекте ES6 везде. Поэтому, чтобы потом развиваться, эта часть не может быть использована только для получения знаний, а нуждается в дальнейшем углублении.

Компания H (последняя запись)

проблема:

  1. Прочитать резюме, некомпьютерная специализация, прошли обучение? "Да" Тогда вам нужно сделать много уроков.
  2. Вы понимаете html и css? Так много тегов, как вы узнали атрибуты?
  • Вы делали заметки? «Да, у меня обычно есть привычка делать заметки»
  • Могу я взглянуть? «Открыл свою языковую птицу с помощью мобильного телефона и передал ее интервьюеру»
  • Хм, это все твои любимые статьи? «Э-э, я написал это сам, я прочитал книгу или участвовал в мероприятии по его организации».
  1. Как насчет JavaScript? так. Вы написали от руки треугольник Ян Хуэй, верно? (Интервьюер дал мне ручку и бумагу и начал листать мой блог. Я написал псевдокод и перестал писать) «Эта часть не работает, я расскажу вам свои идеи»
  • Ну, вы также можете сделать этот метод, но если вы напечатаете одну строку, вы построите массив, если будет n строк, это будет n массивов, а временная и пространственная сложность очень высоки. «... имеет смысл» Каждый элемент треугольника Ян Хуэй на самом деле является перестановкой и комбинацией, вам просто нужно напечатать каждое значение с комбинацией перестановок.
  1. Глубокая копия знаете? Пишите "Ну я знаю", это требует столько точек, обработки разных типов объектов (обычных, временных и т.д.), и обработки глубины циклических ссылок, например, она называется циклически, и ее глубина рекурсии равна 10 слои, Затем выпрыгнуть.
  • Когда я услышала, что хочу написать это от руки, мне очень захотелось плакать, потому что я увидела этот вопрос, когда писала вопрос, и думала в то время, кто позволит это написать от руки. В итоге часть написали и сдали, а вызов цикла обработки написать не удалось.
  1. Последний вопрос заключается в обходе вложенных объектов, каждый объект имеет ключ, значение, дочерние элементы (массив) и вывод ключа и значения каждого слоя. (Этот вопрос описывать не буду, я думаю, что он очень простой, или я думаю, что очень простой, но я не понимаю смысла вопроса.)
  2. Какие есть способы передачи значений в компонентах React
  3. В чем причина предоставления и потребления React?
  4. При обновлении версии React некоторые компоненты будут недоступны, а на странице будет отображаться белый экран Как найти проблему с какими компонентами


Мышление: После знакомства с компанией интервью закончилось, интервьюер почти все время читал мой блог, что стало одной из причин, почему я в итоге выбрал эту компанию.

карта разума

Из результатов собеседования вышеперечисленных компаний видно, что некоторая глубина вопросов собеседования в диапазоне зарплат 10-15 все же есть, а требования к алгоритму не очень высокие. Браузерный принцип и JS и ES составляют большую долю, а фреймворк на втором месте Таким образом, мы можем нарисовать систему знаний, которая должна быть на собеседовании, а потом постоянно корректировать и дополнять.


Суммировать

  • Десять тысяч футов высотных зданий начинаются с земли, укрепляют каждый ваш шаг и создают многоразовые впечатления.
  • В процессе собеседования постоянно корректируйте и обсуждайте с интервьюером, чтобы понять текущую ситуацию с трудоустройством.
  • Поймите и смиритесь со своими недостатками.Если вы не можете ответить на некоторые вопросы в этом интервью, вы должны помнить об этом, не попадайте в одну и ту же яму дважды
  • Обычно накопление очень важно, чтение книг, видео, обучение, рубрики
  • Вернувшись, я обнаружил, что путь — это не только Интернет, например, не у всех есть такая сильная мотивация к обучению, так как же они могут поддерживать себя? Инвестиции / предпринимательство / подработка, то все, что я могу сделать, это установить хорошие контакты и в то же время распространять влияние, мне еще многому предстоит научиться.
  • В настоящее время сианьские (интернет-компании второго уровня) увлечены своим делом, и есть еще немало технологий, которые готовы учиться и совершенствоваться.Итак, находитесь ли вы в Пекине, Шанхае, Гуанчжоу, Шэньчжэне или городах второго уровня, вы должны иметь позитивный настрой, усердно учиться и не позволять волнам бить вас до смерти.