Sobes.tech

Python

Décrivez la mécanique de la méthode __prepare__ dans les métaclasses. À quel moment du cycle de vie de la classe est-elle appelée et quelle structure de données retourne-t-elle par défaut ?

Middle+
4

Comment le mécanisme d'exception en Python est-il implémenté en coulisses ? Pourquoi l'utilisation de la construction except Exception est-elle considérée comme un antipattern en production et quelles exceptions système critiques peut-elle attraper accidentellement ?

Middle+
4

Décrivez le problème des requêtes N+1 en agrégation. Comment compter efficacement les objets liés, comme le nombre de commentaires sur 100 publications, sans charger toutes les entités liées en mémoire Python ?

Middle+
3

Comment fonctionne la méthode .update() dans Django ORM et SQLAlchemy ? Les signaux de modèle comme pre_save et post_save sont-ils déclenchés lors de son exécution, ou les méthodes save() personnalisées sont-elles appelées ? Pourquoi ?

Middle+
2

Qu'est-ce que la suppression douce au niveau de la base de données ? Quels problèmes architecturaux avec les index, l'unicité des champs et la performance ORM surgissent lors de l'utilisation du drapeau is_deleted = True dans de grandes tables ?

Middle+
2

Qu'est-ce que la carte d'identité dans le pattern Data Mapper en SQLAlchemy ? Comment ce mécanisme garantit-il que deux requêtes différentes à la même ligne de la base de données dans une session renvoient une référence au même objet en mémoire Python ?

Middle+
2

Qu'est-ce qu'une fuite de tâche en Python asynchrone ? Comment une coroutine non fermée ou suspendue peut-elle conduire à des fuites de mémoire cachées et comment le suivre dans une application en cours d'exécution ?

Middle+
1

Que se passe-t-il si un code asynchrone appelle une fonction bloquante synchrone, comme time.sleep() ou une requête lourde via la bibliothèque requests ? Comment déplacer correctement ces appels en dehors de la boucle d'événements ?

Middle+
0

Quelle est la différence entre asyncio.create_task() et l'appel direct d'une coroutine via await ? Comment fonctionne le planificateur asyncio lorsqu'une tâche est créée avec create_task(), mais le thread actuel est occupé par des calculs lourds ?

Middle+
0