Python
Что такое GIL?
Какие тестовые фреймворки есть в Python? Вспомогательные библиотеки?
Какие виды тестов бывают?
Как работает многопоточность в Python с учётом GIL? Чем отличаются потоки от процессов?
Что делает EXPLAIN и что меняется при добавлении ANALYZE? Когда индекс бесполезен?
Расскажи про себя (2-3 минуты)
Что такое AsyncSession в SQLAlchemy и какие правила работы с ней в контексте FastAPI микросервиса?
# Описание задачи # Дана отсортированная по возрастанию последовательность целых чисел. # Необходимо реализовать функцию, выполняющую бинарный поиск элемента в этой последовательности. # Функция должна: # 1. Принимать два аргумента: # - отсортированный список чисел, # - целевое значение для поиска. # 2. Возвращать индекс найденного элемента, если элемент присутствует. # 3. Возвращать -1, если элемент отсутствует в списке. # Требования # - Решение должно быть итеративным. # - Важно соблюсти сложность O(log n). # - Код должен быть написан на Python 3 и соответствовать базовым принципам чистоты кода.
# Усложнение # У нас появляется новая продуктовая фича: резервирование денег через мобильное приложение. # Для этого в класс ATM нужно добавить новый метод reserve(amount). Также нам надо учесть возможность HardwareError в методах SDK.
```python BILLS = (5000, 1000, 500, 100, 50) 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 class ATM(): def __init__(self, atm_api: SDK): self.atm_api: SDK = atm_api def withdraw(self, amount: int) -> bool: bills_plan: dict[int: int] = {} for bill in BILLS: available = self.count_bills(bill) self.atm_api.open_dispenser() for bill, count in bills_plan.items(): self.atm_api.move_banknote_to_dispenser(bill, count) return True ``` Complete the implementation of the `withdraw` method in the `ATM` class to correctly dispense the requested amount using the available banknotes.
Что-нибудь про паттерн Adapter можешь рассказать?
Как получаешь новые знания? Что читаешь, кого смотришь? Можешь назвать конкретные каналы или последнее, что смотрел?
Кто настраивал алерты и как просадка сервиса превращается в алерт?
Требуется реализовать функцию zip, которая соединяет элементы двух слайсов в слайс пар ```go func main() { s1, s2 := []int{1, 2, 3}, []int{4, 5, 6, 7, 8} fmt.Println(zip(s1, s2)) // [[1 4] [2 5] [3 6]] } func zip(s1 []int, s2 []int) [][]int { //... } ```
Что такое HTTP статус-коды? Назови основные.
Чем отличается асинхронность от параллельного выполнения? Что реализует параллельное выполнение в Python?
С какими базами данных работал? Что именно делал в базе?
Как посмотреть запущенные процессы в Linux? Как посмотреть нагрузку на CPU?
В Pandas есть столбец типа int, но в одной строке значение отсутствует (NULL). Какой тип данных будет у этого столбца?
Есть 5 миллионов строк данных в Pandas — что делать, если 100 тысяч работало нормально, а 5 миллионов — нет?