Golang
Ko pievēršat uzmanību, izvēloties jaunu darba vietu?
import "fmt" func maxDistants(arr []int) int { maxDist := 0 lastOne := -1 for i := 0; i < len(arr); i++ { if arr[i] == 1 { if lastOne == -1 { maxDist = i } else { dist := (i - lastOne) / 2 if dist > maxDist { maxDist = dist } } lastOne = i } } if arr[len(arr)-1] == 0 { dist := len(arr) - 1 - lastOne if dist > maxDist { maxDist = dist } } return maxDist } func main() { fmt.Println(maxDistants([]int{1, 0, 0, 0, 1})) }
Pastāstiet par Circuit Breaker: kā tika izstrādāts risinājums, uz kuriem pakalpojumiem tas tika uzstādīts, kas bija fallback?
Kas ir context Go un kam tas ir paredzēts?
Kur un kā palaist cleanup funkciju? Kā nodot kontekstu uz rate limiter?
Kā tiek nodoti funkcijas parametri Go, īpaši slices?
Pastāsti par pēdējo interesanto uzdevumu, ko tu pats realizēji
Kāda ir pieeja, ja dati ir dinamiska un mainās ik pēc 10 minūtēm, un tos lasa miljoni minūtē?
Kāpēc jūs izmantojāt Mutex vietā Atomic skaitītājam?
Pastāstiet man par Circuit Breaker — kas tas ir un kā tas darbojas?
tips Sem interfeiss { Lock() error //atgriežina kļūdu, ja kanāls ir pilns TryLock() bool // vienkārši mēģinām bloķēt, ja izdodas, atgriež true Release() //atbrīvot kanālu Cap() int // darba gorutīnu skaits FreeSpace() int //parāda, cik brīvas vietas ir kanālā } //struktūra //channel - domāt par buferi //capacity int //mutex
Cik savienojumu bija Postgres?
Vai RabbitMQ ir ātrāks par Kafka?
Kā veikt in-memory kešatmiņas invalidāciju dažādos podos? Kā sinhronizēt kešatmiņas starp dažādām pakalpojuma instancēm?
Pastāstiet par problēmu ar ClickHouse (kritumu, jo dēļ, ka ir liels unikālo ierakstu skaits) un kā to atrisinājāt.
Kāpēc vispār tiek izmantotas saskarnes (izstrādē, ne tikai Go)?
Kā noteikt, kur atradīsies mainīgais — uz krūves vai uz steka? Kas ir escape analīze un kā tā darbojas?
Vai pats konfigurēji Kafka Outbox?
Kas notiek ar Xmin un Xmax atjaunināšanas laikā?
Kā IP precīzi risina maršrutēšanas problēmu? Kā maršrutētājs saprot, kur nosūtīt paketi?