Python
Povedzte nám niečo o sebe a vašich pracovných skúsenostiach
Ako sa presne získa hodnota na šiestej riadku pri volaní res(2)?
Vám vyhovuje navrhnutý proces: poslať životopis a odpovede e-mailom a potom si rezervovať krátky hovor na prípravu?
Aké sú spôsoby riešenia kolízií v hash tabuľke?
Porozprávajte o službách a práci na poslednom mieste — vyberte niekoľko funkcií a vysvetlite, ako ste ich riešili z technologického hľadiska, aké vzory ste použili, aké boli ťažkosti a alternatívne prístupy.
Povedz mi o garbage collectore v Pythone: čo je to a ako funguje?
Uveďte prípady, kedy je vhodnejšie použiť generátorové výrazy namiesto list comprehension, a naopak.
Porozprávaj o vzorec Unit of Work. Ako spravujete transakcie v podnikateľskom scenári vytvárania objednávky?
Povedz mi najjednoduchšiu verziu zložitosti operácií zoznamu.
Ako dva servisa komunikovali cez Kafka: čo sa dialo na vstupe a výstupe, ako prechádzala žiadosť cez pipeline až po rozhodnutie o schválení alebo zamietnutí?
Mal ste skúsenosti s rozdelením monolitu na mikroservisy?
Aké benchmarky poznáte na hodnotenie výkonu LLM?
Kedy je lepšie použiť JOIN a kedy predbežné načítanie údajov dvoma dotazmi pri riešení N+1?
Povedzte nám o poslednej integrácii, na ktorej ste pracovali.
Aké úlohy a očakávania bude mať vývojár v prvých troch mesiacoch a pol roku?
Aké návrhy a úlohy vás zaujímajú?
Rozhodnutie o rozdelení monolitu na mikroservisy bolo založené hlavne na intuícii?
Bol si senior vývojár v Tochka Bank alebo tam nebol žiadny hodnotiaci systém?
V čom spočívala pridaná hodnota vašej scoringovej platformy, ak špecializovaná služba a ML služba vykonávali časť práce?
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}]