Ile mikroserwisów napisałeś podczas pracy w firmie?
Golang
Opowiedz o swoim doświadczeniu, czym się zajmowałeś, nad jakim projektem pracowałeś i jaką rolę odgrywałeś?
Opowiedz o pracy z slices w Golang: jak działają capacity, length i co się stanie przy przekroczeniu granic.
Jak przekazać slice do funkcji w języku programowania?
Czego na pewno nie chciałbyś widzieć w nowym miejscu pracy?
Jak anulować rezerwację po upływie czasu oczekiwania (5 minut)?
Wyjaśnij mechanizm i cechy dziedziczenia w programowaniu obiektowym.
WYBIERZ dział, SUMA(pensja) Z pracowników GDZIE SUMA(pensja) > 10000 GRUPUJ WEDŁUG działu;
Jaka jest rola operatora EXPLAIN podczas wykonywania zapytań SQL w bazie danych?
Opowiedz o swoim ostatnim projekcie, z którego jesteś dumny.
Jakie zadania najbardziej lubisz, a które mniej?
Opowiedz o optymalizacji zapytań do bazy danych z punktu widzenia technicznego.
Jakie rodzaje architektur warstwowych istnieją? (Clean Architecture, Hexagonal, DDD)
Jak przebiega łańcuch zadań — od biznesu do rozwoju?
// Co pokaże kod? func main() { var wg sync.WaitGroup for i := 0; i < 3; i++ { go func() { wg.Add(1) defer wg.Done() fmt.Print(i) }() } wg.Wait() fmt.Println("\ndone") }
Czy istnieje działalność gospodarcza lub inne formy osób prawnych?
Opowiedz o planowniku Golang, jak radzi sobie z operacjami blokującymi
Czy sam nadzorujesz monitoring, czy masz osobny zespół?
Czy w twoim zespole jest rozwój mobilny?
// Znajdź maksymalną liczbę parzystą package main import "fmt" func main() { var max int for i := 1000; i > 0; i-- { go func() { if i%2 == 0 && i > max { max = i } }() } fmt.Printf("Maksymalna liczba to %d", max) } func maxEvent(n, workers int) int { var wg sync.WaitGroup results := make(chan int, workers) jobs := make(chan int, workers) for w := 0; w < workers; w++ { wg.Add(1) go func() { defer wg.Done() localMax := -1 for num := range jobs { if num%2 == 0 && num > localMax { localMax = num } } result <- localMax }() } go func() { for i := 1; i <= n; i++ { jobs <- i } close(jobs) }() go func() { wg.Wait() close(results) }() globalMax := -1 for localMax := range results { if localMax > globalMax { globalMax = localMax } } return globalMax }