Python
Byl jste senior vývojář v Tochka Bank nebo tam nebyl systém hodnocení?
z fastapi import FastAPI, UploadFile, Response z fastapi.responses import StreamingResponse z pydantic import BaseModel, field_validator import base64 app = FastAPI() class PdfSchema(BaseModel): filename: str content_type: str data: str # base64 pdf 10mb @app.get("/data", response_model=PdfSchema) async def get_data(): return await service.get_big_data() @app.get("/download") async def download(): with open("big.pdf", "rb") as f: data = f.read() return Response(content=data, media_type="application/pdf") def heavy_pdf_parse(data: bytes) -> dict: # CPU-heavy logika return {"size": len(data)} @app.post("/parse") async def parse(file: UploadFile): content = await file.read() result = heavy_pdf_parse(content) return result @app.get("/users") async def get_users(): users = await repo.get_users() result = [] for u in users: posts = await repo.get_posts(u["id"]) result.append({"user": u, "posts": posts}) return result @app.get("/download-two") async def download_two(): def iterfile(): with open("big.pdf", "rb") as f: yield from f return StreamingResponse(iterfile(), media_type="application/pdf") class service: @staticmethod async def get_big_data(): return { "filename": "file.pdf", "content_type": "application/pdf", "data": base64.b64encode(b"fake").decode(), } class repo: @staticmethod async def get_users(): return [{"id": 1}, {"id": 2}] @staticmethod async def get_posts(user_id: int): return [{"id": 1, "user id": user_id}]
Povězte nám o posledním úkolu, který jste provedli pro hlavní aplikaci.
Co je Python a jak se v něm spouští kód (spouštění kódu)?
Co je to věta CAP?
Jak opravit race condition při odečítání zůstatku v Django?
Co je to kontextový manažer, k čemu slouží a jak si ho můžete vytvořit?
Co je ti vůbec důležité na pracovišti? Můžeš popsat zaměstnavatelskou společnost, kde by bylo pohodlné dlouhodobě pracovat?
Jak implementovat A() + B() = C()? Jak sečíst dva objekty a získat třetí?
Jaký máš vztah kódové recenzii, kritice při kódové recenzii? Dáváš sám podrobnou zpětnou vazbu? Měli jsi s kolegy konflikty kvůli tomu, jak jsi je řešil?
Povězte nám více o mikroservise upozornění: jeho logice, obtížích při vývoji a vašem přínosu.
Co tě motivuje a co demotivuje v práci?
Co je to GraphQL a v čem se liší od REST?
Byly mezi čtyřmi backend vývojáři oblasti odpovědnosti?
Jak probíhá směrování požadavků (třídění podle typu otázky)?
Mohl byste zítra absolvovat technický pohovor, abyste předešli zpožděním?
Jak určujete hranice funkcionalit, které by měly být odděleny do samostatného mikroservisu?
Jste ochoten se naučit nové technologie?
Kromě Pythonu, jaké další jazyky jste používali nebo vás nyní zajímají?
Povězte nám o sobě a hlavně o vaší současné společnosti a projektu.