Python
Πείτε μας λίγα πράγματα για εσάς και την εργασιακή σας εμπειρία
Πώς ακριβώς λαμβάνεται η τιμή στην έκτη γραμμή κατά την κλήση res(2);
Σας εξυπηρετεί η προτεινόμενη διαδικασία: να στείλετε το βιογραφικό και τις απαντήσεις μέσω email, και στη συνέχεια να κλείσετε μια σύντομη κλήση προετοιμασίας;
Ποιοι είναι οι τρόποι επίλυσης συγκρούσεων σε έναν πίνακα κατακερματισμού;
Πείτε μας για τις υπηρεσίες και τη δουλειά στην τελευταία σας θέση — επιλέξτε μερικά χαρακτηριστικά και εξηγήστε πώς τα λύσατε από τεχνολογική άποψη, ποια μοτίβα χρησιμοποιήσατε, ποιες ήταν οι δυσκολίες και οι εναλλακτικές προσεγγίσεις.
Μίλησέ μου για τον συλλέκτη απορριμμάτων στην Python: τι είναι και πώς λειτουργεί;
Παραθέστε περιπτώσεις όπου πρέπει να χρησιμοποιείτε έκφραση γεννήτριας αντί για λίστα κατανόησης, και το αντίστροφο.
Πες μας για το μοτίβο Unit of Work. Πώς διαχειρίζεστε τις συναλλαγές σε ένα επιχειρηματικό σενάριο δημιουργίας παραγγελίας;
Πες μου την πιο απλή εκδοχή της πολυπλοκότητας των λειτουργιών λίστας.
Πώς αλληλεπιδρούσαν δύο υπηρεσίες μέσω Kafka: τι συνέβαινε στην είσοδο και στην έξοδο, πώς περνούσε το αίτημα από το pipeline μέχρι την απόφαση έγκρισης ή απόρριψης;
Έχετε ποτέ πειραματιστεί με το διαχωρισμό ενός μονολίθου σε μικροϋπηρεσίες;
Ποια benchmarks γνωρίζετε για την αξιολόγηση της απόδοσης των LLM;
Πότε είναι καλύτερο να χρησιμοποιείτε JOIN και πότε να προφορτώνετε δεδομένα με δύο ερωτήματα στην επίλυση N+1;
Πείτε μας για την τελευταία ολοκλήρωση στην οποία εργαστήκατε.
Ποιες εργασίες και προσδοκίες θα έχει ένας προγραμματιστής στους πρώτους τρεις μήνες και μισό χρόνο;
Τι είδους προτάσεις και εργασίες σας ενδιαφέρουν;
Η απόφαση να χωρίσετε τον μονολίθο σε μικροϋπηρεσίες βασίστηκε κυρίως στη διαίσθηση;
Ήσασταν ανώτερος προγραμματιστής στην Tochka Bank ή δεν υπήρχε σύστημα βαθμολόγησης;
Ποια ήταν η προστιθέμενη αξία της πλατφόρμας βαθμολόγησής σας, αν η εξειδικευμένη υπηρεσία και η υπηρεσία ML εκτελούσαν μέρος της εργασίας;
από fastapi εισαγωγή FastAPI, UploadFile, Response από fastapi.responses εισαγωγή StreamingResponse από pydantic εισαγωγή BaseModel, field_validator εισαγωγή base64 app = FastAPI() κλάση PdfSchema(BaseModel): filename: str content_type: str data: str # base64 pdf 10мб @apì.get("/data", response_model=PdfSchema) ασύγχρονη def get_data(): επιστροφή αναμονής service.get_big_data() @apì.get("/download") ασύγχρονη def download(): με ανοιχτό("big.pdf", "rb") ως f: data = f.read() επιστροφή Response(content=data, media_type="application/pdf") def heavy_pdf_parse(data: bytes) -> dict: # CPU-heavy λογική επιστρέφει {"μέγεθος": len(data)} @post("/parse") ασύγχρονη def parse(file: UploadFile): περιεχόμενο = περιμένω file.read() αποτέλεσμα = heavy_pdf_parse(περιεχόμενο) επιστροφή αποτέλεσμα @apì.get("/users") ασύγχρονη def get_users(): χρήστες = αναμονή repo.get_users() αποτέλεσμα = [] για u σε χρήστες: posts = αναμονή repo.get_posts(u["id"]) αποτέλεσμα.append({"user": u, "posts": posts}) επιστροφή αποτέλεσμα @apì.get("/download-two") ασύγχρονη def download_two(): def iterfile(): με ανοιχτό("big.pdf", "rb") ως f: yield from f επιστροφή StreamingResponse(iterfile(), media_type="application/pdf") κλάση service: @staticmethod async def get_big_data(): επιστροφή { "filename": "file.pdf", "content_type": "application/pdf", "data": base64.b64encode(b"fake").decode(), } κλάση repo: @staticmethod async def get_users(): επιστροφή [{"id": 1}, {"id": 2}] @staticmethod async def get_posts(user_id: int): επιστροφή [{"id": 1, "user id": user_id}]