Kafka və FastStream ilə iş təcrübəniz haqqında danışın
Python
Producer-də commit çağırmaq üçün nə vaxtdır? Əl ilə batch commit zamanı təkrarlamaları necə qarşısını alırıq?
Üç cədvəl təqdim olunur: 1. İstifadəçilər (users): - id (istifadəçi unikal identifikatoru). - name (istifadəçi adı). 2. Kurslar (courses): - id (kurs unikal identifikatoru). - name (kursun adı). - price (kursun qiyməti). 3. Tələbə kursları (student_courses): - id (qeydiyyat identifikatoru). - student_id (istifadəçi identifikatoru). - course_id (kurs identifikatoru). Tələb: 10 000-dən çox məbləğdə kurs alan bütün istifadəçiləri aşağıdakı formatda göstərin: - user_name (istifadəçi adı). - total_price (ümumi alışların məbləği). Başlanğıc kod select * from users limit 10; select * from courses limit 10; select * from student_courses limit 10;
Mümkündürmü sonsuz iterator və generator yaratmaq? Bunun üçün nə lazımdır?
Emal işləyən zaman davamlı istisnalar yaradan problemli partiya ilə nə etmək lazımdır? Döngüdə qalmadan necə davam etmək olar?
```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]: # məlumatların partiyasını və ya None qaytarır ... async def commit(self, chunks: List[Chunk]) -> None: # uğurlu emalın təsdiqi ... 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("partiya çox böyük") # məlumatların emalı ... 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("xəta, amma davam edir:", e) continue if __name__ == "__main__": asyncio.run(process()) ```
Python-da dekoratorlar haqqında danışın: bu hansı nümunədir və arqumentlərlə dekorator necə həyata keçirilir?
Dəyişdirilə bilən standart arqument ilə funksiyanın davranışını izah edin. Çaplar nə göstərəcək?
Son layihələrinizdən biri haqqında danışın, hansı sizin ruhunuza toxundu. Layihə nə idi, orada dəqiq nə etdiniz və niyə ruhunuza toxundu?
Liskov Əvəzolunma Prinsipi — daha ətraflı danışın
Cari mövcud komandanız və [bank/şirkət] layihələri haqqında danışın
OOP prinsipləri haqqında danışın: inkapsulyasiya, irsiyyət, çox formallıq, abstraksiya
Şirkətimiz haqqında nə bilirsiniz?
Layihənizdə dataclass-lardan istifadə və niyə seçdiyiniz haqqında danışın
Bir neçə təklif arasından necə seçim edəcəksiniz? Sizin üçün nə vacibdir?
SOLID prinsipləri haqqında danışın
əgər total_size > self.max_batch_size: ValueError("partiya çox böyükdür") atın