Встречается на собеседованиях • сегодня

В чем разница между императивным и функциональным программированием

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

Ключевые различия:

  • Состояние: императивное изменяет его, функциональное избегает.
  • Контроль потока: циклы vs рекурсия/функции высшего порядка.
  • Данные: мутабельные vs иммутабельные.

Пример на Python:

python
# Императивный стиль (изменяемое состояние)
numbers = [1, 2, 3]
squares = []
for num in numbers:
    squares.append(num ** 2)

# Функциональный стиль (без состояния)
numbers = (1, 2, 3)  # кортеж (иммутабельный)
squares = tuple(map(lambda x: x ** 2, numbers))

Функциональный подход чаще использует map, filter, reduce, избегает побочных эффектов. Python поддерживает оба подхода, но не является чисто функциональным языком.

Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

Следующий вопрос

Это единственный вопрос по вашему фильтру

как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы