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

Что такое State machine

State machine (конечный автомат) — это модель поведения программы, которая может находиться в одном из конечного числа состояний. Переход между состояниями происходит в ответ на события (входные данные или триггеры).

Пример простого конечного автомата на Python:

python
from enum import Enum, auto

class State(Enum):
    LOCKED = auto()
    UNLOCKED = auto()

class Door:
    def __init__(self):
        self.state = State.LOCKED
    
    def unlock(self):
        if self.state == State.LOCKED:
            self.state = State.UNLOCKED
    
    def lock(self):
        if self.state == State.UNLOCKED:
            self.state = State.LOCKED

Ключевые особенности:

  • Четко определенные состояния (State)
  • Правила перехода между состояниями
  • Реакция на события только в определенных состояниях

Используется для управления сложной логикой, где важно четкое разделение состояний: UI, игры, сетевые протоколы и т.д.

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

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

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

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