foundation

Массивы и динамические массивы

Непрерывное хранение, индексация, расширение, стоимость вставок и особенности массивов JavaScript.

Arrays дают indexed access и cache-friendly последовательный проход. Dynamic arrays резервируют capacity и resize при необходимости, поэтому append обычно constant time, но иногда копирует много элементов. JavaScript arrays являются high-level objects, но на интервью все равно рассуждают о стоимости access, scan, insert и delete.

На интервью: Ожидайте задачи на two pointers, prefix sums, in-place mutation, stable order и выбор момента, когда простой scan лучше сложной структуры.

Типовые ошибки: Вставка в начало сдвигает элементы. Sparse JavaScript arrays и mutation во время iteration могут удивить. Уточняйте, sorted ли input, можно ли mutate и бывают ли duplicates.

Чеклист:

  • Осознанно используйте indexes.
  • Упомяните resize cost для dynamic arrays.
  • Уточните правила mutation.
  • Проверьте empty и one-element inputs.