предисловие
Из-за ситуации с эпидемией я был очень тронут, увидев в последнее время ситуацию с работой многих студентов в Наггетс (понижение зарплаты,Замаскированные увольнения,увольнятьЖдать). Может быть, это не обычное явление в настоящее время, но я все еще чувствую, что миску молодого риса в передней части нелегко смешать. В то же время многие из однокурсников, обратившихся ко мне за внутренними рекомендациями, находятся в состоянии безработицы, и они могут чувствовать внутреннюю растерянность и тревогу. Так что в моем сердце всегда есть голос, призывающий меня написать что-то, связанное с интервью, даже если это лишь небольшая помощь всем. Конечно, на этот раз я начну с точки зрения интервьюера (вероятно, не очень хорошего интервьюера), чтобы все узнали больше о процессе интервью Али, данных интервью и сценариях интервью. Далее я объясню из следующих модулей:
- Процесс набора
- Введены данные
- данные интервью
- Заметки об интервью
- Анализ вопросов интервью.
Советы: Напишите статью об интервью с точки зрения кандидата, прежде чем приступить к работе.«Обмен интервью: резюме успешного интервью с Али П6 с двухлетним опытом работы», Я получил много благодарностей от своих одноклассников, и я очень рад, что благодаря этому они могут найти свою идеальную работу, что также дало мне большую мотивацию для написания статей. Я надеюсь, что студенты, которые ищут работу, могут взглянуть, возможно, это может быть вам чем-то полезно.
Прием на работу
Привет всем, мы являемся недавно созданным бизнес-отделом DingTalk BU по связям с государственными органами Alibaba (код здоровья, используемый студентами в Ханчжоу, является совместным проектом моего BU и других BU), и все еще существует большое количество вакансий в веб-интерфейсе. . Кроме того, мы открыли канал школьного набора и набираем отличных стажеров (канал для новых студентов, окончивших учебу в июне этого года, закрыт). Студенты, которые хотят найти меня для внутреннего продвижения по службе или хотят узнать больше информации о наборе персонала, могут добавить меня в WeChat:18768107826
Процесс набора
Процесс вербовки Али может быть относительно долгим. При нормальных обстоятельствах, если вы пойдетезадвинуть», который может пройти следующие этапы:
- Возобновить проверку
- Возобновить оценку
- технический раунд
- Технический второй тур
- Три раунда технических
- Один раунд HR-интервью
- Второй раунд HR
Если вам повезет, вам может понадобиться только 4 или около того сторон (нетТри раунда технических,Второй раунд HR). Если вам не повезло, может быть 5~6 случаев.
Советы: Я посоветовался с некоторыми друзьями.Общее интервью (Xiaomi, Didi, Sina и Tencent и т. д.) может потребовать более 4 интервью.Конечно, некоторые друзья прошли 3 собеседования с NetEase (два раунда технических интервью + одно собеседование с персоналом) . Если вы знаете ситуацию с набором персонала в других компаниях, вы также можете сообщить всем об этом в комментариях, чтобы лучше справиться с собеседованием.
Введенные данные
С тех пор, как я присоединился к компании в течение полугода, я время от времени получаю внутренние реферальные резюме от своих друзей. Здесь разобраны данные внутреннего толчка, чтобы у каждого было ощущение индивидуальности:
Следует отметить, что оно не будет доставлено сразу после получения входящего резюме.Сначала будет чистый процесс проверки резюме, поэтому будет разница в количестве загруженных резюме и оценке резюме. Кроме того, случаев отказа со стороны HR еще не было. Конечно, из полученных данных видно, что ключевые интервьюВозобновить оценкуа такжетехнический раунд(обычно одна сторона и две стороны для кандидата).
Советы: Загруженное резюме будет введено в бассейн талантов Али. Если резюме не в процессе собеседования (или резюме выпущено после интервью в определенном отделении), другие заинтересованные отделения будут начать новое приглашение на вербовку.
данные интервью
Поскольку я присоединился к компании не так давно, я обычно работаюВозобновить оценкуинтервьюер, редко кактехнический раундИнтервьюер, вот мои данные как интервьюера, организованные следующим образом:
сенсорные и предполагаемые данныеВозобновить оценку успешностиНапротив, я буду более осторожен при оценке резюме...
Заметки об интервью
В процессе интервью я должен рассказать вам о нескольких чувствах, которые произвели на меня наибольшее впечатление:
- 1,Не спешите отвечать на вопрос, терпеливо ждите, пока интервьюер закончит вопрос.
- 2,Отвечайте на вопросы логично и лаконично
- 3.Если интервьюер перебивает вас, отвечайте в это время внимательно, потому что есть большая вероятность, что ваш ответ слишком громоздкий и он не удовлетворен вашим текущим ответом.
- 4. Не зацикливайтесь на проблеме надолго.....
- 5. Ни на один вопрос интервью нельзя отвечать просто и четко
- 6. Лучше всего контролировать время интервью примерно до 30-40 минут, чтобы опыт друг с другом не был очень плохим.
- 7, интервью - это способность интервьюера процесса и потенциальная добыча
- 8. Интервьюер не всесилен, интервью должно быть процессом взаимного обучения
- 9. Обязательно заранее подготовьте вопросы, которые хотите задать.Самое фатальное, что другие вас четко устраивают и вы ничего не знаете о других.....
По второму пункту еще надо пояснить, что у многих интервьюеров нет никакой логики в ответах на вопросы.Можно подумать перед ответом, а потом сказать интервьюеру объяснить с n аспектов.Во-первых, первый аспект..., а тогда вторые 2 аспекта...
Советы: Во время интервью я обнаружил, что у большинства интервьюеров обычно есть два вопроса 1 и 2. Если ваш ответ нелогичен, громоздок и не соответствует сути, у интервьюера обычно сложится о вас очень плохое впечатление. Напротив, если вы ответите на вопрос слишком лаконично, интервьюер, как правило, почувствует, что вы не уловили суть его вопроса (конечно, он будет сомневаться, есть ли проблема с его утверждением), и, как правило, добавит еще больше. подробное описание вопроса.
Анализ вопросов интервью.
Как правило, перед началом собеседования я заранее готовлю около 8 вопросов для собеседования согласно резюме соискателя (могут быть коррективы в процессе собеседования) Наконец, я проанализировал данные письменных тестовых вопросов следующим образом:
Советы: Эти данные не включают дополнительные вопросы для собеседования, а подготавливаются для кандидатов заранее. В реальном интервью вопросы интервью могут быть временно скорректированы и дополнены в зависимости от стратегии и ситуации на месте интервью.
Поскольку я недостаточно знаком с React, я буду в относительно невыгодном положении, если встречу кандидата со стеком технологий React. Далее я сосредоточусь на некоторых вопросах интервью, некоторые простые вопросы интервью не дадут ответов (некоторые вопросы интервью можно найти на«Обмен интервью: резюме успешного интервью с Али П6 с двухлетним опытом работы»Найдите ответ в ), вопросы интервью, которые не дали ответа, надеюсь, что вы дадите его в комментариях для справки другим.
HTML статьи
Как сделать SEO-оптимизацию в HTML?
в разработке...
Как рассчитать время первого экрана и белого экрана?
Ссылка на ссылку
CSS-статьи
Знакомы с Flex-макетом? Вы обычно используете Flex для макета?
Идеи решения проблем
- В первую очередь надо поговорить о концепции Flex layout, структуре Flex (Flex Container, Flex Item), у всех встреченных интервьюеров такого ответа не было
- Во-вторых, я могу рассказать о свойствах Flex, которые я обычно использую чаще всего.
- Наконец, вы можете рассказать о своем обычном макете (два столбца слева и справа, две строки вверх и вниз и т. д.).
Ссылка на ссылку
Каковы решения для коллапса высоты в плавающих элементах в CSS?
Идеи решения проблем
- Сначала можно обобщить два типа решений проблемы обрушения высоты:
clear
Атрибуты и метод BFC - Затем можно ввести два типа конкретных сценариев:
- Добавьте элемент и установите свойство clear
- Вставка псевдоэлементов с использованием стилей CSS
- Решение Bootstrap для уменьшения высоты (BFC)
Возможные дополнительные вопросы для собеседования (подробности см. по ссылке)
- В чем причина падения высоты?
-
clear
Каков принцип клиринга имущества? - Использование BFC для устранения коллапса высоты и
clear
В чем преимущество клиринга имущества перед плаванием?
Ссылка на ссылку
Как Flex реализует две строки вверх и вниз, высота верхней строки адаптивная, а высота нижней строки составляет 200 пикселей?
Идеи решения проблем
flex-direction: column
flex: 1
Как создать макет с 4 столбцами одинаковой ширины с полями в 10 пикселей между столбцами (учитывая совместимость с браузером)?
Идеи решения проблем
- float и clear float
-
margin
Эффект отрицательных значений (обратитесь к контейнеру сетки в Bootstrap 3.container
стиль)
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>Document</title>
<style>
* {
margin: 0px;
padding: 0px;
}
.container {
margin-right: -10px;
}
.row {
box-sizing: border-box;
padding-right: 10px;
width: 25%;
height: 100px;
float: left;
}
.container::before {
display: table;
content: '';
}
.container::after {
display: table;
content: '';
clear: both;
}
</style>
</head>
<body>
<div class="container">
<div class="row">第一列</div>
<div class="row">第二列</div>
<div class="row">第三列</div>
<div class="row">第四列</div>
</div>
</body>
</html>
Возможные дополнительные вопросы на собеседовании
- Если ваш ответ — макет таблицы, то вы обязательно спросите, в чем разница между макетом таблицы и макетом Div?
Как реализовать трехколоночный макет в CSS с фиксированной шириной слева и справа и адаптивной шириной посередине?
Как CSS очищает поплавки?
Идеи решения проблем
Используйте очистку, чтобы установить элемент, чтобы предотвратить появление плавающих элементов слева, справа или даже с обеих сторон от него.
<style>
div {
display: inline-block;
width: 40%;
height: 100px;
background: #d3cff7;
margin-right: 10px;
margin-bottom : 0;
padding: 0;
}
.float {
float: left;
}
.box {
height: 50px;
}
p {
border: 1px solid black;
margin:0;
padding:0;
width: 80%;
}
</style>
<div class="float"></div>
<div class="box"></div>
<p>3333333333333333333333333333333333333333333</p>
3333333333333333333333333333333333333333333
Поскольку div1 является плавающим, расположение элементов p и div1 перекрывается.Чтобы решить эту проблему, вы можете сделать левую часть элемента p недопустимой для плавающих элементов и добавить к элементу p стиль clear:left.
3333333333333333333333333333333333333333333
Можно обнаружить, что позиция p смещается вниз, чтобы макет p и div1 не перекрывались.На самом деле, после очистки верхнее поле элемента p автоматически увеличивается, чтобы гарантировать, что оно окажется ниже плавающего элемента div1 . В CSS2.1 введено понятие чистой области. Чистая область — это дополнительное пространство, добавляемое над внешним полем элемента (чтобы гарантировать, что плавающий элемент не перекрывается с элементом). Плавающие элементы не могут входить в этот диапазон, что означает установку свойства clear Поля элемента p не меняются, причина, по которой элемент перемещается вниз, связана с областью очистки. Высота div1 и div2 составляет 100 пикселей и 50 пикселей соответственно, поэтому высота чистой области составляет около 50 пикселей (не считая границ, начальных стилей браузерного прокси и т. д.). Если вы зададите элементу p верхнее поле margin-top: 30px, элемент p не сдвинется вниз на 30px, но после парсинга стиля высота очищаемой области станет примерно 50px - 30px, а элемент p по-прежнему не позиционируется Измените, если вы хотите переместить элемент p вниз, вам нужно сделать значение margin-top элемента p на 50 пикселей выше, чем максимальная высота чистой области, а расстояние для перемещения вниз также равно значению margin-top минус максимальное значение очистки. высота области.
Какова роль BFF?
Ссылка на ссылку
«Обмен интервью: резюме успешного интервью с Али П6 с двухлетним опытом работы»
в CSS
vertical-align
Каковы ценности? При каких обстоятельствах он вступает в силу?
Идеи решения проблем
vertical-align
Стоимость имущества:
- Класс линии:
baseline
,top
,middle
,bottom
- Текстовый класс:
text-top
,text-bottom
- Класс индекса надстрочного индекса:
sub
,super
- Числовые процентные классы: 20px, 2em, 20% и т. д. (для смещения базовой линии вверх или вниз)
Советы: Отрицательные значения смещены вниз относительно базовой линии, положительные значения смещены вверх, фактически
vertical-align:base-line
Эквивалентноvertical-align:0
. Это отрицательное значение на самом деле является артефактом CSS!
vertical-align
Предпосылки вступления в силу:
- встроенный элемент
span
,strong
,em
,img
,button
,input
Ждать -
display
значениеinline
,inline-block
,inline-table
илиtable-cell
Элементы - Обратите внимание, что плавающее и абсолютное позиционирование сделает элемент блочным, поэтому этот элемент никогда не вступит в силу.
Что такое селекторы в CSS? Как совпадают приоритеты селектора CSS?
в разработке...
В чем разница между псевдоэлементами и псевдоклассами?
Ссылка на ссылку
«Обмен интервью: резюме успешного интервью с Али П6 с двухлетним опытом работы»
в CSS
background
изbackground-image
свойства можно сочетать сbackground-color
Работают ли свойства вместе?
Возможные дополнительные вопросы на собеседовании
-
background-color
свойства могут быть переопределеныbackground-image
имущество?
Знаете об аппаратном ускорении анимации CSS 3? Есть ли какие-то моменты, о которых нужно знать, когда дело доходит до перерисовки и перекомпоновки?
Ссылка на ссылку
«Обмен интервью: резюме успешного интервью с Али П6 с двухлетним опытом работы»
Какие оптимизации может сделать CSS?
в разработке...
В чем разница и применение плавающих элементов и абсолютно позиционированных элементов?
в разработке...
Какие свойства в CSS можно наследовать?
Статьи по JavaScript/TypeScript
Как массивы хранятся в JavaScript?
Идеи решения проблем
- Массивы данных одного типа выделяют непрерывное пространство памяти.
- Массивы с данными разных типов используют хэш-карту для выделения памяти.
Советы: Вполне возможно, что непрерывное пространство памяти нужно только для прямого вычисления места хранения в соответствии с индексом (указателем). Если это хеш-карта, сначала необходимо вычислить значение индекса, а затем требуется вторичный поиск, если значение индекса конфликтует (вам нужно знать, как хранится хэш).
Возможные дополнительные вопросы на собеседовании
- Почему массивам в JavaScript не нужно выделять фиксированное пространство памяти?
- JavaScript Хранение массива и C/C++/Java хранятся в массиве В чем разница?
- Можно ли понимать массивы как специальные объекты в JavaScript?
- В чем разница в производительности между хранилищем массивов в JavaScript и хранилищем массивов в C/C++/Java?
- В чем разница между массивом в JavaScript и буфером в Node.js?
- Когда массивы в JavaScript хранятся непрерывно, а когда хэшируются?
- Каковы возможные решения (метод открытой цепи, метод линейного обнаружения, красно-черное дерево и т. д.) для коллизии ключей (коллизии хэшей) хранилища хэшей?
Ссылка на ссылку
Расскажите о наследовании и разнице между наследованием ES5 и ES6?
Идеи решения проблем
- Наследование в ES5 реализовано с помощью конструкторов, суть в том, чтобы сначала создавать экземпляры объектов подклассов
this
, а затем добавьте метод родительского класса вthis
над. Механизм наследования в ES6 совершенно другой, суть в том, чтобы сначала создать объект-экземпляр родительского класса.this
(поэтому его нужно назвать первымsuper
метод), а затем используйте конструктор подкласса для измененияthis
. - ES6 не только наследует объект-прототип класса, но также наследует статические свойства и статические методы класса в синтаксисе наследования.
- ...
Ссылка на ссылку
Расскажите о своем понимании нативного JavaScript?
Идеи решения проблем
- Несколько частей реализации JavaScript
- Языковые особенности JavaScript
- Интерпретируемый язык сценариев (сравнительный анализ скомпилированного языка сценариев)
- Объектно-ориентированный (процедурно-ориентированный)
- Управляемый событиями/асинхронный ввод-вывод
- Отсутствуют важные функции и т. д. (область блока, модули, подтипы и т. д.)
- бесплатно...
Расскажите о своем понимании TypeScript?
Идеи решения проблем
- Аннотации типов и проверка типов во время компиляции
- Добрый
- интерфейс
- модуль
- декоратор
- Файлы объявлений (аналогичные файлам заголовков в C)
- Поддержка ЕС6
- Синтаксический наконечник
- ESLint (TSLint не рекомендуется)
- ...
Разница в производительности между несколькими синтаксисами итерации в JavaScript в современных браузерах, таких как Chrome?
источник вопросов для интервью
Знакомство, написанное в резюме кандидатаРазработка высокопроизводительного JavaScript
Идеи решения проблем
- посещение
for
,for...of
,for...in
,forEach
,while
,do...while
Ждать - можно использовать
console.time
а такжеconsole.timeEnd
провести тестирование - Помните о проблемах оптимизации производительности, которые современные браузеры выполняют несколько раз.
-
++
а также--
есть ли разница - Есть ли процесс нахождения цепочки прототипов при обходе
Возможные дополнительные вопросы на собеседовании
- Есть ли разница в производительности литерального/массивного/объектного хранилища?
- Когда условия больше
if-else
а такжеswitch
Какой из них имеет более высокую производительность? - Как вы думаете, что может улучшить производительность на уровне синтаксиса для высокопроизводительной разработки JavaScript?
- Как уменьшить количество итераций в моем коде?
- Как реализовать устройство Duff?
Как улучшить производительность хранения переменных JavaScript?
Идеи решения проблем
- Доступ к литералам и локальным переменным является самым быстрым, доступ к элементам массива и членам объекта относительно медленный.
- Поскольку локальные переменные находятся в начале цепочки областей видимости, доступ к локальным переменным происходит быстрее, чем доступ к переменным в разных областях, а глобальные переменные имеют самый медленный доступ.
- избегать использования
with
а такжеcatch
, если нет необходимости - Члены вложенных объектов могут значительно повлиять на производительность, и их следует использовать с осторожностью, например.
window.location.href
- Чем дальше свойство и метод находятся в цепочке прототипов, тем медленнее к ним обращаются.
- Вообще говоря, члены объекта, элементы массива и переменные кросс-области, к которым необходимо обращаться несколько раз, могут храниться в локальных переменных для повышения эффективности выполнения JavaScript.
В чем разница между механизмом цикла событий браузеров и Node.js?
Ссылка на ссылку
«Обмен интервью: резюме успешного интервью с Али П6 с двухлетним опытом работы»
Сравнивая TypeScript и JavaScript, где, по вашему мнению, вам нужен TypeScript?
Как реализовать приватные свойства объектов в JavaScript?
Разница между async/await и Promise?
Идеи решения проблем:
-
await
Будет ждать выполнения асинхронного кода, заблокирует код (учитывайте производительность при его использовании) -
async / await
Будет удобнее в отладке
В каких формах может быть реализовано наследование в JavaScript, и каковы преимущества и недостатки каждой из них?
Идеи решения проблем
Типы | Преимущества и недостатки |
---|---|
Конструктор | Можно создавать копии различных свойств экземпляра, включая свойства экземпляра ссылочных типов, но нельзя совместно использовать методы. |
режим прототипа | Атрибуты ссылочных типов используют одно и то же физическое пространство для объектов экземпляров, поэтому методы могут быть общими. |
Сеть прототипов | В процессе реализации наследования методов и свойств для родительского класса атрибуты ссылочного типа объекта экземпляра родительского класса совместно используют одно и то же физическое пространство в экземпляре дочернего класса, поскольку объект экземпляра родительского класса указывает на прототип объекта дочернего класса |
Заемный конструктор | Поделиться Решить проблему ссылочных значений, разделяемого физическим пространством типов последовательности, но не реализация |
наследование композиции | При наследовании атрибутов используется метод заимствованного конструктора, а при наследовании методов используется технология цепочки прототипов, которая не только решает проблему совместного использования типов ссылочных значений, но и реализует совместное использование методов, но объект-прототип подкласса также имеет свойства экземпляра объекта экземпляра родительского класса. |
Наследование паразитарного состава | Комбинаторное наследование может решить большинство проблем, но и у него есть недостатки, то есть конструктор родительского класса будет вызываться дважды, и один раз при реализации прототипа прототип подкласса равен экземпляру объекта родительского класса и вызывается конструктор родительского класса (одновременно в дочернем классе.Также в объекте-прототипе класса есть экземплярные атрибуты экземплярного объекта родительского класса), а конструктор родительского класса вызывается один раз, когда дочерний класс используется конструктор. Паразитическое наследование композиции может решить проблему, заключающуюся в том, что объект-прототип подкласса все еще имеет атрибут экземпляра объекта-экземпляра родительского класса в процессе наследования. |
Ссылка на ссылку
Реагировать на статьи
в реакции
setState
Зачем нужны асинхронные операции?
Идеи решения проблем
- Сохраняйте внутреннюю согласованность:
props
обновления асинхронны, потому чтоre-render
Когда родительский компонент, передайте дочернему компонентуprops
изменения; чтобы данные были непротиворечивыми,state
Он не обновляется напрямую, он весь вflush
обновить, когда - Буду
state
Для оптимизации производительности приложения очень полезно отложить обновление обновления до окончательного пакетного слияния, а затем выполнить рендеринг.Если реальный DONM перерисовывается каждый раз при изменении состояния, это приведет к огромному потреблению производительности. - Немедленно обновите визуальный дискомфорт. Например, при открытии страницы выдается несколько запросов, что приводит к частым изменениям состояния «Загрузка», что приводит к мерцанию значка «Загрузка».
Возможные дополнительные вопросы на собеседовании
- когда
setState
Будет синхронизировать? - Официально реагировать
setState
Какие есть оптимизации для синхронизации операций в конкретных ситуациях? - в реакции
setState
Хотите получить обновление позжеstate
Как следует обрабатывать значение?
Ссылка на ссылку
Как приложение React сохраняет данные при перезагрузке страницы?
Идеи решения проблем
localStorage 结合 Redux
-
url query
(обратите внимание на ограничение длины)
Зачем использовать компоненты более высокого порядка при использовании React Hooks?
источник вопросов для интервью
В резюме говорится об использовании хуков в сочетании с высокоуровневыми компонентами для завершения развития бизнеса.
Идеи решения проблем
- Проблема обратного входа в яму, если это бизнес-миграция, объясняется тем, что частичная трансформация и миграция вызвали
- Положительное описание Reat Hooks не требует компонентов более высокого порядка, таких как, например, Redux.
- Пользовательский крючок
Возможные дополнительные вопросы на собеседовании
- Можно ли отказаться от написания компонентов более высокого порядка, полностью написав хуки?
- Как использовать хуки вместо компонентов более высокого порядка?
Ссылка на ссылку
Ajax-запросы помещаются в
componentDidMount
то ли обработать его или положить вcomponentWillMount
Не лучше ли иметь с ним дело?
Идеи решения проблем
- рендеринг на стороне сервера
- Event Loop
gaearon: Если это асинхронный запрос, он все равно не будет выполнен к моменту монтирования компонента, независимо от того, где вы его запускаете.Это потому, что JS является однопоточным, а сетевой запрос не может «вернуться» и быть обработанным. пока мы все еще рендерим, поэтому разница между ранним и поздним запуском часто незначительна.
You're right that it matters in some rare cases though and for those cases it might make sense to break the recommendation. But you should be extra cautious as state can update before mounting, and if your data depends on state, you might have to refetch in that case. In other words: when in doubt, do it in componentDidMount.
The specific recommendation to avoid side effects in the constructor and Will* lifecycles is related to the changes we are making to allow rendering to be asynchronous and interruptible (in part to support use cases like this better). We are still figuring out the exact semantics of how it should work, so at the moment our recommendations are more conservative. As we use async rendering more in production we will provide a more specific guidance as to where to fire the requests without sacrificing either efficiency or correctness. But for now providing a clear migration path to async rendering (and thus being more conservative in our recommendations) is more important.
JS является однопоточным, запросы Ajax не будут «возвращаться» и срабатывать при рендеринге (результаты выполнения Ajax будут помещены в очередь задач, а после выполнения основного потока задачи в очереди задач будут прочитаны для выполнения ), поскольку теоретически результат будет одинаковым, где бы он ни находился, рендеринг будет выполнен дважды.
В этом случае нет необходимостиcomponentWillMount
Модель AJAX, чтобы избежать понимания, и ожидается, что результаты State будут неправильными.componentDidMount
Реализация понятна и не вызывает двусмысленности, поэтому вcomponentDidMount
самый разумный.
Возможные дополнительные вопросы на собеседовании
- Давайте поговорим об официальной рекомендации React по размещению Ajax-запросов в
componentDidMount
обрабатывается вcomponentWillMount
обработано в? - Если запрос Ajax помещен в
componentWillMount
процесса, а возвращаемый результат Ajax предшествует рендерингу, то сколько раз будет выполняться рендеринг в конце?
Ссылка на ссылку
Какие оптимизации производительности может сделать React на уровне синтаксиса?
Идеи решения проблем
- PureComponent + Redux + immutable-js / immutability-helper
- Redux -> Redux Toolkit
- Библиотеки компонентов загружаются по запросу
- Динамическое заполнение
- Tree Shaking
- Отложенная загрузка маршрута
- Hooks useCallback
- React Fragments
- Обработка привязки событий в функциях сборки
- Избегайте использования встроенных атрибутов стиля
- Разумный контроль области условного рендеринга в JSX (избегайте ненужного повторного рендеринга)
- key
- Держите данные в состоянии должны реагировать
Возможные дополнительные вопросы на собеседовании
- В чем разница между глубоким сравнением и поверхностным сравнением?
- На что следует обратить внимание при рендеринге?
Разница между React и Vue?
Рамка | React | Vue 2.x |
---|---|---|
Типы | MVVM | MVVM |
Отзывчивый | √ | √ |
составной | √ | √ |
строительные леса | Create React App | Vue CLI |
маршрутизация | react-router | vue-router |
государственное управление | react-redux / React Hooks / MobX | vuex |
вся идея | Функциональный однонаправленный поток данных | Декларативный, двусторонняя форма связывания |
Оптимизация компонентов | PureComponent / shouldComponentUpdate | Это можно понимать как автоматизацию, которая должна обновить компонент. |
HTML | JSX (Слияние структуры, представления и поведения,Полная поддержка синтаксиса JavaScript/TypeScript,Расширенные средства разработки Lint / Editor AutoЖдать) | Шаблон (отдельная структура и производительность и поведение,HTML более дружелюбен,Повышение эффективности разработки, стоимость обучения документа) / JSX |
CSS | Области действия CSS требуют дополнительной реализации, например, некоторых схем CSS-in-JS (styled-components,styled-jsx), обычно требуются дополнительные плагины для поддержки подсветки синтаксиса и подсказок. | Теги стиля однофайлового компонента |
Инструменты разработчика Chrome | react-devtools | vue-devtools |
Преимущество | Надежность для крупномасштабных приложений (гибкая структура и масштабируемость), Применимо к собственным приложениям, богатой экосистеме, богатой цепочке инструментов | Универсальное решение, более быстрый рендеринг и меньший размер |
В дополнение к этому, на уровне синтаксиса:
- На уровне мультиплексирования Реагирование может настроить крючки, достигаемые функциями более высокого порядка. Использование Vue Mixin в большинстве случаев.
- Экземпляры компонентов Vue реализуют настраиваемые события, а связь между родительскими и дочерними компонентами может быть более развязанной. Все в React — это реквизиты или реализуйте подобные пользовательские события самостоятельно.
- Во Vue вы можете использовать Slot для распространения контента, а в React все — это Props.
- Богатые директивы в Vue (очень просты в использовании, а также поддерживают гибкие пользовательские директивы), все в React — это JSX.
- Синтаксический сахар для вычисляемых свойств и свойств прослушивания в Vue, которые React может обрабатывать в определенных периодических функциях.
- Фреймворк Vue поддерживает анимацию перехода, которой изначально нет в React.
- Vue предоставляет универсальный сервис, а React часто приходится учитывать экологические приложения при проектировании.
- Глобальная конфигурация Vue и глобальный API по-прежнему очень полезны, например, Vue.use может глобально внедрять объекты в экземпляры.
- Глобальные компоненты в Vue очень просты в использовании, вам не нужно импортировать компоненты снова и снова, как в React.
- Некоторые переменные данные (например, константы), используемые в шаблоне Vue, должны быть смонтированы в
this
Выше (это заноза в заднице) JSX в React — это весь JavaScript. - Новая концепция и синтаксис React Hooks.
- Фрагменты React великолепны, и Vue еще не нашел подобной функциональности (что вызовет больше проблем с вложенностью элементов).
- ...
Советы: Пожалуйста, дайте мне знать в комментариях, если есть лучшее грамматическое сравнение.
Возможные дополнительные вопросы на собеседовании
- Расскажите мне о трех очевидных различиях между React и Vue?
- Можете ли вы рассказать о преимуществах React по сравнению с Vue?
- Можете ли вы рассказать о преимуществах Vue перед React?
- Как вы думаете, в каких сценариях следует использовать Vue или React?
Vue статьи
Каковы особенности Vue CLI 3?
источник вопросов для интервью
В резюме говорится, что стек Vue CLI
Идеи решения проблем
- Графический интерфейс (vue ui)
- Система плагинов
- CLI-сервис
- Vue CLI не требует EJECT для настройки WebPack (для CREATE React APP)
- Настраиваемый полифилл
- современный режим
- Prefetch / Preload
- webpack-merge / webpack-chain
- Совместимость с браузером
- Препроцессор CSS
- переменная среды
- Создание приложений/библиотек/веб-компонентов
- Развертывание (CORS/PWA)
- ...
Возможные дополнительные вопросы на собеседовании
- Вы разработали универсальный плагин Vuc CLI?
- Вы когда-нибудь проектировали общие леса Vue?
- Вы изучили исходный код Vue CLI?
Можете ли вы сравнить приложение Create React с Vue CLI 3?
источник вопросов для интервью
В резюме говорится о знакомстве со стеком React и Vue.
Идеи решения проблем
Типы | Create React App | Vue CLI 3.x |
---|---|---|
Создавайте SPA-приложения одним щелчком мыши | √ | √ |
Script | реактивные сценарии (настраиваемые) | @vue/cli-service |
Набор плагинов ESLint | react-app | eslint-plugin-vue(плагин) |
CSS Modules | √ | √ |
Препроцессор CSS | Настроить Sass | Естественная поддержка Sass, Less и Stylus (настраивается) |
Постпроцессор PostCSS | √ | √ |
HTML и статические ресурсы | HTML-интерполяция и Svg-компонентизация | Плагин HTML, предварительная загрузка, предварительная выборка, многостраничные приложения и правила URL |
разделение кода | √ | √ |
переменная среды | √ | √ |
PWA | √ | плагин |
модульный тест | Jest | Плагин (Ject & Mock &...) |
Proxy | √ (гибкий, но часто требует настройки) | √ (становится элементом конфигурации) |
TypeScript | шаблон | плагин |
Пользовательский шаблон строительных лесов | Пользовательские шаблоны (template.json ) |
Система пресетов и плагинов (отлично, удаленно) |
Конфигурация веб-пакета | Eject & Webpack files | Inspect & vue.config.js & Конфигурация по умолчанию является всеобъемлющей & webpack-merge и webpack-chain (со стоимостью обучения) |
Анализ веб-пакетов | Source map explorer | vue ui (интерактивный графический интерфейс) |
быстрое прототипирование | × | @vue/cli-service-global |
Интерактивная разработка | × | vue ui |
Совместимость с браузером | современный браузер(Пользовательский полифилл и список браузеров) | список браузеров, полифилл и современный режим |
Построить | заявление | Приложения, библиотеки и веб-компоненты (асинхронные) |
Советы: Это относится к сравнению функций по умолчанию, не говоря уже о том, что никакие пользовательские расширения функций не могут быть сделаны!
Creat React App является более готовым, чем Vue CLI 3.x в инженерной системе.Кроме того, система плагинов в Vue CLI 3.x — отличная функция, которая делает пользовательские шаблоны шаблонов очень гибкими (отлично подходит для предприятий индивидуальные леса). Конечно, у Create React App есть свои собственныеконцепт дизайнаДа, для простых приложений это преимущество (не настраивается до контракта).
Весь принцип реализации Vue.js?
источник вопросов для интервью
В резюме написано, что вы знакомы с исходным кодом Vue.js, либо в резюме написан только стек технологий Vue.js, либо в процессе собеседования не удается найти каких-либо изюминок
Идеи решения проблем
Вот краткое описаниеVue 2.xМеханизм работы (следует отметить, что анализ Vue.js Runtime + Compiler).
Процесс инициализации:
- Создайте объект экземпляра Vue
-
init
Процесс инициализирует жизненный цикл, инициализирует центр событий, инициализирует рендеринг, выполняетbeforeCreate
Периодическая функция, инициализацияdata
,props
,computed
,watcher
,воплощать в жизньcreated
Периодические функции и т.д. - После инициализации вызовите
$mount
Метод монтирует экземпляр Vue (основной процесс монтирования включаетКомпиляция шаблона,оказыватьтак же каквозобновитьтри процесса). - Если не определено в экземпляре Vue
render
метод, но определяетtemplate
, то вам нужно пройти этап компиляции. нужно сначалаtemplate
Строка компилируется вrender function
,template
Шаги компиляции строки следующие:-
parse
Обычный парсингtemplate
Строки образуют AST (абстрактное синтаксическое дерево, которое представляет собой древовидное представление абстрактной синтаксической структуры исходного кода). -
optimize
Отметьте статические узлы, чтобы пропустить алгоритм DIFF (алгоритм DIFF сравнивается послойно, сравниваются только узлы одного уровня, поэтому временная сложность составляет всего O(n). Если временная сложность не очень ясна, вы можете проверить я написал статьюziyi2/algorithms-javascript/прогрессивная нотация) -
generate
Преобразовать АСТ вrender function
нить
-
- скомпилировано в
render function
После этого позвоните$mount
изmountComponent
метод, выполнить первымbeforeMount
ловушка, то ядром является создание экземпляра рендераWatcher
, вызываемый в его функции обратного вызова (выполняется во время инициализации и выполняется при обнаружении изменений данных в экземпляре компонента)updateComponent
метод (этот метод вызываетrender
Метод генерирует виртуальный узел и, наконец, вызываетupdate
способ обновления DOM). - передача
render
Метод будетrender function
Рендеринг в виртуальный узел (реальный элемент DOM очень большой, потому что стандарт браузера делает DOM очень сложным. Если вы часто обновляете DOM, это вызовет определенные проблемы с производительностью, а виртуальный DOM использует собственный объект JavaScript для описания узел DOM, поэтому это намного дешевле, чем создание DOM, и его свойства легко изменять, а также он может быть кросс-платформенным),render
Первый параметр методаcreateElement
(или скорееh
функция), которая также описана в официальной документации. - После создания виртуального DOM-дерева виртуальное DOM-дерево необходимо преобразовать в настоящий DOM-узел, в это время необходимо вызвать
update
метод,update
метод будет вызван сноваpacth
метод преобразует виртуальный DOM в настоящие узлы DOM. Следует отметить, что новый реальный DOM на рисунке игнорируется (если нет старого виртуального узла, вы можете напрямую передатьcreateElm
Создайте реальный узел DOM), основное внимание здесь уделяется анализу существующего виртуального узла, который будет проходитьsameVnode
Определите, совпадает ли узел Node, который необходимо обновить, со старым узлом Node (например, мы устанавливаемkey
Если атрибуты изменились, то узлы явно другие. Если узлы разные, заменить старые узлы на новые. Если они одинаковые и имеют дочерние узлы, то нужно вызватьpatchVNode
Метод выполняет алгоритм DIFF для обновления DOM, тем самым повышая производительность операций DOM.
Следует отметить, что на этапе инициализации процесс реагирования на данные подробно не описывается, что объясняется в процессе реагирования.
Отзывчивый поток:
- существует
init
будет использовать, когдаObject.defineProperty
Метод (несовместимый с IE8) для прослушивания изменений в ответных данных экземпляра Vue для достижения возможностей перехвата данных (с использованием свойств доступа объекта JavaScript).get
а такжеset
, ES6 будет использоваться в будущем Vue3Proxy
оптимизировать отзывчивый принцип). На этапе компиляции процесса инициализации, когдаrender function
При рендеринге будут считаны отзывчивые данные, связанные с представлением в экземпляре Vue, что вызоветgetter
функцияКоллекция зависимостей(НаблюдательWatcher
Объект сохраняется подписчику текущего закрытияDep
изsubs
), функция захвата данных и шаблон наблюдателя в настоящее время реализуют шаблон MVVM.Binder, после чего следует обычный процесс рендеринга и обновления. - Когда изменения изменений или представление привело к изменению, данные будут срабатывать угнать
setter
функция,setter
уведомит об инициализацииКоллекция зависимостейсерединаDep
в и соответствующий видWatcher
Сообщите, чтобы изменить вид,Wather
пройдет сноваupdate
метод обновления представления.
Можно обнаружить, что до тех пор, пока событие прослушивателя добавляется в представление и соответствующее изменение данных автоматически изменяется, может быть реализована двусторонняя привязка данных и представления.
Возможные дополнительные вопросы на собеседовании
- Какова основная обработка ввода исходного кода Vue.js?
- Как перехват данных реализован в Vue.js? Как насчет совместимости браузера?
- Как обрабатывается сбор зависимостей в Vue.js? Это как-то связано с закрытием?
- Какие фазы вам нужно испытать в Vue.js?
- Каковы преимущества виртуальных узлов в Vue.js?
- Как алгоритм DIFF обрабатывается в Vue.js?
- Какова временная сложность алгоритма DIFF в Vue.js? Почему?
- в Vue.js
computed
/watch
Каков принцип реализации? - Что такое периодические функции в Vue.js? Когда выполняются эти периодические функции?
- Vue.js в
$nextTick
Каков принцип? Какие серьезные изменения он претерпел? Почему? - Какие оптимизации разметки делает Vue.js для обновлений DOM?
- Какие оптимизации может выполнять Vue.js на уровне синтаксиса?
- Что в основном делает прокси-сервер в Vue.js 2.x?
- Как поддерживать TypeScript в Vue.js 2.x?
- Каковы основные изменения в исходном коде Vue 3.x по сравнению с Vue 2.x?
- К чему относятся M/V/VM в Vue.js?
- Каковы основные возможности Vue-loader?
- Как Vue.js выполняет проверку ESLint?
- Как Vue.js выполняет модульное тестирование?
- Знаете исходный код Vue-Router/Vuex? (перцептивный вопрос, не буду задавать подробно)
- В чем разница между шаблоном публикации/подписки и шаблоном наблюдателя?
- Писать модель публикации/подписки вручную?
- Кратко опишите разницу между MVC/MVP/MVVM?
- Если вы знакомы с Nuxt и т. д., вы можете спросить принцип реализации SSR?
- У вас есть привычка глубоко отслеживать стек ошибок, когда Vue.js сообщает об ошибке/предупреждении?
- Можно ли реализовать захват данных в Vue 2.x с помощью шаблона публикации/подписки? Каковы преимущества и недостатки использования шаблона наблюдателя?
- Каковы принципы реализации всего фреймворка Vue?
Ссылка на ссылку
Какие есть варианты связи между компонентами в Vue.js?
Идеи решения проблем
- Vuex
- Event Bus
- Pub / Sub
- Emit / On
- provide / inject
- Element UI dispatch / broadcast
- props
- родительский/дочерний объект экземпляра
Возможные дополнительные вопросы на собеседовании
- В пользовательском интерфейсе элемента
dispatch
а такжеbroadcast
Как это достигается? - Какие есть варианты общения между предками и потомками?
- Каковы сценарии связи между произвольными компонентами?
Как Vue настраивает леса? Какие факторы необходимо учитывать?
в разработке...
$nextTick
Какова связь между временем выполнения и рендерингом DOM?
Возможные дополнительные вопросы на собеседовании
- Что такое цикл событий?
- В чем разница между макрозадачами и микрозадачами?
- Что такое макрозадачи, а какие микрозадачи?
-
$nextTick
Какие изменения вы испытали в нескольких итерациях версии? - Будет ли воссоздан новый сетевой процесс при открытии нового окна браузера?
Ссылка на ссылку
Какую версию использует Vue, как он работает с TypeScript и каковы особенности TypeScript?
в разработке...
Вью Лейн
keep-alive
Как это достигается?
в разработке...
источник вопросов для интервью
появляться в резюмеkeep-alive
Информация
Возможные дополнительные вопросы на собеседовании
- уже настроен
keep-alive
Как впоследствии это повлияет на жизненный цикл рендеринга компонентов? -
keep-alive
Каковы особенности?
Расскажите о том, как перехват данных в Vue обрабатывается в разных версиях?
в разработке...
Какую оптимизацию производительности может сделать Vue?
Идеи решения проблем
keep-alive
- Отложенная загрузка маршрута
- Preload / Prefetch
- key
- Отзывчивое выравнивание зависимостей
- Уменьшите ненужные реактивные зависимости
Object.freeze
- Загрузка прокрутки DOM
- v-if / v-show
- computed / watch
- Уничтожение событий (для предотвращения утечек памяти)
- Компоненты импортируются по требованию
- предварительный рендеринг
- Полифилл по запросу
- Предварительная компиляция шаблона
- функция рендеринга
- Официальное руководство по стилю + официальный плагин ESLint
- ...
Возможные дополнительные вопросы на собеседовании
- Как реализована ленивая загрузка маршрутов?
- С какой конфигурацией Webpack связано Coding Split?
- Что такое полифилл? Какую релевантную настраиваемую информацию поддерживает Vue?
- Можно ли использовать JSX во Vue? (Кто-то не знает, что такое JSX)
Компоненты
Разница между контролируемыми и неконтролируемыми компонентами в React?
источник вопросов для интервью
В резюме говорится, что необходимо извлечь общие бизнес-компоненты.
Идеи решения проблем
- Данные управляются компонентами React Components / DOM NOM
Возможные дополнительные вопросы на собеседовании
- В каких сценариях следует использовать неконтролируемые компоненты?
Ссылка на ссылку
Как реализовать разработку компонента ввода в React?
в разработке...
Создание, проектирование и обслуживание библиотеки компонентов компании?
источник вопросов для интервью
В резюме говорится о проектировании и обслуживании библиотеки компонентов компании.
Идеи решения проблем
- Полный импорт/импорт по запросу
- Дизайн процесса сборки
- модульный тест
- Режим вывода (umd/commonjs2/es6)
- стиль здания
- Международный / инструмент
- ESLint / Prettier / Stylint
- TypeScript (декларация)/JavaScript
- Конфигурация Webpack / анализ Webpack
- Вавилонская обработка
- Примечания к полифиллу
- Демонстрация уценки и CI
- Трехсторонний метод обработки библиотеки
- Совместимость с браузером
- Autoprefixer
- Lerna / Single Npm / Multiple Npm
- Single Npm & Template
- Обработка хуков Git и спецификация Git
- Спецификация семантической версии
- Команда/Область/Спецификация разработки/Проверка кода
Возможные дополнительные вопросы на собеседовании
- Оптимизация скорости/производительности сборки Webpack?
- Инструмент анализа Webpack?
- Каркасный дизайн библиотеки компонентов?
- Построить оптимизацию пакетов?
- Каковы возможные решения для реализации функции загрузки по требованию?
- Какие компоненты в основном отвечают за дизайн?
- Кейс проактивной инкапсуляции бизнес-компонентов?
- Вы видели дизайн исходного кода библиотеки компонентов xxx?
- Вы проектировали свои компоненты с учетом поддержки TypeScript?
- Что обычно требуется для проверки модульного тестирования бизнес-компонентов?
Ссылка на ссылку
Знакомы с дизайном фреймворка для компонентов пользовательского интерфейса Element?
источник вопросов для интервью
В резюме написано, что я использовал Element UI для развития бизнеса и сам проектировал компоненты
Ссылка на ссылку
Библиотека компонентов загружается по запросу, как это сделать?
источник вопросов для интервью
В резюме говорится об использовании загрузки по запросу для повышения производительности страницы.
Идеи решения проблем
- Single Npm
- Lerna
- Multi Entry Syntax
Как автоматически заблокировать автоматическое заполнение пароля Input?
Шаблоны проектирования
В чем разница между шаблоном наблюдателя и шаблоном публикации/подписки в шаблонах проектирования?
источник вопросов для интервью
В резюме говорится о знакомстве с шаблонами проектирования, Redis, исходным кодом Vue и т. д.
Возможные дополнительные вопросы на собеседовании
- Где обычно используются наблюдатели или шаблоны публикации/подписки?
Ссылка на ссылку
Знаете разницу между MVC/MVP/MVVM?
Ссылка на ссылку
Инженерные статьи
Какие есть варианты оптимизации скорости сборки Webpack?
источник вопросов для интервью
Проект написан для использования Webpack для оптимизации скорости сборки.
Идеи решения проблем
- speed-measure-webpack-plugin
- Исключите сторонние библиотеки, чтобы предотвратить вторичную упаковку
- thread-loader
- cache-loader
- HappyPack
- parallel-webpack
- ...
Возможные дополнительные вопросы на собеседовании
- Сколько времени требуется до того, как здание не будет оптимизировано, сколько времени потребуется, чтобы построить оптимизированное?
- Есть ли анализ того, что вызывает медленную скорость сборки?
Расскажите, как вы понимаете экологию cz?
источник вопросов для интервью
В проекте сказано использовать спецификацию cz для коммитов Git.
Ссылка на ссылку
Вкратце, какие функции есть в Webpack для оптимизации производительности?
в разработке...
Оптимизация производительности
Вы понимаете ленивую загрузку SPA?
в разработке...
Как Vue работает с Echarts/OpenLayers для оптимизации производительности?
в разработке...
Сервисные статьи
Вы когда-нибудь выбирали технологию платформы приложений на основе Express?
в разработке...
История разделения front-end и back-end? Каковы преимущества и недостатки раздельного режима?
в разработке...
В чем разница между механизмом цикла событий в Node и механизмом цикла событий браузера?
в разработке...
Расскажите о том, как использовать чистый Node.js для создания фреймворка на стороне сервера? Расскажите о понимании MVC на стороне сервера Node.js?
в разработке...
Знакомы с Node, расскажите об истории развития серверного MVC?
в разработке...
Что такое междоменные решения? Как Cors работает с междоменными доменами?
в разработке...
Рамочные статьи
Что такое Н5?
в разработке...
Разница между AMD, CMD и CommonJS?
в разработке...
Возможные дополнительные вопросы на собеседовании
- Разница между common.js и введением модуля в ES 6?
Как спроектировать взрывную крупномасштабную параллельную архитектуру?
в разработке...
Как компании развертывают интерфейсный код?
в разработке...
HTTP Статьи
Разница между GET и POST?
Возможные дополнительные вопросы на собеседовании
- В чем разница между GET и POST с точки зрения безопасности?
- В каких ситуациях у GET возникают проблемы с безопасностью?
Просто говорить об Ajax, говорить об axios?
в разработке...
Каковы возможности библиотеки axios? Может ли библиотека axios сделать перехват перед отправкой запроса?
в разработке...
Возможные дополнительные вопросы на собеседовании
- Может ли библиотека axios сделать перехват перед отправкой запроса?
- Может ли библиотека axios отменить запрос при отправке запроса?
Как взаимодействуют аппаратный уровень и внешний интерфейс?
Возможные дополнительные вопросы на собеседовании
- Как обеспечивается совместимость WebSocket с браузером?
Расскажите о своем понимании кэширования и приведите пример использования кэширования, наиболее подходящий для вас.
в разработке...
Какая технология в основном используется для проталкивания сервера?
в разработке...
В чем разница между HTTP 2 и HTTP 1?
в разработке...
На основе какого протокола в основном взаимодействует WebSokect (TCP/UDP)?
Возможные дополнительные вопросы на собеседовании
- Как справиться с совместимостью с более ранними версиями, если она несовместима с WebSocket?
Кратко представьте Graphql, почему вы должны использовать Graphql в своем проекте?
в разработке...
Знаете ли вы о междоменном, при каких обстоятельствах это приведет к междоменному?
в разработке...
Разница между файлом cookie и сеансом?
в разработке...
Тестовая статья
Вы когда-нибудь писали модульные тесты или e2e-тесты в обычном процессе разработки?
в разработке...
Какова основная цель автоматизированного тестирования?
в разработке...
Статьи по оптимизации
Какая у SEO оптимизация?
в разработке...
Возможные дополнительные вопросы на собеседовании
- Каков принцип пререндеринга?
Говорите о каких-либо внешних оптимизациях?
в разработке...
Деловые статьи
Насколько применимо стандартное написание кода?
Что делает гаджет информации об авторских правах, можете ли вы дать подробное описание?
Расскажите о компоненте dtd, о том, как этот компонент поддерживается и как контролируется версия?
Нашли ли вы болевые точки в развитии бизнеса и устранили их?
Вы когда-нибудь чувствовали, что дизайн взаимодействия был неразумным, а затем придумывали план продвижения изменений взаимодействия?
Как насчет внешней рекламы? Как Chrome перехватывает рекламу?
Существуют ли какие-либо сложные случаи для упрощения бизнес-дизайна?
Сделали ли вы какие-либо инструменты для упрощения развития бизнеса?
Moxtra - ваш главный толчок? Говорите о RxJS?
Вы когда-нибудь брали на себя инициативу владеть бизнесом и эффективно устранять бизнес-риски?
Расскажите о том, как измерить опыт улучшения продукта?
Напоминание: некоторые деловые вопросы в основном относятся к элементам резюме, которые не подходят для отображения здесь. Тем не менее, следует отметить, что интервьюер может быть очень заинтересован в данных бизнеса, поэтому лучше подготовить их заранее, если будет сравнение данных NB в бизнесе. Бизнес-моменты, которые могут быть рассмотрены: бизнес-данные / бизнес-трудности / бизнес-результаты / бизнес-вклад / бизнес-инициатива / собственные бизнес-возможности / соображения выбора стека технологий / масштаб влияния на бизнес / бизнес-универсальность / бизнес-мышление......
Анализ существительных
Что такое прогрессивное улучшение и изящная деградация?
в разработке...
Написанный экзамен
0 1 1 2 3 5 8, если 0-й равен 0, а 1-й равен 1, как найти n-е число?
Простая реализация механизма публикации-подписки?
Простая реализация функции debounce с параметром немедленного выполнения:
function debounceImmediate (fn: Function, wait: number, immediate: boolean))
?Чтобы реализовать покерную сортировку вставками (нам всегда нравится вставлять покерную карту в отсортированную покер), введите:
[5,6,1,8,7,2,4,3]
, выход:[1,2,3,4,5,6,7]
, и предоставить идеи модульного тестирования (как проверить, что ваш код стабилен и корректен)?Реализовать простой шаблонизатор
let template = '嗨,{{name}}您好,今天是星期 {day}';
let data = {
name: '张三',
day: '三'
}
render(template, data); // 嗨,张三您好,今天是星期三
Хаос
Как вы думаете, в чем вы лучше всего?
Предполагая, что под организацией висит 10w нод, как это оптимизировать?
Вы когда-нибудь сталкивались с трудной проблемой при использовании Vue?
Расскажите мне о ситуации в вашем бизнесе, которая, по вашему мнению, является самой большой оптимизацией производительности?
Расскажите о проблеме, которую вы еще не решили в своем бизнесе?
Расскажите о самой сложной проблеме в вашем бизнесе?
слухи
Эффективная способность к самообучению, можете ли вы привести пример, демонстрирующий высокую эффективность?
Помимо развития бизнеса, у вас обычно есть планы на учебу?
Каковы ваши обычные увлечения?