Писания лица Али p6

опрос

После ухода из предыдущей компании в 2017 году я попытался пойти на собеседование к Али, но мне было холодно, прежде чем я попал в штат~ Я пробыл в Scallop более 2 лет, как раз к тому времени, когда срок действия арендованного дома истек, поэтому Я подумал Давай попробуем еще раз, и оказалось, что я получил предложение р6 довольно гладко. Я воспользовался тем, что я сижу дома и никуда не пускают. Я разберусь с процессом собеседования. Я надеюсь, что это может помочь всем~

одна сторона

  1. Само введение

Я опущу это здесь. Как правило, время для представления себя не должно быть слишком длинным. Просто скажите это кратко~

  1. Консультирование проекта от мелкого до глубокого

Поскольку я относительно рано участвовал в небольших программах в текущей компании, и в то время не было зрелого решения для онлайн-мониторинга, поэтому мы сами создали систему онлайн-мониторинга ошибок, а затем я взял этот проект в качестве примера, интервьюер будет тщательно Начал спрашивать с идеи дизайна, принципов работы и т.д., и спросил, как решить медленный запрос данных back-end.Время на эту задачу составляет больше половины времени интервью, а дальше полученный опыт заключается в том, что каждый должен проектировать фактически сам.И реализация некоторых проектов,мы не можем оставаться на уровне смотреть на мастеров и не реализовывать их.Если бы этот проект не был инициирован мной и лично реализовал некоторые из процессов в нем можно легко застрять, а проблемы, возникающие в процессе его выполнения, все очень сложные.Ценный опыт, конечно, тоже часть роста~

  1. Краткое введение в модуляризацию внешнего интерфейса, модуль amd, cmd, commonjs es6

Это очень смущает, потому что наша нынешняя компания напрямую использует esm, а мы действительно не использовали библиотеки классов проектов amd и cmd во front-end проектах, а потом очень нервничаем (с одной стороны, мы так нервничаем, что мы задыхаемся от слов, ха-ха), а дальше говорили только про одно - синхронная загрузка, а другое - асинхронная загрузка. Я не говорил, что одно предзависимость, а другое соседняя зависимость. Интервьюер тоже был очень мило Услышав, что я немного нервничаю, я не стал продолжать спрашивать, сказав Слово утешения для меня - сейчас это не очень полезно~, хахаха

  1. Какой модуль commonjs и es6 поддерживает асинхронность

Тогда я задал этот вопрос, эммм.. На тот момент я почти не оправился, я спокойно анализировал волну, а потом подумал, что мы делаем асинхронную загрузку реактивных компонентов в нашем недавнем проекте, и подумал, что версия es10 добавила асинхронный метод import() для загрузки Введите модуль, поэтому ответ, несомненно, в том, что esm в настоящее время поддерживает асинхронный режим, на самом деле, вернитесь и подумайте об этом, если вы используете метод исключения, это также очень просто, потому что спецификация commonjs в основном используется для уровня узла, а уровень узла для загрузки модуля представляет собой не что иное, как чтение и запись файлов, поэтому вообще не обязательно поддерживать асинхронную загрузку, чтение и запись io сама по себе очень быстрая~

  1. Связь между асинхронным ожиданием и обещанием

Этот вопрос был вопросом, на который я не очень хорошо ответил, когда впервые брал интервью у Али, поэтому интервьюер задал конкретно мне. Конечно, сейчас этот вопрос относительно прост. Async await — это комбинация функций обещания и генератора. синтаксический сахар, это ни о чем не говорит~

  1. Диктуйте код, реализуйте полифилл promise.all

Меня еще может беспокоить, что я не очень знаком с этой темой, поэтому я задал сопутствующий вопрос. Это относительно просто. Я написал код напрямую. В то время это было устно, и идея была той же;

Promise.myAll = function(...args){
     const result = [];
     let isFail = false;
     let errInfo;
     let j = args.length;
     for (let i = 0; i < args.length; i++){
         // 如果有错误就停止循环 
         if(isFail) {
            return Promise.reject(errInfo);
         };
         // 挨个运行promise
         args[i].then(res => {
            // 处理结果
            result.push(res); 
            j--;
            if(j === 0){
                return Promise.resolve(result);
            }
         }).catch(err => {
            // 设置停止循环的标志,存储错误信息
            isFail = true;
            errInfo = err;
         })
     }
}
// 以上都是未经运行未经测试的伪代码,可能有问题,大致思路就这样~
  1. Гибкая компоновка, фиксированная высота, фиксированная ширина слева, адаптивная справа?

