Разкажете за опита си с Kafka и FastStream
Python
Кога можем да извикаме commit при Producer? Как да избегнем дубли при ръчно commit на batch?
Предоставени са три таблици: 1. Потребители (users): - id (уникален идентификатор на потребителя). - name (име на потребителя). 2. Курсове (courses): - id (уникален идентификатор на курса). - name (име на курса). - price (цена на курса). 3. Курсове на студентите (student_courses): - id (идентификатор на запис). - student_id (идентификатор на потребителя). - course_id (идентификатор на курса). Изискване: Да се покажат всички потребители, които са закупили курсове на стойност над 10 000, във формат: - user_name (име на потребителя). - total_price (общата сума на покупките). Начален код select * from users limit 10; select * from courses limit 10; select * from student_courses limit 10;
Може ли да се създаде безкраен итератор и генератор? Какво е необходимо за това?
Какво да правите с проблемен пакет, който постоянно причинява изключения при обработка? Как да не се заклещите и да продължите напред?
```python import asyncio from typing import List, Optional class Chunk: def __init__(self, items: List[dict]): self.items = items @property def size(self) -> int: return len(self.items) class Producer: async def next(self) -> Optional[Chunk]: # връща партида данни или None ... async def commit(self, chunks: List[Chunk]) -> None: # потвърждава успешната обработка на партидите ... class Consumer: max_batch_size = 100 async def consume(self, chunks: List[Chunk]) -> None: total_size = sum(chunk.size for chunk in chunks) if total_size > self.max_batch_size: raise ValueError("текущата партида е твърде голяма") # обработка на данните ... producer = Producer() consumer = Consumer() async def process(): while True: chunk = await producer.next() if chunk is None: break try: await consumer.consume([chunk]) await producer.commit([chunk]) except Exception as e: print("грешка, но продължаваме:", e) continue if __name__ == "__main__": asyncio.run(process()) ```
Разкажете ми за декораторите в Python: какъв е този патърн и как да реализираме декоратор с аргументи?
Обяснете поведението на функция с променлив по подразбиране аргумент. Какво ще покажат принтовете?
Разкажи за един от последните си проекти, който те е докоснал. Какъв беше проектът, какво точно прави там и защо те е докоснал?
Принципът на Лисков за заместимост — разкажете повече
Разкажете за текущия си екип и проекти в [банка/компания]
Разкажете за принципите на ООП: инкапсулация, наследяване, полиморфизъм, абстракция
Какво знаете за нашата компания?
Разкажете за използването на датакласове във вашия проект и защо сте ги избрали
Как ще изберете между няколко оферти? Какво е важно за вас?
ако total_size > self.max_batch_size: повдигнете грешка ValueError("теглото е твърде голямо")
Разкажете ни за принципите SOLID