Что такое FIFO

«Что такое FIFO» — вопрос из категории Алгоритмы и структуры данных, который задают на 23% собеседований Android Разработчик. Ниже — развёрнутый ответ с разбором ключевых моментов.

Ответ

FIFO (First In, First Out) — это принцип обработки данных, где первым обрабатывается элемент, добавленный раньше всех. В Android часто используется в очередях (Queue) или при работе с потоками данных.

Пример с LinkedBlockingQueue:

val queue = LinkedBlockingQueue<String>()
queue.put("Task 1")
queue.put("Task 2")

val firstTask = queue.take() // "Task 1" (первый добавленный)

Где применяется:

  • Очереди задач (например, в HandlerThread)
  • Управление запросами в сетевых библиотеках (OkHttp Dispatcher)
  • Обработка событий в порядке их поступления

Важно: FIFO не гарантирует порядок выполнения в многопоточной среде без синхронизации.