Это относительно просто.Гибкий макет устанавливает display: flex для родительского элемента, flex: none для левого дочернего элемента, width: 100px и flex: 1 для правого дочернего элемента.Конечно, могут быть и другие способы, этот должен быть самым простым~

  1. Если дочерние элементы не могут наследовать 100% высоты, как добиться полноты?

В то время я не ответил на то, что имел в виду интервьюер, я спросил, хочу ли я гибкий макет по вертикальной оси? Тогда интервьюер сказал, что да. . Хорошо, это закончилось. Я был ошеломлен.После того, как я вернулся, я подумал об этом.Интересно, означает ли это, что если дочерний элемент не может наследовать 100% высоты, его можно комбинировать с методом позиционирования, например, относительно родительского элемента, дочернего абсолютный элемент, а затем все четыре позиции равны 0? Я не знаю, что это значит~ Я не могу понять~

  1. понимание ТС

ts используется не так много, потому что большинство наших проектов основано на h5, во-первых, логика не очень сложная, потому что каждая часть имеет максимум три-четыре страницы и в основном не имеет ничего общего с другими частями, бизнес-решениями. не очень подходят для ts, поэтому я не продвигал его в команде, но есть проекты в бэкграунде, то есть управленческая сторона использует ts, поэтому я вкратце рассказал о преимуществах и недостатках ts и js~

  1. Какова функция универсального типа ts

Я не знал, что ответить, потому что я мало использую ts, и дженерики используются не так много, но потом я подумал о дженериках в java, плюс подсказки трубки интервью, ответ, который я дал, было решением generics Немного сложно сказать, что тип может сохранять один и тот же тип от начала до конца в каждой сцене в разных сценариях, но это то, что это значит~

  1. Что бы вы сделали, если бы нужно было использовать другую группу систем мониторинга, а их потребности не были бы удовлетворены?

Я не сразу понял, что хотел спросить интервьюер, поэтому сказал много.Например, это зависит от того, есть ли у вашей команды время, является ли требование разумным, и является ли требование индивидуальным требованием или более общий.потребности и т. д. Я дал свой план, как поступать в различных ситуациях, и тут интервьюер прервал меня и сказал, что это не то, что я имел в виду, а спросил, сделаете ли вы это или это сделает другая группа ? Я сказал, что счет зависит от расстановки вещей и времени, а потом все кончено~

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

две стороны

Кажется, два дня спустя, два сеанса наступили, два сеанса начались только после 20:00, поэтому интервьюер изначально планировал говорить полчаса, но в итоге наговорил слишком много.

  1. Создайте компонент, который можно перетаскивать, а затем обменивать, чтобы дать идеи.

эммм, их много в инете, они в основном про перетаскивание API, а как переносить данные, я не буду их распространять~

  1. Если есть 2 команды, одна команда хочет использовать библиотеку классов другой команды и все еще хочет добавить ее, когда она используется, что мне делать?

эммм. . Позвольте мне сначала сказать ответ.Это использование внешних элементов в веб-пакете для настройки асинхронного импорта cmd.Это ответ интервьюера, но я помню, что интервьюер не упомянул об использовании веб-пакета в начале.О чем я думал о том, как асинхронно добавлять зависимости, я говорил, что их можно публиковать на собственном приватном сервере npm, а потом их устанавливает другая команда, и использует импорт для асинхронной загрузки. . Балабала говорил долго, пока интервьюер, наконец, не сказал, знаете ли вы внешние особенности вебпака? Я только что отреагировал~эмммм, хорошо~

  1. Какие вопросы вы рассматриваете при разработке компонента?

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

  1. Возвращаясь к проекту в моем резюме, суть этого проекта заключается в том, чтобы позволить операциям и продуктам заменить контент, такой как графические ресурсы и копирайтинг, на странице онлайн-мероприятия или целевой странице, а также функцию замены фиксированной точки. это интервью Он не был полностью реализован, но сейчас запущена простая версия, и ее можно использовать, ожидая последующих итераций.Этот проект задавал простую идею, и я собирался описать кеш, который мы сделали в узле Интервьюер сказал, что я понял, эммм, может быть, уже слишком поздно, ха-ха

