Первый опыт интервью с цыпленком 🐔, дорога к аутизму постепенно уходит... 🏃‍♂️

интервью

предисловие

Сейчас я младший и хочу найти стажировку, чтобы заниматься спортом летом, поэтому я также добавил свое резюме и попробовал его для собеседования. Эммм, я чувствую, что я все еще слишком ленив. Мне действительно нужно укрепить себя , особенно с точки зрения алгоритмов, это очень плохо. Все, поторопитесь и проголосуйте недавно! ! Партии заранее! Он не будет включен в систему, если он зависнет! Работайте усерднее в будущем! ! Утка! !

Если вам интересно, вы можете взглянуть на те знания, которые я собрал, это может быть полезно ~ Желаю вам скорейшей стажировки! ! ! nuggets.capable/post/684490…

Кстати, Amway сделает небольшой проект~ Хи-хи, надеюсь пройти мимо и поставить звезду!

большое спасибоCVTEПозвольте мне получить первое предложение в моей жизни

Суммировать

  • Подводя итог заранее, эти интервью заставляют меня чувствовать себя эммм, все они уделяют больше вниманиякомпьютерная сеть,информационная безопасность,Рамочный принципзнаниеHTTP-протокол,TCP-рукопожатие,Всякие сетевые штучки...Ах, много, много, основная часть, каждый раз, когда я могу спросить что-то новое, чего не могу, я плачу

  • Короче говоря, у emmm все еще есть хорошая основа, и на принцип фреймворка и аспекты узла также нужно обратить внимание. Затем интервьюер просматривает резюме и в основном спрашивает на основе резюме.Так что, если вы незнакомы и не уверены, не пишите об этом в резюме! ! !

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

  • обычно спрашиваю тебякак научитьсяФронтенд, а затем какие статьи вы читаете в последнее время, о каких новых горячих точках знаний вы узнали в последнее время и т. д. Обычное накопление также очень важно, и тогда вы также будете задавать вопросы, основанные на том, что вы сказали, поэтому, если у вас есть способность, вы также можете просмотреть и направить интервью Чиновник приходит, чтобы спросить, в чем вы хороши хахахаха (ручная собачья голова)

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

Сторона CVTE (сверху)

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

  1. В основном спрашивают о проекте
  2. основы js
  3. компьютерная сеть

ЦВТЭ двусторонний (сверху)

Что касается видео, эта сторона все еще немного нервничала. Внезапно я увидел красивого парня в маске, но мы поболтали, а затем в основном говорили о проекте. Затем я задал несколько вопросов о функции проекта, и нашел несколько недостатков. Я очень благодарен этому интервьюеру. Я очень терпелив, чтобы направлять меня, когда я не могу решить проблему алгоритма. Я тронут. Есть некоторые детали и глубокое понимание. Не смущайте меня, просто объясни мне это, здорово!

  1. Главное спросить о проекте
  2. Связанные с браузером (кеш, хранилище)
  3. вопросы по реальной ситуации
  4. проблема алгоритма
// 根据实例输入输出矩阵规律完成以下 matrix 函数:
function matrix(n) {

}

matrix(n).forEach((item, i) => {
    console.log(item);
});


// 示例 1
// 输入: 3 or 4
// 输出: 
// [ 0, 2, 0 ]
// [ 2, 1, 2 ]
// [ 0, 2, 0 ]

// 示例 2
// 输入: 5 or 6
// 输出: 
// [ 0, 0, 3, 0, 0 ]
// [ 0, 3, 2, 3, 0 ]
// [ 3, 2, 1, 2, 3 ]
// [ 0, 3, 2, 3, 0 ]
// [ 0, 0, 3, 0, 0 ]

// 示例 3
// 输入: 7 or 8
// 输出: 
// [ 0, 0, 0, 4, 0, 0, 0 ]
// [ 0, 0, 4, 3, 4, 0, 0 ]
// [ 0, 4, 3, 2, 3, 4, 0 ]
// [ 4, 3, 2, 1, 2, 3, 4 ]
// [ 0, 4, 3, 2, 3, 4, 0 ]
// [ 0, 0, 4, 3, 4, 0, 0 ]
// [ 0, 0, 0, 4, 0, 0, 0 ]

Страдает все-таки алгоритм.Этот вопрос не был написан.Собеседник подал некоторые идеи,предполагая,что нужно решить только одну четверть,а потом ее можно перевернуть.Хоть и подсказывают,но все равно не получается.Хахаха ,после собеседования попробовал.Сделайте(спасибо интервьюеру что не завис!)

Следующее основано на том, что интервьюер делает это стук подсказок, считается хорошей первой четвертью, затем флип сращивания

