Sobes.tech

Python

Fale sobre sua experiência com Kafka e FastStream

Middle
209

Quando podemos chamar commit no Producer? Como evitar duplicados ao fazer commit manual de um batch?

Middle
169

São fornecidas três tabelas: 1. Utilizadores (users): - id (identificador único do utilizador). - name (nome do utilizador). 2. Cursos (courses): - id (identificador único do curso). - name (nome do curso). - price (preço do curso). 3. Cursos de estudantes (student_courses): - id (identificador do registo). - student_id (identificador do utilizador). - course_id (identificador do curso). Requer-se: Mostrar todos os utilizadores que compraram cursos por um valor superior a 10 000, no formato: - user_name (nome do utilizador). - total_price (soma total das compras). Código inicial select * from users limit 10; select * from courses limit 10; select * from student_courses limit 10;

Middle
165

É possível criar um iterador e gerador infinitos? O que é necessário para isso?

Middle
148

O que fazer com um lote problemático que constantemente causa exceções durante o processamento? Como não ficar preso nesse ciclo e seguir em frente?

Middle
147

```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]: # devolve um lote de dados ou None ... async def commit(self, chunks: List[Chunk]) -> None: # confirma o processamento bem-sucedido dos 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("o lote é demasiado grande") # processamento de dados ... 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("erro mas continua:", e) continue if __name__ == "__main__": asyncio.run(process()) ```

Middle
141

Explique o comportamento de uma função com um argumento mutável padrão. O que irão mostrar os prints?

Middle
138

Fale sobre decoradores em Python: que padrão é este e como implementar um decorador com argumentos?

Middle
137

Fala sobre um dos teus últimos projetos que te tenha tocado. Que projeto foi, o que fizeste exatamente lá, e por que te tocou?

Middle
135

Princípio de Substituição de Liskov — conte-me mais

Middle
132

Fale sobre a sua equipa atual e os projetos na [banco/empresa]

Middle
128

Fale sobre os princípios da POO: encapsulamento, herança, polimorfismo, abstração

Middle
125

O que sabe sobre a nossa empresa?

Middle
121

Fale sobre o uso de dataclasses no seu projeto e por que as escolheu

Middle
120

Como vai escolher entre várias ofertas? O que é importante para si?

Middle
118

Fale sobre os princípios SOLID

Middle
114

se o tamanho_total > self.max_batch_size: levante um ValueError("o lote é demasiado grande")

Middle
113