Sobes.tech

Golang

Vai tas nozīmē, ka viss tomēr beigsies pēc šī laika? Citiem vārdiem sakot, kaut kas vēl var nedarboties — kāda ir šeit problēma?

231

Iedomājieties, ka mums ir liela slodze, miljoniem klientu, un jūsu pieprasījums sāk ļoti ilgi darboties. Ko darītu? Kā sapratīsiet, ka tas darbojas pastāvīgā laikā?

227

Vai vari pastāstīt, kā izvēlējāties saīsinātās saites veidošanas algoritmu?

209

Kā laika ierobežojumi ietekmē analītikas slodzes samazināšanu?

205

Kā to izdarīt Go līmenī — idejiski, lai nosūtītu atbildi lietotājam un vienlaikus nosūtītu datus analītikai?

199

Pastāsti par projektu Avito — amats (mid/senior), kādus uzdevumus risināji?

197

Kāpēc galvenokārt tiek izmantoti triggeri Legacy sistēmām?

187

Ko programma izvadīs? Kāpēc? ```go func main() { timeStart := time.Now() _, _ = <-worker(), <-worker() println(int(time.Since(timeStart).Seconds())) } func worker() chan int { ch := make(chan int) go func() { time.Sleep(3 * time.Second) ch <- 1 }() return ch } ```

184

Kādi ir jūsu algu gaidījumi? Kā tika veidots jūsu iepriekšējais ienākums (pamatalga, prēmijas)? Vai esat gatavs apsvērt kopējo ienākumu, ieskaitot prēmijas?

182

Tu arī teici, ka izmantosim inner join. Kāpēc? Vai varēja uzrakstīt arī left join? Kā atšķiras left join no right join?

179

Tātad, tava atmiņas risinājums izmanto mutex. Vari paskaidrot, kas tas ir un kuru tu izmantoji?

175

Vai laika limits ir vienāds visiem? Kā tiks aprēķināts šis laika limits?

175

Kā tieši tiek panākts kolīziju neesamība dažādās risinājumos — atmiņā un datu bāzē?

175

Kādi ir kritēriji, pēc kuriem izvēlaties jaunu darba vietu?

175

Ko šis kods izvadīs un kāpēc? ```go package main import "fmt" func main() { lst := []string{"a", "b", "c", "d"} for k, v := range lst { if k == 0 { lst = []string{"aa", "bb", "cc", "dd"} } fmt.Println(v) } } ```

173

Ko tu domā, kāda ir kopumā problēma ar atmiņas risinājumu? Kas notiks, ja pārstartēsi pakalpojumu?

170
/2