Golang
Nima uchun Kafka va gRPC ni bir vaqtning o'zida ishlatdik? Qaysi senariyalar Kafka orqali, qaysilari gRPC orqali o'tdi?
Tashqi xizmatning host URL sini qanday to'g'ri saqlash kerak?
Go'da map nima? U qanday tuzilgan (Go 1.24 da yangi amalga oshirish)?
CI/CD pipeline haqida gapirib bering: qaysi muhitlar, qaysi bosqichlar, qanday qurildi jarayon?
Nima uchun bozorga chiqishga qaror qildingiz? Hozirgi ish joyingizda nima sizni qoniqtirmaydi?
Go tilida interfeyslar nima uchun ishlatiladi, ularning afzalliklari va kamchiliklari qanday?
Materialized view nima oddiy view dan qanday farqi bor?
Oldingi loyihalarda Kubernetes bilan ishlashga to‘g‘ri kelganmi?
Repository qatlam nima ko‘ra oladi?
Hashni qayta hisoblashda, hash eski qoladimi yoki kalit uchun yangi hisoblanadimi?
Nima bu raqobat va parallelizm? Ular qanday farq qiladi? Ular birga mavjud bo'lishi mumkinmi?
Bool turi qancha xotira oladi?
Siz o'zingiz monitoringni kuzatasizmi yoki alohida jamoangiz bormi?
GOMAXPROCS qanday ishlaydi va GMP-modelida P (protsessor) nima uchun kerak?
Nima uchun ikkita if tekshiruvi kerak (79-chi satrda va len(buf)==MaxItems bo'lgan satrda), bitta emas?
/* PostgreSQL-ning ikki serveri bor: * PROD - OLTP server, * STATS - uzoq davom etadigan tahliliy so'rovlar uchun server. Hozirgi serverda, prod bazasida, katta (10Tb) jadval mavjud: CREATE TABLE profiles( id SERIAL, data JSONB ) Jadvalda "toshlar" bo'lishi mumkin, ya'ni ba'zi `id`lar o'tkazib yuborilgan bo'lishi mumkin. PROD dan STATS ga profiles jadvalini nusxalash uchun dastur yozish kerak. Quyidagi interfeyslar bilan ishlashni taxmin qilamiz: type Row []interface{} type Database interface { // Database interfeysining implementatsiyasi ulanishlarni qayta o'rnatishi mumkin // SaveRows chaqiruvi idempotent 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 // Agar full=false bo'lsa, avvalgi xatodan qolgan joydan ma'lumotlarni o'tkazishni davom ettirish // Agar full=true bo'lsa, barcha ma'lumotlarni o'tkazish func CopyTable(fromName string, toName string, full bool) error { // ... kodingiz } Agar `full=false` opsiyasi berilsa, dastur avvalgi xatodan qolgan joydan ma'lumotlarni o'tkazishni davom ettirishi kerak. Agar `full=true` bo'lsa, barcha ma'lumotlarni o'tkazishi kerak. **Asosiy daraja**: - ma'lumotlarni bitta oqimda ketma-ket o'tkazish - xatodan keyingi tiklash (opsiya `full=false`) Qo'shimcha ma'lumotlar: - agar kerak bo'lsa, interfeysni o'zingizning metodlaringiz bilan kengaytirishingiz mumkin - agar kerak bo'lsa, to'g'ridan-to'g'ri **database/sql** paketidan foydalanishingiz mumkin
Xizmatni qayta sozlash yoki to'xtatishda iste'molchi kechikishi bilan nima qildingiz?
Arxitektura sohasida rivojlanishni xohlaysizmi?
Gorutinalar haqida gapira olasizmi? Ular haqida nima bilasiz, ularning xususiyatlari qanday?
Loyiha bo'yicha qanday testlar o'tkazildi va ularni qanday ishga tushirdilar?