function matrix(n) {
  // 求长度
  let len = Math.ceil(n / 2)
  let arr = Array.from({ length: len }, _ => Array.from({ length: len }, __ => 0))
  let temp = null
  // 算出四分之一的矩阵
  for (let i = 0; i < len; i++) {
    for (let j = 0; j < len; j++) {
      if (i + j >= len - 1) {
        arr[i][j] = len * 2 - i - j - 1
      }
    }
  }
  // 水平翻转,搞定上半部分
  for (let row = 0; row < len; row++) {
    temp = [...arr[row]].reverse().splice(1)
    arr[row] = arr[row].concat(temp)
  }
  // 垂直拼接
  temp = [...arr].reverse().splice(1)
  arr = arr.concat(temp)
  return arr
}

ByteDance (Благодарственное письмо получить√)

В видео алгоритм понес большой урон.Задавался весь вопрос, а потом объяснялись разные точки знаний, вопросы и т.д.Алгоритм давал подсказки и так и не смог этого сделать.Увы, слишком тупо.
(Почему ты не дал мне благодарственное письмо!!! Дай мне иллюзию, что меня можно поймать!!!)

Я ежедневник, который проголосовал на официальном сайте, не знаю, из-за внутренних рефералов или нет, чувствую, что сейчас повешу трубку, но благодарственное письмо запаздывает, и я врываюсь в слезы. , крик (Ах, алгоритм! Мойся внутри!)

Это основные, которые я, наверное, запомнил.

  1. Блочный элемент центрируется по горизонтали и вертикали

Здесь я использую два, одинtranslate + absolute, другой — использовать flex для изменения стиля тела. Здесь обратите внимание наheightУстановить как100vhВ противном случае он не будет центрирован по вертикали.

<body>
    <div class="block"></div>
</body>
  1. Прочитайте код, чтобы объяснить причину, а затем расскажите о точках знаний, таких как цикл событий браузера и цикл событий узла.
console.log('begin')
setTimeout(() => {
  console.log('setTimeout 1')
  Promise.resolve().then(() => {
    console.log('promise 1')
    setTimeout(() => {
      console.log('setTimeout2 between promise1&2')
    })
  }).then(() => {
    console.log('promise 2')
  })
}, 0)
console.log('end')

// 答案是
/*
  begin
  end
  setTimeout 1
  promise1
  promise2
  setTimeout2 between promise1&2
*/
  1. Реализация суммирования (каррирование)
sum(1)(2)(3).sumOf() // 6
sum(1, 2)(3).sumOf() // 6
sum(1, 2, 3).sumOf() // 6

// 一下为答案
function curry() {
  let argsList = [...arguments]
  let fn = function () {
    argsList.push(...arguments)
    return fn
  }

  fn.sumOf = () => argsList.reduce((a, b) => a + b)

  return fn
}

let sum1 = curry()
let sum2 = curry()
let sum3 = curry()

console.log(sum1(1, 2, 3).sumOf())
console.log(sum2(1)(2)(3).sumOf())
console.log(sum3(1, 2)(3).sumOf())
  1. Прочитайте программу, объясните, почему, а затем обсудите различные вещи, такие как контекст.

Я тут накосячил, не заметил, что функция передалаaИди в хахахаха, а затем скажи это9 18 27, стыдно~

var result = []
var a = 3
var total = 0
function foo(a) {
  var i = 0
  for (; i < 3; i++) {
    result[i] = function () {
      total += i * a
      console.log(total)
    }
  }
}

foo(1)
result[0]()
result[1]()
result[2]()

// 答案是 3 6 9
  1. Алгоритм достижения полной перестановки
输入"abc"返回他的全排列组合

以下为答案
var permute = function (nums) {
  let path = []
  let visited = Array.from({ length: nums.length }, _ => false)
  let res = []
  DFS(nums, 0, nums.length, path, visited, res)
  return res
};

var DFS = function (nums, curSize, len, path, visited, res) {
  if (curSize === len) {
    res.push([...path])
    return
  }

  for (let i = 0; i < len; i++) {
    if (!visited[i]) {
      visited[i] = true
      path.push(nums[i])
      DFS(nums, curSize + 1, len, path, visited, res)
      visited[i] = false
      path.pop()
    }
  }
}
  1. Головоломка: A, B подбрасывают монету, выпадает орёл, A ходит первым, какова вероятность того, что A выиграет

Это совсем ошарашило, сколько вы думаете!


Али - Неизвестный отдел (Внезапная смерть)

Электрическая поверхность, жаль, я даже не начал готовиться к прямой смерти

  1. Принципы реакции
  2. свойства файлов cookie
  3. Разница между localStorage и sessionStorage
  4. Может ли localStorage работать с разными доменами?
  5. Перерисовка и перекомпоновка
  6. httponly
  7. CSRF и XSS

Али Диндинг - в основном для небольших программ (неуместно)

Что касается видео, я в основном говорил о проекте, а потом задавал много вопросов по сети и безопасности.Команда в основном работает над небольшими программами.Я задавал много маленьких программ.

  1. Нативный API мини-программы
  2. Принцип шифрования HTTPS
  3. Реализация хорошего состояния входа
  4. Преимущества Реакта
  5. что происходит после setState
  6. Реагировать на оптимизацию производительности
  7. Принцип крючка (как реализовать)
  8. апплет беговой пул
  9. В чем разница между браузерами WeChat
  10. Принцип составления Таро
  11. Делегирование события (можно зафиксировать фазу)
  12. Куда делегированы события React?

