Golang
Hogyan tároljuk helyesen a külső szolgáltatás hoszt URL-jét?
Mi az a map Go-ban? Hogyan van felépítve (új implementáció a Go 1.24-ben)?
Meséljen a CI/CD csővezetékről: milyen környezetek, milyen lépések, hogyan épült fel a folyamat?
Miért döntöttél úgy, hogy kilépsz a piacra? Mi nem tetszik a jelenlegi helyeden?
Miért használják az interfészeket a Go-ban, mik az előnyei és hátrányai?
Mi a különbség a materializált nézet és a szokásos nézet között?
Korábbi projektek során találkozott már Kubernetes-szel?
Mit lát a repository réteg?
Újrahash-eléskor a hash megmarad vagy újat számítanak ki a kulcs számára?
Mi a konkurencia és a párhuzamosság? Miben különböznek? Együtt létezhetnek?
Mekkora memóriát foglal a bool típus?
Magad nézted a monitoringot, vagy van egy külön csapatod?
Hogyan működik a GOMAXPROCS, és mire való a P (processzor) a GMP-modellben?
Miért van szükség két if ellenőrzésre (a 79. sorban és a len(buf)==MaxItems sorban), egy helyett?
/* Két PostgreSQL szerver van: * PROD - OLTP szerver, * STATS - szerver hosszú elemző lekérdezésekhez. A jelenlegi szerveren, a prod adatbázisban, van egy nagy (10Tb) táblázat a következő szerkezettel: CREATE TABLE profiles( id SERIAL, data JSONB ) A táblában lehetnek "lyukak", azaz néhány `id` hiányzik. Írjon egy programot a profiles tábla másolására a PROD-ról a STATS-re. Feltételezzük, hogy a következő interfészeket fogjuk használni az adatbázisokkal való munkához: type Row []interface{} type Database interface { // a Database interfész implementációja újra kapcsolatokat állíthat helyre // a SaveRows hívás idempotens io.Closer GetMaxID(ctx context.Context) (uint64, error) LoadRows(ctx context.Context, minID, maxID uint64) ([]Row, error) // [minID, maxID] SaveRows(ctx context.Context, rows []Row) error } func Connect(ctx context.Context, dbname string) (Database, error) // CopyTable // Ha full=false, folytassa az adatok átvitelét a korábbi hiba helyétől // Ha full=true, az összes adatot át kell vinni func CopyTable(fromName string, toName string, full bool) error { // ... a kódod } Ha a `full=false` opciót adjuk meg, a programnak folytatnia kell az adatok átvitelét a korábbi hiba helyétől. Ha `full=true`, akkor az összes adatot át kell vinni. **Alapszint**: - szekvenciális adatátvitel egyetlen folyamként - hibák utáni helyreállítás (opció `full=false`) További információk: - szükség esetén bővítheted az interfészt saját módszerek hozzáadásával - szükség esetén közvetlenül használhatod a **database/sql** csomagot
Mit tettél a fogyasztói késéssel (consumer lag) a szolgáltatás újraindítása vagy leállítása során?
Az építészetben szeretnél fejlődni?
Tudnál a goroutine-okról beszélni? Mit tudsz róluk, mik a jellemzőik?
Milyen teszteket végeztek a projektben, és hogyan indították el őket?
Mi történik, ha hash ütközések fordulnak elő a térképen?