Расскажите про принципы ООП: инкапсуляция, наследование, полиморфизм, абстракция
Слышал ли ты про чистую архитектуру и DDD?
Принцип Liskov Substitution — расскажите подробнее
Как проходит проверка условий с AND и OR (short-circuit evaluation)?
Какой алгоритм самый быстрый: O(n), O(ln), O(n^2)?
Каково назначение pathlib в Python и как оно сравнивается с os.path?
Как сам себя оцениваешь по уровню — middle или senior?
Каковы ключевые различия между синхронным и асинхронным программированием в Python? Пожалуйста, дайте ответ на этот вопрос устно.
Что такое холодный кэш и теплый кэш в контексте кэширования?
По задачам: с чем хотелось бы больше работать на новом месте — архитектурные, инфраструктурные или продуктовые задачи?
Что такое functools.wraps и зачем он нужен?
# Банкомат, который заряжается кассетами с купюрами, с нашим приложением на борту # должен уметь выдавать купюры для заданной суммы или отвечать отказом # При выдаче купюры списываются с баланса банкомата. # Допустимые номиналы: 50Р, 100Р, 500Р, 1000Р, 5000Р. class ATM: pass # место для кода # Устройство банкомата: # - деньги расположены в кассетах внутри банкомата, которые загружает инкассатор и перезагружает банкомат; # - в каждой кассете лежат купюры своего номинала; # - банкомат может подсчитать оставшиеся в кассетах банкноты, но эта операция занимает продолжительное время - её стоит вызывать как можно реже. # API для взаимодействия с аппаратурой банкомата. # интерфейс SDK может быть изменён/расширен по договорённости сторон, если это необходимо class SDK(ABC): @abstractmethod def count_banknotes(self, banknote: int) -> int: pass @abstractmethod def move_banknote_to_dispenser(self, banknote: int, count: int) -> None: pass @abstractmethod def open_dispenser(self) -> None: pass
С какими трудностями сталкивались при разработке финансовых сервисов?
# В настоящий момент документация и требования к работе этого кода точны # не на 100% и местами не актуальные, так что мы их тут не приводим. # Сам код работает на production серверах, результатами его работы пользуются разные # системы, некоторые из них написаны на коболе, а некоторые находятся на нефтяных # вышках в арктике и принимают входящие данные по однонаправленному сигналу со спутника. # Не хотелось бы что-то из этого сломать, а потом чинить. # Так что за требования "что и как должен делать этот код" нужно принимать то, как он по факту # сейчас работает. db = Model() def process(data): print("file size: " + str(len(data))) users_lines = open("/opt/data/users.txt").read().splitlines() resultat = [] for stroka in users_lines: trasictions_lines = open("/opt/data/transactions.txt").read().splitlines() process(trasictions_lines) for str2 in trasictions_lines: parts = str2.split() is_valid = db.check_transaction( user_id=parts[3], change=parts[4], ) if not re.search("\d{4}-\d{2}-\d{2}\s+\d{2}:\d{2}:\d{2}\s+\d+\s+\w+\s+\d+\.\d+", str2): continue user_id = stroka.split()[0] regdate = db.get_regdate(user_id) if re.search("\d{4}-\d{2}-\d{2}", regdate) and re.search("\d+\.\d+", parts[4]): resultat.append(str2) if len(resultat) > 0: print("match")
В чём разница между образом и контейнером Docker? Что такое Dockerfile и что в нём пишут?
Расскажите про сервисы и работу на последнем месте работы — возьмите пару фич и расскажите, как решали их с точки зрения технологий, какие паттерны использовали, какие были сложности и альтернативные подходы.
С чем работал по API на Python? Какие методы HTTP запросов знаешь? Чем отличается PUT от POST?
Как измерялось улучшение производительности SQL-запросов на 40%
Как в FastAPI запустить синхронный блокирующий код (например, вычисление на 1 секунду) по ручке, не блокируя EventLoop?
Какие инструменты или пакеты в Python есть для создания интерфейсов и абстрактных классов?