Golang
Kāpēc tika izmantots vienlaikus Kafka un gRPC? Kādi scenāriji tika pārraidīti caur Kafka, un kādi caur gRPC?
Kā pareizi glabāt ārējās pakalpojuma hosta URL?
Kas ir map Go? Kā tas ir uzbūvēts (jauna realizācija Go 1.24)?
Pastāstiet par CI/CD pipeline: kādi vidēji, kādi soļi, kā process tika būvēts?
Kāpēc nolēmi ienākt tirgū? Kas tev nepatīk tavā pašreizējā vietā?
Kāpēc Go tiek izmantotas saskarnes, kādas ir to priekšrocības un trūkumi?
Kā atšķiras materializēts skats no parasta skata?
Vai iepriekšējos projektos esat saskāries ar Kubernetes?
Ko var redzēt krātuves slānis?
Vai atjaunojot hašu, tas paliek tas pats vai tiek aprēķināts jauns atslēgas gadījumā?
Kas ir konkurētspēja un paralēlisms? Kā tie atšķiras? Vai tie var pastāvēt kopā?
Cik daudz atmiņas aizņem bool tips?
Vai jūs pats skatāt uzraudzību vai jums ir atsevišķa komanda?
Kā darbojas GOMAXPROCS un kam paredzēts P (procesors) GMP modelī?
Kāpēc ir nepieciešami divi if pārbaudes (79. rindā un rindā ar len(buf)==MaxItems), nevis viena?
/* PostgreSQL-ā ir divi serveri: * PROD - OLTP serveris, * STATS - serveris ilgām analītiskajām vaicājumiem. Pašreizējā serverī, prod datu bāzē, ir liela (10Tb) tabula ar šādu struktūru: CREATE TABLE profiles( id SERIAL, data JSONB ) Tabulā var būt "caurumi", t.i., dažiem `id` var būt izlaisti. Ir nepieciešams uzrakstīt programmu, kas kopē tabulu profiles no PROD uz STATS. Pieņemts, ka tiks izmantoti šādi interfeisi darbam ar datu bāzēm: type Row []interface{} type Database interface { // realizācija var atkārtoti izveidot savienojumus // SaveRows izsaukums ir idempotents 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 // Ja full=false, turpināt datu pārnešanu no iepriekšējās kļūdas vietas // Ja full=true, pārnest visus datus func CopyTable(fromName string, toName string, full bool) error { // ... jūsu kods } Ja tiek nodota opcija `full=false`, programmai jāturpina datu pārnešana no iepriekšējās kļūdas vietas. Ja `full=true`, jāpārnes visi dati. **Pamata līmenis**: - secīgs datu pārnešanas process vienā plūsmā - atjaunošana pēc kļūdas (opcijas `full=false`) Papildu informācija: - ja nepieciešams, vari paplašināt interfeisu, pievienojot savas metodes - ja nepieciešams, vari tieši izmantot **database/sql** paketi
Ko darījāt ar patērētāja kavēšanos (consumer lag) pārkonfigurēšanas vai pakalpojuma apturēšanas laikā?
Vai vēlies attīstīties arhitektūrā?
Vai vari pastāstīt par gorutinām? Ko tu par tām zini, kādas ir to īpašības?
Kādi testi tika veikti projektā un kā tie tika palaisti?