Sobes.tech

Python

Ce este compresia Write-Ahead Log (WAL) în PostgreSQL? În ce cazuri reduce activarea compresiei fișierelor WAL sarcina pe subsistemul de disc și pe rețea, și în ce cazuri duce la degradarea performanței din cauza utilizării excesive a nucleelor CPU?

6

Cum este structurat mecanismul Politicii buclui de evenimente în asyncio? În ce scenarii trebuie un dezvoltator backend să schimbe forțat politica implicită a buclui de evenimente cu una personalizată, de exemplu folosind uvloop bazat pe libuv, și cum se obține creșterea performanței?

6

Ce este un index pe expresie (Expression Index / Functional Index) în PostgreSQL? Ce overhead-uri implică asupra operațiunilor de scriere (INSERT/UPDATE) și de ce s-ar putea refuza planificatorul să îl utilizeze dacă tipurile de date din expresia interogării nu se potrivesc?

4

Ce este copierea profundă a obiectelor (copy.deepcopy) în Python din perspectiva performanței? Cum evită acest mecanism referințele ciclice, de ce funcționează critic lent pe grafice mari de obiecte și ce modele alternative îl înlocuiesc în sistemele de înaltă încărcare?

4

Cum funcționează pattern-ul Sidecar în Kubernetes, de exemplu cu Istio sau Envoy? Cum permite acest pattern externalizarea criptării traficului (mTLS), urmărirea solicitărilor și retry-urile din aplicație?

4

Ce sunt Penetrarea Cache-ului, Avalanșa Cache-ului și Încălzirea Cache-ului? Cum să proiectezi un strat de cache pentru un magazin online astfel încât în timpul unei vânzări nocturne, când milioane de utilizatori solicită simultan produse noi, baza de date să nu se defecteze din cauza lipsei de cache?

4

Care sunt diferențele dintre arhitecturile Push și Pull în proiectarea sistemelor de streaming de date precum RabbitMQ și Kafka? Cum afectează aceste abordări utilizarea memoriei pe partea brokerului și problema backpressure-ului consumatorilor?

3

Descrie protocolul de commit în două faze (2PC) pentru tranzacții distribuite care implică două baze de date relaționale independente. Ce se întâmplă cu sistemul dacă coordonatorul tranzacției se prăbușește exact între faza de votare (Prepare) și faza de commit (Commit)?

3

Descrie mecanismul funcției încorporate compile(). Cum convertești un șir de cod Python generat dinamic într-un obiect de cod, îl execuți în siguranță într-un context izolat folosind exec/eval și previi vulnerabilitățile de execuție de cod de la distanță (RCE)?

3

Descrieți compromisurile dintre protocoalele WebSockets, SSE (Server-Sent Events) și gRPC Streaming. Pe care protocol ați alege pentru: a) chat live, b) feed unidirecțional de cotații bursiere, c) comunicarea între servicii în arhitectura microserviciilor, și de ce?

2

Cum sunt construite extensiile C/C++ pentru Python (C Extensions) sub capotă? De ce extensiile scrise folosind API-ul tradițional C al Python încetinesc tranziția către Python fără GIL, și cum rezolvă această problemă alternativele moderne precum HPy sau Cython?

2

De ce funcția standard Python os.cpu_count() returnează adesea numărul total de nuclee ale serverului fizic din interiorul unui container Docker care rulează într-un pod Kubernetes cu limită de CPU: 2? Ce probleme critice legate de dimensiunea pool-ului de fire în Gunicorn sau Celery cauzează acest lucru și cum se poate remedia?

2

Cum funcționează algoritmul de Hashing Consistent? De ce este necesar în proiectarea unui cluster de cache distribuit, de exemplu cu 20 de servere Redis, și cum minimizează numărul de chei care trebuie mutate atunci când se adaugă sau se elimină un nod?

1

Cum creează Linux Cgroups (Control Groups) și Namespaces izolarea în interiorul unui container Docker? Ce se întâmplă cu un proces Python atunci când depășește resource.limits.cpu în Kubernetes, și de ce depășirea limits.memory duce la OOMKilled, în timp ce depășirea CPU doar cauzează throttling?

1