Rääkige oma kogemusest Kafka ja FastStream'iga
Python
Millal saame kutsuda commit Producer'is? Kuidas vältida duplikaateid käsitsi partii commit'i tegemisel?
Pakutud on kolm tabelit: 1. Kasutajad (users): - id (kasutaja unikaalne identifikaator). - name (kasutaja nimi). 2. Kursused (courses): - id (kursuse unikaalne identifikaator). - name (kursuse nimi). - price (kursuse hind). 3. Õpilaste kursused (student_courses): - id (kirje identifikaator). - student_id (kasutaja identifikaator). - course_id (kursuse identifikaator). Nõue: Näidata kõiki kasutajaid, kes on ostnud kursusi summas üle 10 000, vormingus: - user_name (kasutaja nimi). - total_price (ostude kogusumma). Algkood select * from users limit 10; select * from courses limit 10; select * from student_courses limit 10;
Kas on võimalik luua lõpmatu iterator ja generator? Mida selleks vaja on?
Mida teha probleemse tükiga, mis pidevalt põhjustab erandeid töötlemise ajal? Kuidas mitte sattuda tsüklisse ja edasi minna?
```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]: # tagastab andmekogumi või None ... async def commit(self, chunks: List[Chunk]) -> None: # kinnitab edukat töötlemist ... 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("partii on liiga suur") # andmete töötlemine ... 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("viga, kuid jätkame:", e) continue if __name__ == "__main__": asyncio.run(process()) ```
Rääkige mulle Pythonis dekoratsioonidest: mis see muster on ja kuidas rakendada dekoratsiooni argumentidega?
Selgitage välja funktsiooni käitumist koos muudetava vaikimisi argumentidega. Mida trükid näitavad?
Rääkige ühest oma viimastest projektidest, mis teid on puudutanud. Mis projekt see oli, mida täpselt te seal tegite ja miks see teid puudutas?
Liskovi asendusprintsiip — rääkige sellest üksikasjalikumalt
Rääkige oma praegusest meeskonnast ja projektidest [pangas/ettevõttes]
Rääkige OOP põhimõtetest: kapseldumine, pärimine, polümorfism, abstraktsioon
Mida te teate meie ettevõtte kohta?
Rääkige meile oma projekti andmeklasside kasutamisest ja miks te neid valisite
Kuidas te valite mitme pakkumise vahel? Mis on teie jaoks oluline?
Rääkige meile SOLID põhimõtetest
kui total_size > self.max_batch_size: raise ValueError("partii on liiga suur")