FIFO и LIFO: что это такое, как работает Call Stack, очереди микротасков и макротасков?

Принципиальная разница между очередью и стеком заключается в порядке доступа к элементам:

Короткий ответ

Что ответить на собеседовании

Принципиальная разница между очередью и стеком заключается в порядке доступа к элементам:

Подробный разбор

Ответ с пояснениями

Принципиальная разница между очередью и стеком заключается в порядке доступа к элементам:

  • Очередь (Queue): Работает по принципу "Первый пришел — первый вышел" (FIFO - First-In, First-Out). Элементы добавляются в конец очереди (операция enqueue), а удаляются из начала (операция dequeue).
  • Стек (Stack): Работает по принципу "Последний пришел — первый вышел" (LIFO - Last-In, First-Out). Элементы добавляются на вершину стека (операция push), и удаляются также с вершины (операция pop).

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

Вот сравнительная таблица:

Характеристика Очередь Стек
Принцип работы FIFO (First-In, First-Out) LIFO (Last-In, First-Out)
Операции enqueue (добавить в конец), dequeue (удалить из начала) push (добавить на вершину), pop (удалить с вершины)
Место добавления Конец Вершина
Место удаления Начало Вершина

Примеры использования:

  • Очередь: планирование задач в операционной системе, обработка запросов на сервере, буферизация ввода-вывода.
  • Стек: вызовы функций (стек вызовов), синтаксический анализ выражений, история браузера.

Практика в реальном времени

Подготовьтесь к следующему собеседованию

Interview Boost учитывает вакансию, резюме и технологии и помогает сформулировать ответ прямо во время интервью.

Начать подготовку