Golang
Uzrakstiet funkciju, kas vietā izņem visus elementus, kas ir vienādi ar val, no slice. Atgriež slice bez izņemtajām vērtībām. func RemoveValue(slice []int, val int) []int { // jūsu kods } // Piemērs RemoveValue([]int{1,2,3,2,4}, 2) // -> []int{1,3,4} RemoveValue([]int{1,2,3}, 5) // -> []int{1,2,3} RemoveValue([]int{}, 1) // -> []int{}
Kādus rīkus izmantojāt atkarību pārvaldībai Go?
Pastāstiet man par Garbage Collector'i Go, kā tas darbojas.
Kādi problēmas var rasties, izmantojot Redis ar lielu slodzi?
Pastāsti par sync.Atomic: kam tas ir paredzēts, vai tev nācies to izmantot darbā?
Ko atgrieza meklēšanas pakalpojums?
Cik daudz hostos darbojās pakalpojums un cik instances tika palaistas?
Kā jūs strādājāt ar WebSocket? Infrastruktūras uzstādīšanas līmenī vai tikai kodā? Kādas tehnoloģijas izmantojāt? Vai bija problēmas ar savienojumu infrastruktūras līmenī?
Vai jūs varētu īsi aprakstīt, no kādiem pakalpojumiem sastāvēja sistēma un kā tās savstarpēji sazinājās?
func (r *PayoutRepository) Payout(advertiserID, partnerID string, amount float32) error { advertiser, err := r.find(advertiserID) // pievienot darījumu if err != nil { return err } partner, err := r.find(partnerID) if err != nil { return err } advertiser.Balance -= amount // aizsargāt SELECT FOR UPDATE partner.Hold -= amount partner.Balance += amount if err := r.save(advertiser); err != nil { return err } if err := r.save(partner); err != nil { return err } r.totalPayouts++ return nil }
Ko rakstāt Go — mikroservisi vai pakalpojumi?
Kāds mehānisms ir Go: mantošana vai sastāvs?
Kā mēs varētu ārēji apstrādāt kļūdas, kas notiek uzdevumos, ja mēs to vēlētos?
Kā pieslēgt profiler'i Go? Kā ņemt profilus?
Vai šobrīd tev ir attīstības prioritātes vai plāni?
Vai ir atšķirība izpildes laikā, ja salīdzinām to pašu funkciju ar sakārtotu un nesakārtotu masīvu? Kas ir branch prediction un procesora pipeline?
Vai veicāt slodzes testus? Kāda bija slodze?
Kā tika aprēķināts RPS — vai vienkārši summējāt visu rokturu slodzi vai kā?
Ko darījāt ar nederīgajām ziņojumiem pēc manuālas apstrādes? Kā tas tehniski izskatījās?
Kā ir organizēta komunikācija starp mikroservisiem?