Помните телефонное интервью Али | Техническое эссе Nuggets

внешний интерфейс сервер браузер опрос

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

  • Представьтесь, кратко расскажите о технологиях, использованных в прошлых проектах, какие есть технические трудности и как они решаются?

  • Разница между var и let и const, почему возникает эта разница?
    Как способ определения переменных в ES5, var будет иметь проблему продвижения переменных, и область действия не ясна. ES6 представил let и const. let используется для определения переменных, а const используется для определения констант, которые должны быть определены перед использованием.Проблемы продвижения переменных нет.

  • Как добиться вертикального центрирования блока в браузере? Сколько существует способов?
    (1) Абсолютное позиционирование

.parent{
    position:relative;
}
.child{
    position:absolute;
    top:50%;
    left:50%;
    width:200px;
    height:200;
    margin-left:-100px;
    margin-top:-100px;
}

(2) то же позиционирование

.parent{
    position:relative;
}
.child{
    position:absolute;
    top:50%;
    left:50%;
    transform:translate(-50%,-50%);
}

(3) Позиционирование

.parent{
    position:relative;
}
.child{
    position:absolute;
    top:0;
    left:0;
    bottom:0;
    right:0;
    margin:auto;
}

(4) Когда центрируемый элемент является встроенным или встроенным блочным элементом.

.parent{
    display:table-cell;
    text-align:center;
    vertical-align:middle;
}

(5) гибкий макет

.parent{
    display:flex;
    justify-content:center;
    align-items: center;
}
  • Как вы относитесь к модульности? В чем разница между cmd и amd? Помимо amd и cmd, какие еще есть способы загрузки? Как узел загружает модули? обычные? Метод загрузки ES6.
    Ответ: 1. AMD учитывает предварительную зависимость, и при определении модуля она должна объявить модуль, от которого он зависит. 2. CMD учитывает ближайшую зависимость. Только когда модуль используется, он должен быть обязательным. свои преимущества и недостатки, но есть грамматический пробел, и оба requireJS и SeaJS поддерживают написание друг друга. Самая большая разница между AMD и CMD заключается в том, что время выполнения зависимых модулей отличается. Обратите внимание, что это не время или метод загрузки. Все загружаются асинхронно. Подробное объяснение было найдено в статье из ИнтернетаРазговор о понимании модульности
  • Что происходит, когда веб-адрес вводится в адресную строку браузера? Каковы конкретные процедуры?
    отвечать:
    • 1. Браузер откроет поток для обработки запроса, и если URL-адрес будет проанализирован и оценен, он будет обработан в соответствии с веб-методом, если это протокол http;
    • 2. Вызовите соответствующий метод в ядре браузера, например, метод loadUrl в WebView;
    • 3. Получите IP-адрес веб-сайта через разрешение DNS, установите UA и другую информацию для отправки второго запроса GET;
    • 4. Провести сеанс протокола HTTP, и клиент отправляет заголовок (заголовок запроса);
    • 5. Войдите в веб-сервер на веб-сервере, таком как Apache, Tomcat, Node.JS и другие серверы;
    • 6. Введите развернутые серверные приложения, такие как PHP, Java, JavaScript, Python и т. д., чтобы найти соответствующую обработку запроса;
    • 7. Обработка завершается и возвращается заголовок обратной связи.Если браузер обращался к нему и в кеше есть соответствующие ресурсы, он будет сравниваться со временем последней модификации сервера.Если он непротиворечив, он вернет 304 ;
    • 8. Браузер начинает скачивать html-документ (заголовок ответа, код состояния 200) и при этом использует кеш;
    • 9. Устанавливается дерево документов, и файлы типа MIME (такие как css, js) указываются в соответствии с запросом тега, и одновременно устанавливается файл cookie;
    • 10. Страница начинает отображать DOM, JS обрабатывает DOM в соответствии с DOM API, выполняет привязку событий и т. д., и отображение страницы завершено.

В качестве альтернативы вы можете ответить так:
Браузер отправляет запрошенный URL в разрешение доменного имени DNS, находит реальный IP и инициирует запрос к серверу, сервер возвращает данные после завершения фоновой обработки, и браузер получает файл (HTML, JS, CSS, изображения и т. д.); Загруженные ресурсы (HTML, JS, CSS и т. д.) анализируются и устанавливается соответствующая внутренняя структура данных (например, HTML DOM); загружаются проанализированные файлы ресурсов, отображается страница и завершение завершено.

  • Отличия, преимущества и недостатки grunt, gulp, webpack

  • Может меньше выполнять расчеты? Могу

  • Ядро, компоненты браузера?

  • Разница между reset и rebase в Git?
    Git часто используемые команды, какую команду отменить? git revert commitID, перебазировать историю коммитов слияния, сбросить отмену последних коммитов.

  • Каковы распространенные методы совместимости браузеров? С какими проблемами совместимости вы столкнулись?

  • Вариативное продвижение? Разница между объявлением функции и выражением функции

//函数声明
function A(){
    ....
}
//函数表达式
var change=function(){
    ...
}
  • Глубинный принцип гибкости? Каковы совместимые методы?
  • Решение междоменной проблемы, принцип?
    (1) CORS требует, чтобы сервер установил заголовок: Access-Control-Allow-Origin
    (2) jsonp требует, чтобы целевой сервер взаимодействовал с функцией обратного вызова
    (3) postMessage + iframe требует, чтобы целевой сервер или целевая страница написали сообщение postMessage, в основном с упором на интерфейсную коммуникацию.
    (4) Обратный прокси-сервер Nginx, вам необходимо создать сервер Nginx для пересылки запросов.
    (5) window.name+iframe, целевой сервер должен ответить на window.name
    (6) window.location.hash+iframe также должен обрабатываться целевым сервером.

Я не могу четко вспомнить многие вопросы. Мы разговаривали друг с другом около часа. Первое телефонное интервью длилось так долго. Интервьюер так много работал. Ха-ха

Некоторые ответы могут быть неточными, надеюсь, вы успокоитесь.
Ссылка на деятельность по техническому сертификату Nuggets:juejin.cn/post/1