Tencent One Side (2019 Front-end Стажировка) | Технические документы Nuggets

внешний интерфейс Технологии Nuggets призывают к публикации JavaScript Тенсент Поиск работы

предисловие

Пост стажера, доставленный в Tencent, никогда не звонил по телефону. Я проверил статус и сказал, что это неприемлемо. Я подумал, что это круто, но сегодня мне позвонили, что было неожиданно... Потом понеслось.Сначала интервьюер сказал, что времени будет не много, минут 30. В итоге весь процесс продлился минут 30.

Вот процесс интервью:


Самостоятельное введение

  • Кратко расскажите о своей школе и специальности, а также о процессе обучения.

Могу ли я работать в Шэньчжэне (Гуанчжоу, где должно быть написано мое резюме)

Вы понимаете области видимости JavaScript? Как много

  • глобальная область
  • объем функции

В: Есть ли в JavaScript блочная область?

A: До ES5 не было области видимости блока, ES6 представила эту концепцию.

Разница между let и var

  • var можно повторить, пусть нельзя
  • Область действия переменной let отличается, и нет переменной продвижения.

В: Есть что-нибудь еще

отвечать:...

Что вы знаете о ES6 и какие функции вы использовали?

  • Кратко опишите некоторые из функций, которые я использовал
    • стрелочная функция
    • строка шаблона
    • Class
    • module
    • деструктуризация объекта
    • Promise
    • ......

Обещания понятно? сколько штатов

  • Три состояния:
    • pending
    • fulfilled
    • reject
  • Два процесса:
    • pending -> fulfilled
    • pending -> rejectd

В: Когда обещания войдут в улов? Ответ: Когда ожидание отклонено

Расскажите мне о проекте реагирования в вашем резюме

  • Кратко опишите пункты вашего резюме

Каков жизненный цикл реакции

  • инициализация
    • constructor
    • getInitialProps
    • getDefaultState
    • componentWillMount
    • render
    • componentDidMount
  • процесс обновления
    • componentWillReceiveProps
    • shouldComponentUpdate
    • componentWillUpdate
    • render
    • componentDidUpdate
  • Процесс удаления (это не ответ)
    • componentWillUnmount

Когда использовать componentwillreceiveprops

  • Я не использую много, поэтому я не ответил
  • онлайн объяснение

Использовали ли вы инструменты для сборки? Что делает загрузчик webpack?

  • В проекте используется вебпак
  • Загрузчик используется для компиляции и обработки ресурсов

В: Использовали ли вы другие инструменты сборки?

Ответ: Нет... (gg)

В чем разница между vue и реагированием

  • Открытые вопросы, бесплатная игра

Принцип двусторонней привязки данных vue

  • В основном говорят о реализации на основеObject.defineProperty
  • Кроме того, он также примерно объяснил модель публикации-подписки, в основном Observer, Dep, Watcher и т. д.

Используется ли ajax в проекте родной или какая библиотека используется?

  • Все они используют инкапсулированную библиотеку, основными являютсяaxios

Вы понимаете код состояния http?

  • Кратко рассказал, для чего нужны 2xx, 3xx, 4xx, 5xx.
  • 304 упоминается здесь, поэтому есть следующий http-кеш

При каких обстоятельствах будет возвращен код состояния 304?

  • Этот вопрос сложнее, вот ответ Etag
    • ETag является продуктом HTTP1.1. Сервер вычисляет уникальный идентификатор ресурса с помощью определенного алгоритма, который может быть значением MD5 ресурса. При ответе на ресурс клиенту он добавит «ETag: значение к заголовок объекта. ", возвращается клиенту вместе
    • Клиент сохранит это поле и передаст его серверу в следующем запросе.Сервер принимает значение ETag, отправленное клиентом, а затем сравнивает значение ETag до и после, чтобы определить, относится ли ресурс к клиент, был ли изменен терминал
    • Если он совпадает, сервер вернет код состояния 304 и предложит клиенту напрямую использовать локальный кеш, в противном случае ресурс будет возвращен в обычной форме GET200.
    • Соответствующее поле заголовка
      • If-None-Match: значение ETag
      • If-Match: значение ETag
    • Еще один следующийLast-Modified

В чем разница между http-кэшем, кешем-контролем и etag

  • Хотя ответ здесь, но я чувствую, что ответ не очень хороший
    • Cache-Control имеет много полей заголовка
    • Если кеш, установленный Cache-Control, не истек, вы можете напрямую прочитать кеш из локального, вернуть 200 (из кеша) и не нужно инициировать запрос к серверу.
    • Использование ETag инициирует запрос к серверу, и сервер будет решать, возвращать ли ресурс после проверки
    • ...

В дополнение к etag, последнее изменение знаете?

  • Не ответил, забыл
    • Когда сервер передает ресурс клиенту, он добавит клиенту время последнего изменения ресурса в форме «Last-Modified: GMT» и добавит его в заголовок объекта.
    • Клиент помечает ресурс информацией, и при следующем запросе информация будет возвращена на сервер с сообщением запроса, и сервер проверит, совпадает ли окончательное время модификации ресурса на сервере , ресурс не был изменен, напрямую возвращает код состояния 304, не возвращает контент
    • Соответствующее поле заголовка
      • If-Modified-Since: Last-Modified-value
      • If-Unmodified-Since: Last-Modified-value

Как обстоят дела с междоменными?

  • JSONP
  • CORS
  • прокси сервера
  • and more then...

Каков принцип JSONP?

  • использоватьscriptТег поддерживает междоменные атрибуты, тег script используется для получения метода обертывания данных (эквивалентно возврату куска js-кода), обратный вызов включается в запрос, сервер вводит параметры и возвращает функцию обратного вызова , а затем тег script получает возвращаемое значение. Код js запускает обратный вызов непосредственно между доменами, что требует взаимодействия внешнего и внутреннего интерфейса.

Может ли JSONP использовать почтовый запрос? Зачем?

  • не поддерживается
  • Поскольку тег script поддерживает только запросы на получение...

В чем разница между файлами cookie и локальным хранилищем?

  • Размер данных cookie не может превышать 4 КБ.
  • Файлы cookie передаются туда и обратно между сервером и клиентом.
  • Cookie может устанавливать множество свойств, максимальный возраст, путь, срок действия и т. д.
  • localStorage хранит постоянные данные, и данные не теряются после закрытия браузера, если данные не удаляются активно
  • LocalStorage хранит больше данных

В: Есть что-нибудь еще

Ответ:.....(гг)

Описать блочную модель css

  • Разговор о стандартной модели коробки и странном режиме

Каковы методы достижения вертикального и горизонтального центрирования?

  • flexbox
  • Абсолютное позиционирование + отрицательное значение поля (известная ширина и высота)
  • Абсолютное позиционирование + преобразование отрицательного значения (неизвестная ширина и высота)
  • Абсолютное позиционирование вверху слева справа внизу 0 + поле авто

Q: Используется ли абсолютное позиционирование сверху слева справа внизу 0 + поле, когда известны ширина и высота?

А: Я....забыл

Суммировать

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

4.20 Обновить

следовать заnuggets.capable/post/684490…

Технический запрос документов Nuggets:juejin.cn/post/1