Обмен интервью: 1-летний опыт предварительного изучения внешнего социального найма

опрос

Эта статья была впервые опубликована вмой гитхаб.

В середине года я решил покинуть свою нынешнюю компанию и хотел быть побежденным внешним миром. Я также встретил 2 хорошие компании (ByteDance и Pinduoduo), и я поделюсь ими здесь.

ByteDance

Байт-битинг техническое интервью проводится в виде видео-интервью.

Раунд 1

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

1.2 Базовые знания js

В основном изучите основные типы в js,typeofа такжеinstanceofЖдать.

1.3 ==а также===судить

Обычные вопросы сравнения типа, базовое сравнение.

[] == false
false == false
[1] == [1];
1 === "1";

1.4 Ручная функция подавления дребезга

function debounce(func, wait, immediate) {
  let timeout;

  const debounced = function() {
    const context = this;
    const args = arguments;
    const later = function() {
      timeout = null;
      if (!immediate) {
        func.apply(context, args);
      }
    };
    const callNow = immediate && !timeout;
    clearTimeout(timeout);
    timeout = setTimeout(later, wait);
    if (callNow) {
      func.apply(context, args);
    }
  };

  debounced.cancel = () => {
    clearTimeout(timeout);
  };

  return debounced;
}

1.5 Что происходит с браузером после ввода URL

1.6 Рукописное наследование (ES5, ES6)

1.7 Проблема алгоритма: js вычисляет четыре арифметические операции Строка "1 + 2 * 3 + 3/3"

Раунд 2

2.1 Расскажите о понимании Vue и React

2.2 Почему vue продолжает использовать заброшенный механизм примесей react

2.3 Как js выполняет анализ производительности

2.4 Как проектировать общие компоненты и бизнес-компоненты

2.5 оптимизация упаковки веб-пакета

2.6 Как общаться между двумя процессами? Что делает маска подсети?

вдруг спросилоперационная системаа такжекомпьютерная сетьзнание (забывая свет).

2.7 Разница между кодами состояния HTTP 204 и 304

2.8 Реализацияsumфункция

sum(1) == 1;
sum(1)(2) == 3;
sum(1)(2, 3, 4)(5) == 15;

Обратите внимание, что этот вопрос экзамен илинеявное преобразование.

function sum(...args) {
  let value = 0;

  function innerSum(...args) {
    value = args.reduce((a, c) => (a += c), value);
    return innerSum;
  }

  innerSum.valueOf = function() {
    return value;
  };

  return innerSum(...args);
}

2.9 Как зависимости в package.json контролируются версиями

2.10 Проблема алгоритма: сумма трех чисел в массиве js

Раунд 3

3.1 Выберите вводную информацию о проектах, над которыми вы работали ранее

Этот вопрос обращает внимание на понимание и понимание всего проекта.

  1. Предыстория проекта
  2. Как выполнялся проект, какие проблемы возникали в процессе и как их решить
  3. Как проект обеспечивает качество кода (модульные тесты, спецификации кода, спецификации коммитов, автоматическая непрерывная интеграция и т. д.)
  4. Контроль версий проекта

3.2 Принцип отзывчивости Vue

3.3 Что такое компоненты высшего порядка в React?

основной осмотрHOC, укажите, какие компоненты более высокого порядка были написаны и каковы их функции.

3.4 Режим наблюдения за рукописным вводом

Пиндуодуо

Раунд 1

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

1.2 Знакомство с предыдущими проектами

1.3 Разница между ключевыми словами break, continue и return в js

1.4 Какие типы данных есть в js

1.5 Какие свойства есть у оконного объекта

1.6 Разница между свойством html и атрибутом

1.7 Какие есть методы массива в es6?

1.8 Какие новые структуры данных появились в es6? Какая разница?

1.9 Что такое модели css box? разница?

1.10 Как очистить поплавок в css? Каков принцип?

1.11 Что такое CSS BFC?

1.12 Как оптимизируется веб-пакет (например, оптимизация скорости сборки, оптимизация кода и т. д.)

1.13 Как написать плагин для веб-пакета?

1.14 Как реализован загрузчик в webpack? (например, vue-загрузчик)

1.15 Как определить модель данных vuex и как записать побочные эффекты между моделями данных?

1.16 Расскажите о своих знаниях Vue и React

1.17 Некоторое понимание rxjs, как регулировать запросы

1.18 Узнайте, какие новые передовые технологии

Раунд 2

Возможно, 1-я сторона задавала слишком много вопросов, а 2-я сторона была легкой и короткой.

2.1 Понимание React и Vue

2.2 Поговорим о хуках React

2.3 Почему таймер (setTimeout) неточный и как это решить

2.4 Разговор о функциональном программировании

2.5 Расскажите о предыдущих проектах

Как и ByteDance, изучите общее понимание и понимание проекта.

Суммировать

Собеседования в обе компании не очень сложные (хотя может это из-за того, что у меня всего 1 год опыта работы), но послевкусие еще не закончено.Всегда вспоминаю учителя математики в старшей школе, когда он раздавал бумажку и говорил грустно "Посмотрите на это. , как просто, 150 статей, минимум 120 - это основные вопросы, почему вы ничего не знаете."

Наконец-то надеюсь, что еще через 2 года смогу перейти на Али.