Sobes.tech

Python

Kas yra Write-Ahead Log (WAL) suspaudimas PostgreSQL? Kuriais atvejais įjungus WAL failų suspaudimą sumažėja disko subsistemos ir tinklo apkrova, o kuriais atvejais tai sukelia našumo sumažėjimą dėl pernelyg didelio CPU branduolių naudojimo?

6

Kaip yra struktūruotas Event Loop Policy mechanizmas asyncio? Kuriose scenarijuose backend kūrėjui reikia priverstinai pakeisti numatytąjį įvykių ciklo politiką į individualią, pavyzdžiui naudojant uvloop, pagrįstą libuv, ir kaip pasiekiamas našumo padidėjimas?

6

Kas yra išraiškos indeksas (Expression Index / Functional Index) PostgreSQL? Kokius papildomus kaštus jis sukelia rašymo operacijose (INSERT/UPDATE) ir kodėl planuotojas gali atsisakyti jo naudoti, jei užklausos išraiškos duomenų tipai nesutampa?

4

Ką reiškia gili kopija (copy.deepcopy) Python kalboje iš našumo perspektyvos? Kaip šis mechanizmas apeina ciklines nuorodas, kodėl jis kritiškai lėtai veikia dideliuose objektų grafikuose ir kokie alternatyvūs modeliai jį pakeičia aukšto apkrovimo sistemose?

4

Kaip veikia Sidecar modelis Kubernetes, pavyzdžiui, su Istio ar Envoy? Kaip šis modelis leidžia iškrauti srauto šifravimą (mTLS), užklausų sekimą ir pakartojimus iš programos?

4

Kas yra Cache Penetration, Cache Avalanche ir Cache Warmup? Kaip suprojektuoti cache sluoksnį internetinei parduotuvei, kad naktinės išpardavimo metu, kai milijonai vartotojų vienu metu užsako naujus produktus, duomenų bazė nesugriūtų dėl cache praleidimų?

4

Kokie yra skirtumai tarp Push pagrįstos ir Pull pagrįstos architektūros kuriant duomenų srauto sistemas, tokias kaip RabbitMQ ir Kafka? Kaip šie požiūriai veikia atminties naudojimą brokerio pusėje ir vartotojų backpressure problemą?

3

Aprašykite dviejų fazių įsipareigojimo (2PC) protokolą, skirtą paskirstytoms operacijoms, apimančioms dvi nepriklausomas reliacines duomenų bazes. Kas nutiks sistemai, jei operacijos koordinatorius tiksliai tarp balsavimo fazės (Prepare) ir įsipareigojimo fazės (Commit) sugriūtų?

3

Paaiškinkite įmontuotos funkcijos compile() mechanizmą. Kaip konvertuoti dinamiškai sugeneruotą Python kodo eilutę į kodo objektą, saugiai ją vykdyti izoliuotame kontekste naudojant exec/eval ir užkirsti kelią nuotolinio kodo vykdymo pažeidžiamumams (RCE)?

3

Aprašykite WebSockets, SSE (Server-Sent Events) ir gRPC Streaming protokolų tarpusavio kompromisus. Kurį protokolą pasirinktumėte: a) gyvas pokalbis, b) vienpusiai akcijų kainų srautas, c) tarp paslaugų komunikacija mikroservice architektūroje, ir kodėl?

2

Kaip veikia C/C++ plėtinių Python (C Extensions) statymas po gaubtu? Kodėl tradicinį Python C API naudojančios plėtiniai sulėtina pereitį prie GIL-nes Python, ir kaip šią problemą sprendžia šiuolaikinės alternatyvos kaip HPy ar Cython?

2

Kodėl standartinė Python funkcija os.cpu_count() dažnai grąžina fizinio serverio visų branduolių skaičių Docker konteineryje, kuris veikia Kubernetes pod'e su CPU limitu: 2? Kokios kritinės problemos tai sukelia su gijų pool'o dydžiu Gunicorn ar Celery ir kaip tai ištaisyti?

2

Kaip veikia nuoseklaus žymėjimo algoritmas? Kodėl jis reikalingas kuriant paskirstytą talpyklos klasterį, pavyzdžiui, su 20 Redis serveriais, ir kaip jis sumažina raktų skaičių, kurį reikia perkelti, pridėjus ar pašalinus mazgą?

1

Kaip Linux Cgroups (Control Groups) ir Namespaces sukuria izoliaciją Docker konteineryje? Kas atsitinka su Python procesu, kai jis viršija resource.limits.cpu Kubernetes'e, ir kodėl limits.memory viršijimas sukelia OOMKilled, o CPU viršijimas tik sukelia throttling?

1