Эта статья была впервые опубликована в моем личном блоге:cherryblog.site/#/, добро пожаловать в мой блог, чтобы увидеть больше статей~
В последнее время наступил сезон смены работы, золота, серебра и золота.Многие люди столкнутся с необходимостью смены работы, чтобы найти работу, а через несколько месяцев наступит выпускной сезон.Все больше и больше выпускников столкнутся с этой проблемой. .
Точно так же нашей группе необходимо заниматься социальным рекрутингом в связи с потребностями бизнеса (мы еще не уехали в этом году, поэтому переехали ╭(╯^╰)╮), я недавно прочитал много резюме, и общался с некоторыми небольшими партнерами по телефону (собеседование по телефону) ), имеют некоторые поверхностные взгляды на собеседование при приеме на работу
Потому что лично я считаю, что моя техника еще очень хороша, а опыт работы не особо богат, поэтому содержание статьи - это мои собственные поверхностные мнения.Если что-то не так, прошу указать на это.
Эта статья может относиться только к начальному интерфейсу, то есть только что окончившим колледж студентам или друзьям в течение 2 лет после выпуска, каждый должен прочитать по мере необходимости ~~~
(Обновление: последние вопросы на собеседовании — это просто некоторые базовые знания, которые я обобщил сам ~~~ Новые выпускники не должны чувствовать никакого давления, чтобы взглянуть на это. Это не представляет собой навыки, которыми должен овладеть основной интерфейс. , а просто суммирует наиболее распространенные предварительные интервью.
Если вам это нравится, вы можете поставить лайк или оставить сообщение, и я продолжу обновлять вопросы интервью~~~~, спасибо~~~
формат резюме
Резюме желательно на 1-2 страницы, желательно не более 2-х страниц. Резюме действительно не так хорошо, как написано словами, трудно читать ваше резюме слово в слово, будь то техническое или HR. Поэтому то, что написано в резюме, должно быть сутью, а писать нужно о своих сильных сторонах.
Лично я не люблю причудливые резюме. Хорошо иметь аккуратный макет, но вы также должны быть осторожны, чтобы не делать опечаток. Хотя вы знаете, что это непреднамеренно, ваше впечатление на самом деле не очень хорошее. По крайней мере, это показывает, что вы невнимательно читал свое. Резюме, при этом, лучше всего с учетом регистра, и перед цифрами/английскими и китайскими иероглифами должны быть пробелы. Это действительно хорошая привычка. Привычка, которая сформировалась в прежний перевод Nuggets в основном используется даже в чате WeChat, значительно улучшена эффективность чтения.
Резюме, сгенерированное по шаблону на сайте подбора персонала, лучше не использовать, и не забудьте удалить лишнее при использовании шаблона РРТ ==, (первая строка в резюме - глава, а имени нет, просто спросите у него почему у него нет имени, а потом дайте мне ответ, что глава - это английское название ==)
Для тех, кто закончил обучение более 2 лет, их студенческий опыт (президент студенческого союза, какую стипендию они выиграли) можно не указывать.
содержание резюме
Резюме раздела внешнего интерфейса в основном включает в себя базовое введение, стек технологий, опыт работы и опыт работы над проектами.
Базовое введение должно включать имя, номер телефона и адрес электронной почты, время окончания учебы, образование и дату рождения (неважно, есть фотографии или нет, политическую принадлежность и место происхождения). в середине вашего резюме номер телефона и адрес электронной почты **** (ಥ_ಥ)), и я столкнулся с рядом звонков и не смог дозвониться (как в рабочие, так и в нерабочие дни), независимо от того, насколько вы хороши, Вы не можете связаться. Это бесполезно (/□\*)
Опыт проекта соответствует опубликованному названию
Лично я считаю, что ей 9102 года.Если вы умеете пользоваться JQ, то не нужно писать об этом в резюме.Если вы изучили (не равно читать) исходный код JQ, то можете его написать по мере необходимости.
При этом ваше резюме должно соответствовать заявленной вами позиции, например, если должность старший фронтенд-инженер, то вы можете использовать div+css для написания страницы, не прописывая ее в резюме, потому что это должно быть самым основным требованием.
Ваше резюме должно подчеркивать ваши сильные стороны, а также является отражением вашей способности подводить итоги.
Что написать в резюме, в чем вы хороши
Большинство вопросов на собеседовании взяты из вашего резюме. Так что не пишите в резюме для такого проекта, что вы только что нашли статью и внедрили ее или просто написали демо.
Вы должны знать все, что написано в резюме, потому что стек фронтенд технологий или различные фреймворки вытекают нескончаемым потоком, и интервьюер в принципе не будет спрашивать фреймворк, о котором вы не слышали, так откуда вы знаете то, что знаете? Посмотрите в своем резюме
Я встречал много резюме, которые хорошо написаны, но я не знаю, когда спросить. Например, есть резюме, в котором написано «Иметь глубокое понимание объектно-ориентированного программирования», я спросил: «Какие три элемента объектно-ориентированного программирования», а ответ: «Я не могу вспомнить это концептуально. Ну, тогда я изменил один: «Как вы обычно реализуете инкапсуляцию и наследование?» Ответ: «В проектах принципиально не используется», «В чем разница между объектно-ориентированным и процедурным программированием?» Ответ неясен и спотыкаясь. В данном случае лично я считаю, что вам лучше не ставить "глубокое понимание объектно-ориентированного программирования" в резюме, потому что если вы его не напишете, я могу и не спрашивать, но уровень вашего мастерства и "иметь Разрыв «глубокое понимание» все еще достаточно велик, это пункт вычета.
Другое дело, что первая часть личных навыков и проектов в резюме - "Разработка личного блога с нодой". Бывает, что я тоже недавно занимаюсь этим контентом, и хочу спросить. Затем ответьте: «Вообще-то я нашел блог в Интернете и подписался на него, а теперь забыл».
Так что вам действительно нужно написать в своем резюме о тех областях, которые вы очень хорошо знаете! Просто я слышал рейтинги и написал демо, а написание его в резюме — это пункт вычета.
Обратите внимание на слова
Описание технологии в резюме обычно состоит из следующих слов:
Понимать: понимать основные понятия, иметь простой опыт использования - "используется" Знакомство: базовая операция очень квалифицирована, и есть опыт интенсивного использования - «много использования». Опытный: Глубокое понимание его основных принципов и различных методов реализации, а также богатый проектный опыт - «исследование».
Не забывайте использовать точные слова и используйте слово «опытный» с осторожностью! !
электрическая поверхность
После получения резюме мы обычно проводим серию телефонных собеседований (процесс в каждой компании разный), т.к стоимость относительно невелика, задаем несколько основных вопросов, наверное можно узнать уровень интервьюируемого, и мы набрали. ну совпали ли позиции?
В то же время я предлагаю, чтобы интервьюируемый имел телефонную связь, прежде чем его пригласят на собеседование на месте.Если у вас есть прямое собеседование на месте, вы должны взять отпуск как минимум на полдня.Если совпадение между две стороны относительно низки, нет необходимости идти впустую.
Наше электрическое собеседование в основном основано на основах.Если мы сможем в основном удовлетворить наши требования к набору персонала, мы назначим встречу для собеседования на месте.
Я лично считаю, что основа хорошая (не только основа js, но и основа компьютерной системы и основа программирования), три основных фреймворка знакомы с одним из них и немного понимают принцип. Я использовал веб-пакет для настройки проекта и понимания веб-пакета. Принципы упаковки, изучение исходного кода фреймворка, практика оптимизации производительности и понимание новых технологий — все это плюсы (потому что мы не используем узел в нашем проекте, узел в принципе не будет спрашивать, если вы не напишете об этом в резюме. ).
Кроме того, будут также учитываться общие качества интервьюируемого, в основном способность к самовыражению (хорошо общаться без помех), является ли личность очень интровертной и связны ли ответы на вопросы.
Лично у меня будет банк часто задаваемых вопросов для собеседования, а затем я проверю вопросы, которые будут заданы в соответствии с резюме интервьюируемого перед телефоном. Например, как упоминалось выше, если в вашем резюме говорится: «иметь глубокое понимание объекта- ориентированный», то I Будут подготовлены несколько объектно-ориентированных вопросов.
В целом, после телефонного интервью мы можем в основном определить степень соответствия между интервьюером и нашей рекрутинговой позицией.В процессе собеседования будет записан ответ интервьюируемого.На вопросы с четкими ответами посмотрите, правильно ли они ответили.Сексуальные проблемы, чтобы убедиться, что их мысли ясны.
Лично, я тогда попросил API Framework - это некоторые из более распространенных основных API, вы используете следующее исследование, в какой степени, скорее всего, задавать ряд принципов, таких как двусторонняя принцип связывания VUE (Vue 2.0 и Vue 3.0, Преимущества и недостатки обеих реализаций), NextTick Принцип Vue, Diff Algorithms.
После телефонного собеседования мы обычно спрашиваем интервьюеру, какие вопросы они хотят спросить нас. Большинство интервьюеров спросят о бизнесе, сделанном нашей группой, и они также будут заданы технические вопросы = =, вообще эта ссылка посмотрите На каком интервьюируемую хочет, то есть, если у вас есть какие-либо прочные требования, вы можете спросить.
После того, как собеседование завершено, обычно прямо не говорят, пройдено оно или нет, но говорят: «Последующие действия.возможноБудут и другие коллеги, которые свяжутся с вами", но по ходу собеседования у вас должно быть общее представление в душе ==
Насчет того, почему бы не дать ответ прямо, с одной стороны, это вежливо :), с другой стороны, результат может быть не дан вовремя в то время.
Лучше дать ответ после собеседования и надо подумать над этим, и вообще, даже если собеседование не прошло, оно вам не скажет нет. Так что по умолчанию, если в течение недели с вами снова не свяжется час, то в принципе можно считать, что собеседование не пройдено.
местный
Обычно после телефонного интервью мы просим госпожу HR провести собеседование на месте.У меня не так много опыта в проведении собеседований на месте, так что здесь просто ссылка.
Собеседования на месте зависят от привычек каждого интервьюера.Некоторые будут продолжать спрашивать о некоторых технических навыках, в то время как другие придают большое значение опыту работы в проектах.После технического собеседования на месте мы дадим оценку, чтобы увидеть, соответствует ли оно набору персонала требования.
При обычных обстоятельствах, после первого раунда собеседований, если вы можете получить оценку, вы можете попросить нашего технического руководителя поболтать, проверить это, а затем попросить мисс HR поболтать, если нет проблем.
Советы молодым выпускникам
Поиск работы после окончания учебы — это не только технологии
Когда я только закончил учебу, я думал, что поиск работы связан только с технологиями, в конце концов, мы занимаемся техническими должностями.
Но теперь я чувствую, что я также болтал с другими друзьями и обнаружил, что иногда доля технологий не так высока, как предполагалось.
Потому что на самом деле мы не в состоянии увеличить разрыв за 1-2 года после выпуска, да и разница в уровне у всех не особо велика.
В это время некоторые другие качества могут быть более важными, например, ваши коммуникативные навыки, ваш характер и приземленность.
В то же время удача и судьба также очень важны, когда дело доходит до поиска работы.Например, нужна ли вакансия на данный момент срочно, если это новый отдел или кто-то просто уходит и его нужно заполнить, в В этих особых обстоятельствах требования могут быть немного ниже (конечно, не слишком сильно).
Поэтому лучше всего найти членов команды для продвижения, чтобы вы лучше понимали ситуацию в команде.
Однако лично я думаю, что через 3 года разрыв в техническом уровне будет становиться все больше и больше, и сокращать разрыв будет все труднее.
Только что закончил и пытаюсь пойти в большую компанию
На самом деле, это зависит от того, отправляетесь ли вы в университет и выбрать знаменитую школу или генеральную школу. Некоторые люди говорят, что если вы не хотите быть винтом большой компании, вы можете сначала спросить себя, можете ли вы ввести Большая компания, и не начинайте становиться кислыми, прежде чем войти.
Быть в состоянии пойти, но решить не идти и быть не в состоянии пойти — это два понятия.
Исходя из собственного опыта и опыта окружающих вас людей, то, чему вы можете научиться у большой компании, лучше, чем у маленькой компании во всех аспектах (маленькая компания, упомянутая здесь, не означает какую-то маленькую и сложную компанию).
С точки зрения личного опыта, не все в крупной компании - винтики и делают однообразную работу, потому что есть много отделов, с которыми вы взаимодействуете, и вам нужно быть в контакте с различными фронтендами, бэкендами, продуктами, дизайном. , и QA. У людей разные привычки, и они также столкнутся с межведомственным сотрудничеством. Технологические стеки разных отделов могут быть разными. Поэтому вещи, с которыми вы сталкиваетесь, диверсифицированы;
Напротив, внешний и внутренний отделы, дизайн и контроль качества, с которыми связываются небольшие компании, в основном фиксированы, и в принципе нет необходимости в межведомственном сотрудничестве, а технологический стек относительно фиксирован, и в принципе невозможно использовать набор технологических стеков. Будет меняться, поэтому поле зрения вашего технического усиления может быть немного уже.
И сложность бизнеса и количество пользователей крупной компании тоже не обеспечивает маленькая компания.
Если честно, наличие опыта работы в известной интернет-компании в вашем резюме - это бонус. В основном вы можете иметь квалификацию собеседования, потому что стоимость в определенной степени сводится к определенной степени, потому что, поскольку вы можете пойти в известную Интернет-компания, это должно быть преимуществом. Из.
Не просто используйте API, поймите, как он работает
Наш босс часто говорил нам: «Не используйте только некоторые API».
Необходимо обратить внимание на некоторые базовые знания и некоторые принципы, которые являются необходимыми навыками для долгосрочного развития.
Например, на вопрос в телефонном интервью: «Что такое обещание в одном предложении?» Многие люди ответили, как использовать обещание.
Поиск работы — это двусторонний процесс, важна хорошая команда
Поиск работы - это действительно двусторонний процесс выбора. Не только компания выбирает вас, но и процесс выбора компании. Если у вас есть способности, лучше всего найти хорошую команду и сделать дело вам нравится, по крайней мере, не слишком отвратительно.
На самом деле, по интервьюеру вы в основном можете определить уровень команды, личное мнение таково, что если вы все еще находитесь в стадии роста, то на вопросы интервью вы можете ответить гладко, то работа у вас должна быть тщательное рассмотрение, это может быть мало места для роста.
Уменьшите частоту смены работы
Что касается частоты смены работы, это проблема, которую рассматривают как технические руководители, так и рабочие.
Потому что в последние несколько лет я лично почувствовал, что самый удобный способ повысить зарплату — это сменить место работы, прибавка к зарплате будет выше, а рост зарплаты в компании будет медленнее.
Но если вы слишком часто меняете работу, это на самом деле является недостатком Лично я считаю, что частота смены работы раз в год немного высока.
Jingdong также явно требует этого пункта, системы вето с одним голосом, принципа пяти-двух (максимум две компании в течение пяти лет).
Об академической квалификации
Многие компании сейчас имеют порог для окончания бакалавриата, и в будущем требования будут все выше и выше.
У каждой компании разные требования.
Я чувствую, что в интервью есть некоторые вопросы, которые не пригодятся в работе.
У многих будет такая проблема: им кажется, что многие вопросы, заданные на собеседовании, вообще не будут использоваться в реальной работе.
Я думаю у вас будет такая проблема может быть что вы не подходите на должность этой компании.
Потому что, когда я проходил собеседование для Ele.me, мне задавали несколько простых вопросов по алгоритму и некоторые основные принципы, но во время интервью все равно были некоторые жалобы.
После поступления на работу проблема ознакомительного собеседования действительно используется в работе, а в процессе подготовки тестовых вопросов также обобщается по обычному трудовому стажу.
В то время я чувствовал, что не могу его использовать, потому что предыдущие бизнес-сценарии были недостаточно сложными и количество пользователей было недостаточно большим, поэтому некоторые знания не использовались, и многие требования к продукту нужно было реализовать самому, и существующие компоненты не могли решить некоторые проблемы.
Например, вам нужно реализовать дерево организационной структуры и выполнять разные операции на каждом узле.Иногда вам нужно объединить таблицу и дерево.На некоторых более сложных узлах может быть больше данных, поэтому вам нужно подумать об оптимизации производительности.
Так что на собеседовании спросят: как пройти по дереву и оптимизировать его.
Сосредоточьтесь на изучении основных принципов и концепций
Некоторые люди спросят лежащие в основе знания, полезен ли принцип? ? Ответ определенно полезен! !
Для навыков человека, я думаю, самое главное — это способность решать проблемы, потому что наша работа, по сути, состоит в том, чтобы решать одну проблему за другой, будь то на уровне продукта или на уровне техники, — решать эту проблему.
И вы знаете больше базовых знаний и больше основных знаний, что улучшит вашу способность решать проблемы.Если вы знаете принцип, лежащий в основе API, вы можете лучше выбрать, какой API использовать.
А понимание лежащих в основе знаний и принципов также улучшит вашу способность устранять неполадки, потому что вы всегда будете сталкиваться в своей работе: «Очевидно, что это так, почему оно сообщает об ошибке, почему его нельзя использовать, почему это неправильно». с ожиданиями», если вы просто знаете, как используется API, иногда невозможно хорошо устранить проблему.
Лучше всего узнать из официальной документации
Я не знаю, по каким каналам люди учатся, когда получают знания?
Мое личное предложение: лучше всего учиться на официальной документации, а если возникнут проблемы, лучше посмотреть исходный код.
Лучше всего получать знания из первых рук.Недостаточно только читать блоги, написанные другими.Это как есть булочки, которые пережевали другие.Включая мою статью, я не могу гарантировать все мнения и очки знаний.Конечно, когда вы не понимаете четко определенный момент знаний, вам также полезно посмотреть на мнения других людей.
Ниже приведены мои личные вопросы для интервью.
Некоторые вопросы интервью (ответы только для ознакомления, без гарантии их правильности)
CSS
Q1: Как реализовать трехколоночный макет (фиксированная ширина слева и справа, адаптивная посередине)
Этот вопрос в основном хочет узнать, есть ли ограничения в мышлении интервьюера Реализация этого макета является относительно распространенным макетом со многими методами, и он может помочь интервьюеру шаг за шагом ответить на основные вопросы, связанные с CSS.
- Абсолютное позиционирование + средняя часть не дает ширины
- Плавающие с обеих сторон + автоматическое расширение посередине (используйте calc для динамического расчета ширины и установки поля, соответствующего ширине)
- flex, установите flex-basis слева и справа, установите flex-grow посередине
По сути, наиболее распространенным ответом являются эти три метода макета, но многие люди говорят только об одном гибком методе, а о двух других методах макета можно подумать после небольшого размышления (о´゚□゚`о), этот вопрос не для интервьюер Какие странные трюки, чтобы ответить, просто осмотр основ CSS.
Вопрос 1-1: Как flex реализует трехколоночный макет (как установить ширину левой и правой сторон и какое свойство используется в средней адаптивной версии)
Ширину настройки гибкости и адаптацию ширины следует рассматривать как самое основное использование гибкости.В интервью, когда его спросили, какие свойства ширины набора гибкости и промежуточной адаптации, многие интервьюеры ответили: «Я не помню, обычно это заполняется автоматически. "
Q 1-2: После установки свойства flex, какие свойства дочерних элементов будут недействительными
плавать, очищать и выравнивать по вертикали
Q 1-3 плавающее/абсолютное позиционирование, как реализовать адаптивную среднюю ширину
Q2: Принцип размещения rem для разработки мобильного терминала (преобразование единиц rem)
Q3: Вы сами писали компоненты?
Вопрос 3-1: Как реализовать наследование и повторное использование стилей
Вопрос 3-2: Как вы обычно управляете своим CSS
- base.css, common.css, page.css (какой контент хранится соответственно)
Q 3-3: Какие функции sass/lass/styles вы обычно используете, и влияют ли вычисляемые свойства sass на производительность страницы?
Q4: Как нарисовать круг на странице
- SVG
- CANVAS
- css border-radius
- background
- map + area
- Поместите круглую картинку напрямую
Вопрос 4-1: Как нарисовать эллипс на странице
<style>
.sector {
width: 0;
height: 0;
border-width: 50px;
border-style: solid;
border-color: #f00 transparent transparent;
border-radius: 50px;
}
</style>
Вопрос 4-2: Если граница круга размыта, что можно сделать, чтобы удалить псевдоним?
По этим вопросам можно в принципе понять, как интервьюеры обычно используют CSS.Для CSS, я думаю, достаточно, потому что мы в принципе слишком озабочены вопросами совместимости (есть бабел и наш проект не требует совместимости со старыми браузерами типа ie6)
JS
Q1: основные типы данных JS
Cherry blog.site/deep copy Контракты…
Q 1-1 Что такое типы данных JS и каковы основные типы данных?
- Boolean
- Null
- Undefined
- Number
- String
- Символ (новое определение в ECMAScript 6)
- Object
(До ES6) 5 из них являются базовыми типами: string, number, boolean, null, undefined, а Symbol из ES6 также является примитивным типом данных, представляющим уникальное значение. Объект — это ссылочный тип (с большим диапазоном), включая массивы и функции.
Q: 1-2 Разница между примитивными типами данных и ссылочными типами
Способы хранения в памяти разные, примитивные типы данных хранятся на стеке в памяти, а ссылочные типы хранятся в куче Стек (stack) — это автоматически выделяемое пространство памяти, которое автоматически освобождается системой, а heap (куча) — это динамически выделяемая память, размер которой не фиксирован и не будет автоматически освобождаться.
Примитивные типы данных неизменяемы из-за различий в том, как они хранятся в памяти. Примитивные типы данных и ссылочные типы данных выполняют операции присваивания, один — передача по значению, а другой — передача по ссылке.
Q: 1-3 Разница между глубоким копированием и поверхностным копированием
Cherry blog.site/deep copy Контракты…
Q: 1-4 Как реализовать мелкое копирование
- ES6: объект.назначить()
- Оператор распространения...
- Реализуйте свою собственную функцию инкапсуляции
Q: 1-5 Как реализовать глубокую копию
- JSON.parse() (но недоступно, если внутри находятся function и undefined)
- lodash
- самовывоз
Q: 1-6 Разница между null и undefined
Тот же пункт:
- В операторе if значение по умолчанию равно false
- В общем, оба не представляют ничего, в зависимости от разницы
разница:
- Значение null, преобразованное в числовой тип, равно 0, а значение undefined, преобразованное в числовой тип, равно NaN (не число).
- Undefined является репрезентативным вызовом значения, и значение не присвоено, это значение по умолчанию Undefined
- null — это очень специальный объект, наиболее распространенное использование которого — передача в качестве параметра (указывающего, что параметр не является объектом)
- Переменные или объекты, для которых задано значение null, будут восстановлены сборщиком памяти.
Этот вопрос является основным вопросом, связанным с JS, который может проверить основные навыки интервьюируемого JS.
Q2: Реализуйте метод добавления тысячных к числам
- Регулярное выражение:
"12345678".replace(/(\d)(?=(?:\d{3})+$)/g,'$1,')
- Анализ строк, цикл, затем добавить ',' к 3 цифрам
- Численный анализ, чтобы взять целочисленную часть, эксплуатацию 1000%, затем строковая конкатенация запятой
(12345678).toLocaleString("en-US") => "12,345,678"
Q3: Три элемента объектно-ориентированного
Вишневый блог.сайт/JavaScript-…
- инкапсуляция, наследование, полиморфизм
Q3-1: Можете ли вы кратко объяснить разницу между объектно-ориентированным и процессно-ориентированным?
- Ориентированность на процесс заключается в том, чтобы анализировать шаги, необходимые для решения проблемы, а затем использовать функции для пошаговой реализации этих шагов и вызывать их один за другим при их использовании.
- Объектно-ориентированный - разложить транзакцию, составляющую проблему, на различные объекты. Целью установления объекта является не завершение шага, а описание поведения определенной вещи на всем шаге решения проблемы.
- Объектно-ориентированный: собаки (фекалии).
- Процесс: Ешьте (Собака, Мокрота).
Q3-4: Как реализовать инкапсуляцию и наследование
Q3-5: Обзор в одном предложении о том, что такое закрытие
Q4: Обзор в одном предложении о том, что такое обещание
The Promise object is used for asynchronous computations. A Promise represents a single asynchronous operation that hasn't completed yet, but is expected in the future.
Перевод: объект Promise используется для асинхронных операций, он представляет асинхронную операцию, которая еще не завершена и ожидается, что она будет завершена в будущем.
Вопрос 4-1: Какие проблемы решают обещания
Q 4-2: В отсутствие обещания, как решить асинхронный обратный вызов
4 решения для асинхронных обратных вызовов JS
Вопрос 4-3: Как вы сами реализуете обещание (blog.CSDN.net/Чонси И/Ах…
- new Promise(fn) возвращает объект обещания
- Укажите асинхронную и другую обработку в fn
- Если результат обработки нормальный, вызовите resolve (значение результата обработки)
- Если результат обработки неверен, вызовите reject(Error object)
Промис также является частым вопросом на собеседовании.Когда начинают спрашивать, что такое промис, мало кто может сказать, что такое промис, в одном предложении, а говорят только о том, как использовать API промиса, включая замыкания, и мало кто может использовать одно предложение. Объясните, что такое замыкание. Личное ощущение, которое нельзя выразить одним предложением, заключается в том, что понимание недостаточно глубоко или не понято с более высокого уровня.
Q5: eventloop
В цикле событий асинхронные события помещаются в очередь задач после того, как они возвращают результаты. Однако, в зависимости от типа асинхронного события, событие фактически попадет в соответствующую очередь макрозадач или очередь микрозадач.Когда стек выполнения пуст, основной поток сначала проверит событие в микрозадаче. Если микрозадача не пуста, выполняется событие в микрозадаче, если не вынесено первое событие в макрозадаче. Добавить соответствующий обратный вызов в текущий стек выполнения... Несколько раз войти в цикл.
- макрозадача
- setTimeout
- setInterval
- setImmediate
- микрозадача
- Promise
- process.nextTick
eventloop также является очень распространенным вопросом на собеседовании, и это также вопрос с относительно высоким ответом.Вы можете написать функцию, позволяющую интервьюеру ответить на вывод
связанный с компьютером
Q1: Сравните HTML, XML, XHTML и JSON.
- Наиболее знакомым нам является HTML (язык гипертекстовой разметки/язык гипертекстовой разметки), который используется для описания и определения
Язык разметки для веб-контента, гипертекст означает, что в дополнение к разметке этого текста он также может размечать изображения, видео, ссылки и другой контент.
- XML (Extensible Markup Language/Расширяемый язык разметки), производительность заключается в добавлении тегов к куче документов для пояснения, что означают данные в них, что удобно для хранения, передачи и обмена данными. Отличие от HTML в том, что теги HTML предопределены, а XML расширяем.
XHTML: Extensible Hypertext Markup Language/Расширяемый язык гипертекстовой разметки на самом деле представляет собой строгую синтаксическую форму HTML. Он предусматривает, что имена атрибутов должны быть строчными, пустые элементы должны быть закрыты, имена элементов должны быть строчными, имена атрибутов должны быть заключены в кавычки, а логические типы должны быть добавлены значения атрибутов
- JSON (Javascript Object Notation) — это относительно легкий формат обмена данными, состоящий из пар ключ-значение, формат данных относительно прост, легко читается и пишется, формат сжат, а пропускная способность небольшая.
Этот вопрос действительно очень базовый компьютерный вопрос, но многие интервьюеры до сих пор не могут точно сказать значение HTML (гипертекстовый язык разметки). При разговоре о разнице между XML и JSON, они могут отвечать только на обычно используемое XML как Файл конфигурации, JSON используется для данных передачи AJAX
Q2: Опишите процесс ввода URL-адреса для отображения веб-страницы.
Вопрос 2-1: Подробный процесс разрешения DNS
Вопрос 2-2: Обзор управления HTTP-кэшем (http2 и связанные с ним элементы управления кэшем)
Q 2-3: Кратко опишите трехстороннее рукопожатие
Вопрос 2-4: Каковы причины загрузки страницы на белый экран, как контролировать время белого экрана и как оптимизировать
Вопрос 2-5: Каковы атрибуты тега скрипта?
Вопрос 2-6: Роль и разница между тегами defer и async тегов script
Вопрос 2-7: Роль целостности сценария
Этот вопрос действительно нужно задавать на предварительных интервью, потому что он может проверить способности интервьюера во всех аспектах и может привести к множеству вопросов в зависимости от ответов интервьюера.
Q3: С какими сообщениями во внешнем интерфейсе вы контактируете (GitHub.com/дождь Джей/Но...
- Фронтенд и Бэкенд
- Внешний и мобильный
- Между интерфейсной родительской страницей и iframe
- между вкладками браузера
- взаимодействие потоков веб-воркеров
- связь между маршрутами
- vue компонент родитель-потомок
Вопрос 3-1: Суть и цель общения
Ключевые моменты: 1. Отправитель и получатель 2. Средство передачи 3. Передаваемые данные 4. Формат передачи (протокол)
Назначение: 1. Синхронизировать данные 2. Пропустить инструкции (способ выполнения)
Рамка
Q1: Какие проблемы решали три основных фреймворка при традиционной разработке JQ?
Сделайте так, чтобы внешнему интерфейсу больше не нужно было манипулировать DOM, управлять данными и напрямую изменять DOM посредством изменений данных.
Вопрос 1-1: Как Vue2.0 реализует двустороннюю привязку
Вопрос 1-2: Как Vue3.0 реализует двустороннюю привязку
Вопрос 1-3: Разница между Object.defineProperty() и прокси
Q2: Какие сегменты семейства Vue/React вы использовали и какие проблемы решили?
Q3: Алгоритм сравнения Vue/React
Q4: Разница между маршрутизацией хэшей Vue и маршрутизацией истории
Вопрос 5. В каких сценариях используются вычисляемые свойства и часы Vue?
Q6: Принцип реализации nexttick в Vue
Какие API-интерфейсы будут использоваться тремя основными фреймворками Vue/React/Angular, второстепенны, в основном для понимания проблем и принципов реализации, решаемых фреймворками.
упаковочный инструмент
Q1: связанный с веб-пакетом, вы сами его настроили?
Q1-1: В чем разница между webpack и другими инструментами автоматизированной сборки (gulp, grunt, rollup) (nuggets.capable/post/684490…
- webpack — это пакет модулей
- gulp - это бегун по вкусу
- Rollup — это альтернатива, появившаяся после популярности Webpack. Rollup имеет преимущество перед Webpack, когда речь идет об объединении библиотек JavaScript, поскольку связанный код меньше и быстрее. Однако функции не идеальны, и многие сценарии не могут найти готовых решений.
Q1-2: Какие болевые точки решает модульность во внешнем интерфейсе?
- конфликт имен
- файловые зависимости
- повторное использование кода
Q1-3: Разница между загрузчиком веб-пакета и плагином
- Загрузчик используется для преобразования исходного кода модуля. Загрузчики позволяют предварительно обрабатывать файлы при импорте или «загрузке» модулей. Таким образом, загрузчики похожи на «задачи» в других инструментах сборки и предоставляют мощный способ обработки этапов сборки внешнего интерфейса. Загрузчики могут преобразовывать файлы с разных языков (например, TypeScript) в JavaScript или преобразовывать встроенные изображения в URL-адреса данных. Загрузчик даже позволяет импортировать файлы CSS прямо в модули JavaScript!
Поскольку сам webpack может обрабатывать только JavaScript, если вы хотите обрабатывать другие типы файлов, вам нужно использовать загрузчик для преобразования, Сам загрузчик представляет собой функцию, которая принимает исходный файл в качестве параметра и возвращает результат преобразования.
- Плагин используется для расширения функциональности Webpack, добавляя хуки в процесс сборки, что обеспечивает большую гибкость Webpack.
С помощью плагина (плагина) веб-пакет может реализовать сложные функции, которые не может выполнить загрузчик.Используя богатый настраиваемый API и события жизненного цикла плагина, вы можете контролировать каждую ссылку процесса упаковки веб-пакета и реализовывать расширение пользовательских функций вебпак.
Q1-4: Процесс упаковки webpack
- Чтение файлов, анализ зависимостей модулей
- Разобрать и выполнить модуль (глубокий обход)
- Используйте разные загрузчики для разных модулей
- Скомпилируйте модуль для создания абстрактного синтаксического дерева (AST).
- Пройдите AST и выведите JS
Q1-5: Какие файлы генерируются после упаковки webpack
Q2: Что делать, если размер файла, упакованного webpack, слишком велик?
Q3: Принцип горячего развертывания webpack
Q4: Что делать, если скорость упаковки webpack слишком низкая?
По поводу вебпака, для основного фронтенда в основном нужно только уметь кли запускать проект, знать разницу между загрузчиком и плагином, и часто используемым загрузчиком и плагином, лично у меня почти то же самое, но для продвинутый интерфейс и выше, лучше всего знать о вебпаке.