Предварительное собеседование и опыт стажировки в Didi

Байду внешний интерфейс React.js опрос

исходный адресВ моем блоге просьба указывать источник при перепечатке, спасибо!

С летних каникул во втором семестре второго курса (7.14) до начала августа я искал стажировку, чтобы потренироваться и посмотреть, как у меня дела. В этот период я ​​один за другим брал интервью у Xiaomi, Tuniu, Didi и Baidu, и все они получили предложения о стажировке. Среди них Baidu получил два предложения стажировки, но по каким-то своим причинам я пропустил встречу. (Я искренне извиняюсь перед Baidu здесь. Я очень дорожу этими двумя возможностями, но у меня нет другого выбора, кроме как столкнуться с непреодолимыми причинами. Я буду голосовать снова, если у меня будет такая возможность в будущем (˶‾᷄ ⁻̫ ‾᷅˵)) Стажировка в Didi — редкий опыт. У меня не было времени поделиться этим во время стажировки, но это было отложено до сих пор... Тогда в этой статье я поделюсь своим интервью и опытом стажировки.

опрос

Некоторые из них не могут вспомнить, в конце концов, это было слишком давно...

Просо

  • Расскажите нам о своем опыте обучения фронтенду
  • Левая и правая стороны CSS фиксированные по ширине, а средняя адаптивная, есть несколько схем.
  • Анимация CSS3, что вы знаете о свойстве перехода?
  • Подскажите, как вы настраиваете webpack в своем проекте
  • Как определить, является ли переменная истинной или ложной
  • Дедупликация массива требует временной сложности O (n)
  • код состояния http, что такое 304
  • междоменный подход
  • Другого не помню...

Туниу

  • Какие типы возвращают оба typeof и что возвращает typeof null и почему?
  • В чем разница между cookie и сеансом
  • Вы действительно писали и решали междоменные проблемы?
  • Какие функции ES6/7 были использованы
  • Расскажите о некоторых распространенных API и принципах обещаний.
  • Характеристики React, потом спроси принцип, потом спроси где привет
  • Разница между кучей и стеком
  • Другого не помню...

Диди

  • Какие стеки технологий React используются для проектов?
  • Принципы функций React, виртуальный дом, различия, синтетические события и согласование
  • Зачем устанавливать ключ для компонента списка?
  • Вы читали исходный код React?
  • Какие библиотеки управления состоянием вы использовали, я сказал Redux, а затем спросил, как Redux управляет React и как вы использовали Redux для структурирования своего проекта.
  • Каковы преимущества и недостатки Redux
  • Знаете о визуализации данных? Вы делали что-нибудь подобное?
  • Вы знаете узел
  • Я не могу вспомнить другие... Короче говоря, все они спрашивают о стеке технологий React, и фреймворк явно хочет, чтобы вы пришли и работали напрямую :)

Baidu (отдел карт)

  • Вы стажер в Didi, почему вы хотите перейти в Baidu? (блаблабла... хвалил Baidu)
  • Что ты делаешь, ДиДи? Что вы использовали (визуализация данных и ваши диаграммы (/ω\))
  • Итак, вы знаете, где можно оптимизировать графики? Вы читали его исходный код?
  • Особенности React, принципы и выдающиеся идеи React
  • Как вы использовали стек архитектуры Redux
  • Я вижу, что вы используете Redux-saga, в чем ее преимущество перед переходниками и промисами?
  • Какие новые функции и принципы обещаний ES6 вы использовали?
  • Несколько методов междоменного
  • Сталкивались ли вы с трудными для вас проблемами в этом проекте и как вы их решали?
  • Что ты хочешь у меня спросить? (Обычно спрашивайте стек технологий отдела, рабочую атмосферу)
  • Остальные не помню...