Ali CBU (ранний самолет)

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

  1. делегация мероприятия
  2. Разница между глубоким и поверхностным копированием
  3. Object.assign
  4. BFC
  5. Fiber
  6. virtual dom
  7. алгоритм сравнения
  8. hook
  9. процесс веб-пакета
  10. Упаковочная структура WebPack JS из того, что
  11. Принцип компиляции Babel
  12. Преимущества узла
  13. В узле разница между async/await, генератором и обещанием, контакт
  14. Несколько пользователей для доступа к серверу чата, у вас 1000 серверов, что вам делать (яма)
  15. Как реализовать двустороннюю привязку в Vue
  16. Поток данных Vue
  17. Разница между Vue и React
  18. Куча Vue.... (Также сказали, что нельзя это писать в резюме? Я не посмею! Плачь)

Али Летучая Свинья (Первая Лапша)

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

  1. Введите URL-адрес отображения рендеринга страницы
  2. Как DNS разрешает
  3. Как преобразовать входное доменное имя в ip-адрес, а затем перейти на сервер
  4. принцип gzip
  5. cookie localStorage sessionStorage
  6. Существенная разница между куки и токенами (сеанс)
  7. Замыкания и их распространенные сценарии применения
  8. тайник
  9. Как хранить сильный кеш
  10. Как браузер получает такие параметры, как время истечения срока действия
  11. Как сервер устанавливает заголовок настроек кеша
  12. кэшированная сцена
  13. вызов применить разницу
  14. Механизм событий React
  15. virtual dom
  16. Преимущества крючков, почему они нравятся и часто используемые методы
  17. Реагировать на поток данных
  18. HOC, преимущества и как они обычно используются
  19. setState получает обновленное значение
  20. csrf и xss
  21. гибкая компоновка и, как обычно, совместимость
  22. Оптимизация производительности внешнего интерфейса (то, что вы использовали)
  23. История асинхронности узла (ответил async/await, генератор)
  24. процесс веб-пакета
  25. принцип webpack-dev-сервера
  26. элементы конфигурации веб-пакета и общие плагины
  27. Синтаксис ES6 и то, что вы обычно используете
  28. Принцип Mobx
  29. Блочная модель против странной блочной модели
  30. Структура HTTP-сообщения, что такое заголовки запросов и заголовки ответов
  31. Какие книги вы прочитали в последнее время, какие статьи прочитали и планируете сдавать вступительные экзамены в аспирантуру?
  32. стопка, очередь
  33. 100 000 чисел, чтобы найти наибольшее число K (описывает быструю сортировку, как ее реализовать, временную сложность, лучший, худший случай)
  34. DFS и BFS, как реализовать
  35. Разница между Мини-программами и H5, коммерческая и техническая (Мини-программы имеют собственный независимый механизм защиты, работают независимо в одном месте и не наносят вреда существующей экологии)
  36. Как настроить нгинкс
  37. Как настроить и разрешить Alibaba Cloud DNS (A? TXT?)
  38. Стрелочные функции и нормальные функции
  39. Монитор настройки кнопок использует функцию стрелки this, чтобы указать, где
  40. jwttoken
  41. Сервер запускает службу (nohup, pm2)
  42. Принцип составления Таро
  43. Преимущество машинописного текста, почему его хвалят

Али Клауд

  1. flex
  2. Адаптация мобильного терминала
  3. React hook
  4. Преимущество реакции
  5. Почему стоит выбрать Реакт
  6. Реагировать на поток данных
  7. В чем разница между односторонним потоком данных и двусторонней привязкой
  8. Введите URL-адрес страницы, чтобы показать, что произошло (сначала проверьте кеш или синтаксический анализ DNS)
  9. HTTP-код статуса
  10. тег git, какая команда обычно используется
  11. версия npm (a.b.c)
  12. функции веб-пакета
  13. В чем разница между webpackloader и плагином
  14. класс es6
  15. наследовать
  16. машинопись, парадигма
  17. async/await и обещание (соединение, разница)
  18. экспресс и коа
  19. Разница между промежуточным ПО
  20. Зачем использовать коа, экспресс не годится?
  21. для чего нужна база данных
  22. оператор sql (в чем разница между внешним соединением и внутренним соединением)
  23. N чисел, взять наибольшее число K, каков метод, временная сложность, пространственная сложность, использовать кучу
  24. Какую библиотеку с открытым исходным кодом вы использовали, она более популярна
  25. ускорить рендеринг
  26. Как получить время загрузки страницы
  27. Почему стоит выбрать Таро, преимущества Таро
  28. Как разработать плагин для веб-пакетов
  29. Как разработать компонент npm

Tencent (неправильно...)

Ах, внезапная смерть, в веб-интерфейсе официального веб-сайта инвестиций было отправлено письмо-приглашение后台开发, ах, хотя он очень рад, что его взяли, но у-у-у-у не ожидаемая почтовая утка! плакать