Znamená to, že všetko sa aj tak ukončí po tomto timeoute? Inými slovami, môže sa stať, že niečo ešte nefunguje — aký je tu problém?
Golang
Predstavimo si, da imamo veliko obremenitev, milijone strank, in vaš poizvedba začne zelo počasi delovati. Kaj bi naredili? Kako bi razumeli, da deluje v konstantnem času?
Môžeš povedať, ako si vybral algoritmus na vytvorenie krátkeho odkazu?
Ako ovplyvňujú časové limity zníženie záťaže na analytiku?
Ako to urobiť na úrovni Go — ideovo, aby sa odoslala odpoveď používateľovi a súčasne sa odosielali údaje do analytiky?
Povedz mi o projekte v Avito — pozícia (mid/senior), aké úlohy si riešil?
Prečo sa triggery používajú hlavne pre Legacy systémy?
Čo sú referencie, ktoré ste použili?
Čo možno povedať o rýchlosti čítania pri prítomnosti indexu?
Aký typ bude mať tento počítadlo?
Čo vypíše program? Prečo? ```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 } ```
Existujú v tejto tabuľke indexy?
Aké sú vaše očakávania ohľadom platu? Ako bol štruktúrovaný váš predchádzajúci príjem (základná mzda, bonusy)? Ste ochotní zvážiť celkový príjem vrátane bonusov?
Tiež si povedal, že použijeme inner join. Prečo? Mohli sme použiť aj left join? Čo je rozdiel medzi left join a right join?
Aké sú kritériá pri výbere nového pracovného miesta?
Je časový limit rovnaký pre všetkých? Ako sa bude tento časový limit počítať?
V čom presne spočíva absencia kolízií v rôznych riešeniach — v pamäti a v databáze?
Torej, tvoje rešenje v pameti uporablja mutex. Lahko pojasniš, kaj je to in katerega si uporabil?
Čo tento kód vypíše a prečo? ```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) } } ```
Čo si myslíš, aký je problém s riešením v pamäti? Čo sa stane, ak reštartuješ službu?