Skip to content

Instantly share code, notes, and snippets.

@nilptrr
nilptrr / .py
Created September 28, 2025 09:08
math_parser
from collections import deque
class Token:
'''
Supported kinds of tokens:
- digits: 0-9
- unary operators: -
- binary operators: +, -, *, /,
- parenthesis: (, )

Сервис-калькулятор на FastAPI

Тестовое задание.

С помощью фреймворка FastAPI реализовать сервис, вычисляющий результат арифметического выражения и предоставляющий возможность просмотреть историю запросов.

Общие требования

Сервис должен соответствовать Rest соглашениям: Get, Post запросы, HTTP коды ответов и т.д. Аутентификация и авторизация не требуется. Сервис должен быть "самодокументированным" - предоставлять описание форматов данных и запросов/ответов в формате OpenAPI с интерфейсом Swagger.

Описание конечных точек (endpoints)

Python

1 Интерпретатор и язык

  • PYTHONPATH
  • Из чего состоит интерпретатр, что такое байт-код и его назначение.
  • Особенности языка, что означает динамическая сильная неявная типизация.
    • Как динамическая типизация влияет на язык и как она связана с полиморфизмом в Python. Почему надо использовать try/except.
    • Как утинная типизация влияет на язык, в чем особенность использования.
  • Динамическая типизация, изменяемость типов и полиморфизм.
  • Какие у языка слабые места?
  • Медленный. Как можно решить эту проблему.