Sobes.tech

Python

Opisz mechanikę metody __prepare__ w metaklasach. Kiedy w cyklu życia klasy jest wywoływana i jaką strukturę danych domyślnie zwraca?

Middle+
4

Jak jest zaimplementowany mechanizm obsługi wyjątków w Pythonie? Dlaczego użycie konstrukcji except Exception jest uważane za antipattern w produkcji i jakie krytyczne wyjątki systemowe może ona przypadkowo przechwycić?

Middle+
4

Opisz problem zapytań N+1 w agregacji. Jak efektywnie policzyć powiązane obiekty, takie jak liczba komentarzy do 100 postów, bez ładowania wszystkich powiązanych encji do pamięci Pythona?

Middle+
3

Jak działa metoda .update() w Django ORM i SQLAlchemy? Czy wywoływane są sygnały modelu, takie jak pre_save i post_save, gdy jest wykonywana, czy uruchamiają się niestandardowe metody save()? Dlaczego?

Middle+
2

Czym jest Soft Delete na poziomie bazy danych? Jakie problemy architektoniczne związane z indeksami, unikalnością pól i wydajnością ORM pojawiają się przy użyciu flagi is_deleted = True w dużych tabelach?

Middle+
2

Czym jest mapa tożsamości w wzorcu Data Mapper w SQLAlchemy? Jak ten mechanizm zapewnia, że dwa różne zapytania do tego samego wiersza bazy danych w ramach jednej sesji zwracają odwołanie do tego samego obiektu w pamięci Pythona?

Middle+
2

Czym jest wyciek zadania (Task Leak) w asynchronicznym Pythonie? Jak niezamknięta lub zawieszona korutyna może prowadzić do ukrytych wycieków pamięci i jak to śledzić w działającej aplikacji?

Middle+
1

Co się stanie, jeśli kod asynchroniczny wywoła synchroniczną funkcję blokującą, taką jak time.sleep() lub ciężkie żądanie przez bibliotekę requests? Jak poprawnie przenieść takie wywołania poza pętlę zdarzeń?

Middle+
0

Jaka jest różnica między asyncio.create_task() a bezpośrednim wywołaniem korutyny za pomocą await? Jak działa planista asyncio, gdy zadanie jest tworzone za pomocą create_task(), ale bieżący wątek jest zajęty ciężkimi obliczeniami?

Middle+
0