Вторая часть закончилась.Посмотрев время,через пол часа я в основном застрял на второй теме,а в вебпаке не прошел от начала до конца.Это действительно мои собственные размышления.В вышесказанном мы мы очень мало настроили через экстерналы webpack'а. В основном это было введено как простой jquery. Позже, для удобства, мы напрямую устанавливали зависимости через npm. На самом деле, это все еще зависит от сцены. Иногда лень действительно проблема~~

Три стороны

Примерно через три дня пришло уведомление с трех сторон: три стороны были боссами p8, и они не спрашивали о базовых знаниях от начала до конца;

  1. Само введение

Пропускать. .

  1. Каковы ваши основные предприятия?

Кратко расскажите о бизнесе, которым вы занимаетесь в компании. . .

  1. Почему вы считаете, что ваш продукт лучше чужого бизнеса?

这个问题涉及到一些产品的核心业务的卖点,没多说,讲了一点点。 .

  1. Поскольку вы руководите проектом, как вы обычно координируете ресурсы?

Много говорил. .

Я не помню следующие несколько вопросов, они в основном связаны с бизнесом, а также с тем, как общаться и сотрудничать с продуктами и операциями. .

Эти три аспекта в основном связаны с бизнесом. Подводя итог, я думаю, что чем больше вы идете на более поздние собеседования, тем больше вы сосредотачиваетесь на бизнесе. Эти вещи не то, что вы можете получить путем зубрежки. Если вы не делаете больше о том, что вы делаете Поймите, что если вы не думаете о бизнесе, это может быть круто в этой ссылке Я всегда говорил, что каждая разработка должна быть разработкой с душой, и не очень определяйте себя как ферму кода машина.Нужно добавить собственное мышление.Например,у нас должно быть свое понимание полученных потребностей,как помочь взыскателю более совершенно реализовать потребности,что нужно сделать,а какие потребности являются псевдотребованиями,которые неразумны.Это должно быть у каждого.Учиться и осваивать,хотя бы в знакомой ссылке разбираться досконально~

четыре стороны

Тоже было около трех дней, и со всех сторон посыпались уведомления.Он босс p9,чуть старше чем я думала хаха,так что друзья не надо переживать что мы едим молодежную еду,давайте усердно работать~

  1. Что такое h5?

Это html-версия истории, это протокол, который указывает, какая поддержка html5, какие функции не поддерживаются;

  1. Дайте несколько новых возможностей h5

Многие, такие как носители, хранилища и т. д.

  1. Я вижу, вы сделали небольшие программы, что вы думаете о связи между небольшими программами, веб-просмотром и h5?

Сначала я был немного сбит с толку. Я думал, что это должно быть что-то совсем другое. Позже я вкратце рассказал о небольших программах. Веб-просмотры относятся к категории контейнеров. Их можно использовать для переноса html-контента, но маленькие программы отличается от стандартных webviews. , который имеет свой собственный уникальный синтаксис, похожий на html, и так далее. . .

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

родной + webview и мелкие программы, только фоновые элементы на стороне браузера, не так много

Я не помню следующих вопросов, но чувствую, что вопросы со всех сторон относительно просты, и время невелико, всего около 20 минут, вероятно, потому, что вот-вот сработает ночью~

Суммировать

Третья и четвертая стороны - все видеоинтервью. Я ждал онлайн за десять минут до начала. Во время разговора интервьюер может видеть ваши слова и дела. Вы должны обратить внимание на окружающую среду, и дать интервью. Произведите хорошее впечатление~

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

Наконец, медицинский осмотр, коррекция спины и т. д., я успешно получил предложение, а также получил желаемую зарплату. Я специально поделился всем содержанием интервью, которое смог придумать. Давай, я ищу работу в Нанкине. , и я хочу сменить работу на Али. , или если вы хотите обменяться опытом интервью, если вы хотите получить какой-то личный опыт, эммм, и если вы хотите обменяться технологиями, вы можете подписаться на этот официальный аккаунт, чтобы учиться и общаться вместе ~ (ps: В официальном аккаунте есть резюме автора для ознакомления)

напиши в конце

Давай, Ухань, давай, Китай, все это пройдет~