Znamená to, že vše skončí přesto po tomto timeoutu? Jinými slovy, může se stát, že něco ještě nefunguje — jaký je zde problém?
Golang
Představme si, že máme velké zatížení, miliony zákazníků, a vaše dotaz začíná velmi pomalu fungovat. Co byste udělali? Jak poznáte, že funguje v konstantním čase?
Můžeš říct, jak jsi vybíral algoritmus pro tvorbu krátkého odkazu?
Jak ovlivňují časové limity snížení zátěže na analytiku?
Pověz mi o projektu v Avito — pozice (mid/senior), jaké úkoly jsi řešil?
Jak to udělat na úrovni Go — ideově, aby se odeslala odpověď uživateli a současně se odesílala data do analytiky?
Co lze říci o rychlosti čtení při přítomnosti indexu?
Co program vypíše? Proč? ```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 } ```
Proč jsou triggery hlavně používány pro starší systémy?
Co jsou references, které jsi použil?
Jaké jsou vaše očekávání ohledně platu? Jak byl strukturován váš předchozí příjem (základní plat, bonusy)? Jste ochotni zvážit celkový příjem včetně bonusů?
Existují v této tabulce nějaké indexy?
Jaký typ bude mít tento čítač?
Také jsi řekl, že použijeme inner join. Proč? Šlo by napsat i left join? Čím se liší left join od right join?
Takže, tvoje řešení v paměti používá mutex. Můžeš vysvětlit, co to je a který jsi použil?
Je časový limit stejný pro všechny? Jak bude tento časový limit vypočítán?
Co tento kód vypíše a proč? ```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) } } ```
V čem přesně spočívá absence kolizí v různých řešeních — v paměti a v databázi?
Jaké jsou vaše kritéria při výběru nového místa práce?
Co si myslíš, jaký je problém s řešením v paměti? Co se stane, pokud službu restartujete?