Golang
Go-da Swiss Tables necə təşkil olunub?
Bərabər paylanma testindən keçmir: backend[0] üçün 5 çağırış gözlənilirdi, 10 çağırış alındı, backend[1] üçün 5 çağırış gözlənilirdi, 0 çağırış alındı
Kitabxona modelini təsvir etmək lazımdır. 3 varlıq var: "Yazar", "Kitab", "Oxucu". -- Fiziki olaraq, yalnız bir kitab var və yalnız bir oxucuya aid ola bilər. -- Bir kitabın bir neçə müəllifi ola bilər.
Mesaj brokerinə hadisələrin göndərilməsi zamanı hansı problem yaranabilir və onu necə həll etmək olar?
Karyera yolu varmı? Texniki inkişaf etmək və ya menecment/tim liderliyi istiqamətində inkişaf etmək istəyirsinizmi?
Tapşırıq: Kod nə göstərəcək? ```go package main import "fmt" func main() { a := []int{1, 2, 3, 4, 5} b := a[:2] b = append(b, 100) fmt.Println(a, b) } ```
// TODO backends []*BackendImpl index int mu sync.Mutex func (b *Balancer) Invoke(ctx context.Context, req Request) (Response, error) { b.mu.Lock() index := b.index if b.index + 1 == len(b.backends) { b.index = 0 index = 0 } b.mu.Unlock() resp, err := b.backends[index].Invoke(ctx, req) b.mu.Lock() defer b.mu.Unlock() b.index += 1 return resp, err } // addr ip:port içeren belirli bir örneği tutar func NewBackend(addr string) *BackendImpl // addrs tüm yük dengeleme örneklerinin adreslerini içerir func NewBalancer(addrs []string) *Balancer { // TODO backends := make([]*BackendImpl, len(addrs)) for _, addr := range addrs { backends = append(backends, NewBackend(addr)) } return &Balancer{ backends: backends, } }
Əsas inkişaf diliniz nədir və neçə il təcrübəniz var?
Birləşmiş indekslərlə işləyibsənmi?
Sadə bank sistemini modelləşdirin: - `accounts` cədvəli: - `id`, - `owner_id`, - `currency`, - `created_at`. - `transactions` cədvəli: - `id`, - `account_id`, - `amount`, - `created_at`. **Tələblər:** 1. Lazımi məhdudiyyətlərlə sxem yaratmaq üçün SQL yazın (NOT NULL, FK, `amount` üçün CHECK). 2. Sorğu yazın: - `account_id` üzrə hesabın cari balansını alın (`amount` cəm). 3. Əlavə çətinlik: debet/kredit dəstəyini təmin edin (ikiqat qeyd). Təmizləmə.
Ümumilikdə, görünürlüğü artırmaq üçün hansı layihəni istəyərdin: hansı yanaşmalar, proseslər və tapşırıqlarla?
Go-da kitabxana var — LRU, burada Any göndərə və TTL təyin edə bilərsiniz. Niyə Redis seçildi, yoxsa o?
Müsahibə mərhələləri ilə bağlı suallar var mı?
Verilənlər bazasında tranzaksiya səviyyəsində, bir siqnalı eyni zamanda cavablandıran bir neçə qrup olsa da, yalnız bir qrup göndərmək necə mümkündür?
İzləyiş zamanı — təxminən neçə komanda, xidmət, öz komandaları ilə neçə inteqrasiya?
x86 memarlığında, fasilə əmri iki bayt tutar, lakin 3 nömrəli fasilənin alternativ bir bayt variantı var. Bu niyə lazım oldu?
Yüklər, yeni xidmətlərin memarlığı (hesablama vərəqləri və tariflər) haqqında suallar — bunu necə qəbul edirsiniz?
İndiki iş yerinizdən çıxmağı düşünürsünüzmü?
İndiyə qədər təkliflərin var yoxsa hələ də müsahibələr keçirirsən?
İş axtarışınızın hansı mərhələsindəsiniz: aktiv və ya passiv olaraq vakansiyaları nəzərdən keçirirsiniz?