Baidu (отдел бренда кампуса)

  • Познакомьтесь с внешним интерфейсом
  • Как вы обычно используете css для управления макетом страницы, я сказал сетку и спросил, как реализована сетка
  • Анимация CSS3, переход, трансформация, холст, svg
  • В чем разница между sass и less?
  • Каковы характеристики javascript, я сказал слабый тип, однопоточный, управляемый событиями, есть следующие
  • Как вы понимаете событийно-управляемые механизмы?
  • Вы использовали делегирование событий? Как это используется?
  • Хм... какие новые функции были использованы в ES6? Я упомянул стрелочные функции, поэтому и спросил
  • В чем разница между стрелочными функциями и анонимными функциями ES5? Я упомянул об этом моменте, а затем продолжил спрашивать
  • Каков принцип автоматической привязки этого к стрелочным функциям?
  • Хм... Как вы настроили webpack в этом проекте? Вы использовали глоток? В чем разница между веб-пакетом и глотком?
  • Отличительные особенности React
  • Как создать удаленную ветку с помощью git
  • Как много вы знаете о командах Linux?
  • Как перевернуть связанный список?
  • других не помню....

Суммировать

В целом, из-за особого периода собеседования, сложность собеседования будет намного ниже, чем у весенней стажировки и набора в школу.

Интервью будут спрашивать вокруг вашего резюме, поэтому важно написать и подготовить свое резюме хорошо.

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

Фронтенду необходимо овладеть широким спектром знаний, но некоторые из них необходимы для построения проекта.Лучше всего культивировать собственный всеобъемлющий базовый стек технологий, которого может быть достаточно для формирования базовых способностей построения общеинженерных проектов, и тогда копай глубже.

В соответствии с текущей ситуацией глубокое понимание фреймворка необходимо, но не обязательно.

Вопросы по алгоритму фронтенд-интервью задаются меньше (крупные компании задают больше), но не говорите мне, что вы не умеете искать, сортировать, удалять дубликаты, проходить бинарные деревья...

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

Желаю всем удачи в поиске желаемой стажировки и работы.

упражняться

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

Во время стажировки я участвовал в двух проектах, один из которых представлял собой вычислительную платформу Didi в реальном времени, а другой — платформу управления Druid.

Платформа вычислений в реальном времени, ориентированная на внутренних инженеров Didi, представляет собой платформу, которая опирается на массивные данные Didi для выполнения вычислений в реальном времени, планирования задач, автоматического мониторинга сигналов тревоги и т. д. Проект очень большой, и он это было сделано в течение года.Что я делаю, так это визуализирую и интернационализирую некоторые данные, за которые я несу ответственность;

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

Самый большой опыт это

  • Нужно иметь предельную погоню за продуктами, не допуская ошибок, не терпя громоздких операций и учитывая все возможные операции
  • Осознали важность производительности при больших объемах данных и стали уделять внимание оптимизации производительности.
  • Чтобы написать надежную программу с учетом того, что любые данные могут быть сгенерированы в фоновом режиме, необходимы проверка типов, обнаружение нулевых значений и попытка перехвата.
  • Хорошая работа по прогрессивному улучшению, функциональной развязке и разделению компонентов может отражать способности и уровень программирования человека.Самое табу - это вставить кусок кода, написать его до смерти, и это все ваше собственное,
  • Отладка очень важна, имейте привычку писать отладчик
  • Всегда будьте готовы принять новую технологию, даже если вы никогда о ней не слышали, пока проект нуждается в ней, вы должны немедленно приступить к работе (моя группа по-прежнему любит использовать новые технологии, пока они просты в использовании, лицензия соответствует этому)
  • Интерфейсные документы, отделенные от передней и задней частей, соответствуют спецификации, что может уменьшить количество ненужных вещей.
  • Управление проектами, гибкая разработка - хороший способ
  • Процесс разработки проекта в моей группе обычно таков: начальник не знает, где взять требование (может быть, устроено начальством, многие из них являются их собственными мыслями...), а затем все участники встречаются, чтобы обсудить требования и поставленные задачи, и каждый участник пишет расписание, серверная часть определяет конкретные требования и интерфейсы, клиентская часть сотрудничает с серверной частью, чтобы начать вместе, и каждую неделю сообщает о ходе выполнения задач...
  • Для фронтенда вам не нужно заботиться об изменении спроса, наша конечная цель — сделать этот продукт лучше, верно?
  • Стажеры редко вступают в контакт с продуктами C, большинство из них для внутреннего персонала, потому что ошибки легко обсуждать...
  • В моем отделе довольно много женщин-инженеров, что меня очень удивило (без обид)...
  • Думаю добавить еще (/ω\)

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