Sobes.tech

Python

Čo je kompresia Write-Ahead Log (WAL) v PostgreSQL? V ktorých prípadoch znižuje aktivácia kompresie WAL súborov záťaž na diskovom subsystéme a sieti, a v ktorých prípadoch vedie k zníženiu výkonu kvôli nadmernému využívaniu jadier CPU?

6

Ako je mehanizmus Politiky Event Loop v asyncio štruktúrovaným spôsobom? V ktorých scenároch musí backendový vývojár nútene zmeniť predvolenú politiku slučky udalostí na vlastnú, napríklad pomocou uvloop založeného na libuv, a ako sa dosahuje zvýšenie výkonu?

6

Čo je index podľa výrazu (Expression Index / Functional Index) v PostgreSQL? Aké overheady spôsobuje pri zápisových operáciách (INSERT/UPDATE) a prečo by plánovač mohol odmietnuť jeho použitie, ak sa typy údajov v dopytovej výraze nezhodujú?

4

Čo je hlboké kopírovanie objektov (copy.deepcopy) v Pythone z pohľadu výkonu? Ako tento mechanizmus obchádza cyklické odkazy, prečo funguje kriticky pomaly na veľkých grafoch objektov a aké alternatívne vzory ho nahrádzajú v systémoch s vysokou záťažou?

4

Ako funguje vzorec Sidecar v Kubernetes, na primer s Istio ali Envoy? Kako ta vzorec omogoča odtežitev šifriranja prometa (mTLS), sledenja zahtev in ponovnih poskusov izven aplikacije?

4

Čo je Penetrácia cache, Avalanche cache a Warmup cache? Ako navrhnúť vrstvu cache pre online obchodu tak, aby počas nočného výpredaja, keď milióny používateľov súčasne požadujú nové produkty, databáza ne zlyhala kvôli chybám cache?

4

Aké sú rozdiely medzi push-based a pull-based architektúrami pri navrhovaní systémov streamovania dát ako RabbitMQ a Kafka? Ako tieto prístupy ovplyvňujú využitie pamäte na strane brokera a problém backpressure-u u spotrebiteľov?

3

Popíšte protokol dvojfázového potvrdenia (2PC) pre distribuované transakcie zahŕňajúce dve nezávislé relačné databázy. Čo sa stane so systémom, ak koordinátor transakcie zlyhá presne medzi fázou hlasovania (Prepare) a fázou potvrdenia (Commit)?

3

Popíšte mechanizmus vstavané funkcie compile(). Ako previesť dynamicky generovaný reťazec Python kódu na objekt kódu, bezpečne ho spustiť v izolovanom prostredí pomocou exec/eval a zabrániť zraniteľnostiam vzdialeného spúšťania kódu (RCE)?

3

Popíšte kompromisy medzi protokolmi WebSockets, SSE (Server-Sent Events) a gRPC Streaming. Ktorý protokol by ste zvolili pre: a) živý chat, b) unidirekčný tok akciových kurzov, c) komunikáciu medzi službami v architektúre mikroservisov, a prečo?

2

Ako sú rozšírenia C/C++ pre Python (C Extensions) postavené pod kapotou? Prečo rozšírenia napísané s použitím tradičného Python C API spomaľujú prechod na Python bez GIL, a ako tento problém riešia moderné alternatívy ako HPy alebo Cython?

2

Prečo funkcia os.cpu_count() v Pythone často vracia celkový počet jadier fyzického servera v Docker kontejnere bežiacom v Kubernetes podu s limitom CPU: 2? Aké kritické problémy to spôsobuje s veľkosťou thread poolu v Gunicorn alebo Celery a ako ich opraviť?

2

Ako funguje algoritmus Konzistentného Hashovania? Prečo je potrebný pri navrhovaní distribuovaného cache klastru, napríklad s 20 Redis servermi, a ako minimalizuje počet kľúčov, ktoré je potrebné presunúť pri pridávaní alebo odstraňovaní uzla?

1

Ako Linux Cgroups (Control Groups) a Namespaces vytvárajú izoláciu v rámci Docker kontajnera? Čo sa stane s procesom Python, keď prekročí resource.limits.cpu v Kubernetes, a prečo prekročenie limits.memory vedie k OOMKilled, zatiaľ čo prekročenie CPU spôsobí iba throttling?

1