Kafka және FastStream-пен жұмыс істеу тәжірибеңіз туралы айта аласыз ба?
Python
Producer-да қашан commit шақыруға болады? Қолмен батчті қайталауынан қалай сақтануға болады?
Берілген үш кесте: 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: # сәтті өңделген chunks-ты бекіту ... 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-да декораторлар туралы айтыңыз: бұл қандай үлгі және аргументтері бар декораторды қалай жүзеге асыруға болады?
Өзгермелі әдепкі аргументі бар функцияның мінез-құлқын түсіндіріңіз. Принттер не шығарады?
Өзіңнің соңғы кездері жасаған жобаларыңның бірін айтып берші, ол жаныңды тербеген. Жоба қандай болды, сен онда нақты не істедің, және ол неге жаныңды тербеді?
Liskov ауыстыру принципі туралы толығырақ айта аласыз ба?
Қазіргі командаңыз және [банк/компания] жобалары туралы айтыңыз
ООП принциптері туралы айтыңыз: инкапсуляция, мұрагерлік, полиморфизм, абстракция.
Біздің компаниямыз туралы не білесіз?
Жобадағы деректер кластарын пайдалану туралы айтып беріңіз және неге оларды таңдадыңыз.
Көп ұсыныстар арасында қалай таңдайсыз? Сіз үшін не маңызды?
Егер total_size > self.max_batch_size: raise ValueError("пакет тым үлкен")
SOLID қағидаттары туралы айтыңыз.