Python
Meséljen magáról és szakmai tapasztalatáról
Hogyan történik pontosan az érték megszerzése a hatodik sorban a res(2) hívásakor?
Elfogadja a javasolt folyamatot: elküldeni az önéletrajzot és a válaszokat e-mailben, majd rövid telefonhívást foglalni a felkészüléshez?
Milyen módszerek vannak a hash-tábla ütközéseinek megoldására?
Meséljen az utolsó munkahelyén végzett szolgáltatásokról és munkáról — válasszon néhány funkciót, és magyarázza el, hogyan oldotta meg technológiai szempontból, milyen mintákat használt, milyen nehézségek és alternatív megközelítések voltak.
Mesélj a Python szemétgyűjtőjéről: mi ez és hogyan működik?
Mutassa be az eseteket, amikor generátor kifejezést kell használni listakommentár helyett, és fordítva.
Mesélj az Unit of Work mintáról. Hogyan kezeled a tranzakciókat egy rendelés létrehozásának üzleti forgatókönyvében?
Mesélj a lista műveletek összetettségének legegyszerűbb változatáról.
Hogyan működtek együtt két szolgáltatás a Kafka-n keresztül: mi történt a bemeneten és a kimeneten, hogyan ment át a kérés a pipeline-on az elfogadás vagy elutasítás döntéséig?
Volt már tapasztalata monolit szétválasztásában mikroszolgáltatásokra?
Milyen benchmarkokat ismersz az LLM-ek teljesítményének értékeléséhez?
Mikor érdemes JOIN-t használni, és mikor az adatokat két lekérdezéssel előtölteni az N+1 megoldásánál?
Meséljen az utolsó integrációról, amin dolgozott.
Milyen feladatok és elvárások lesznek egy fejlesztőnél az első három hónapban és fél évben?
Milyen javaslatok és feladatok érdekelnek?
A döntés, hogy a monolitot mikroservice-okra bontjuk, főként intuícióra alapult?
Ön senior fejlesztő voltál a Tochka Banknál, vagy nem volt értékelési rendszer?
Mi volt a hozzáadott érték a pontozási platformjátokban, ha a szakterületi szolgáltatás és az ML-szolgáltatás a munka egy részét elvégezte?
gyorsapi-ból importál FastAPI, UploadFile, Response fastapi válaszokból import StreamingResponse pydantic-ból importál 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}]