Golang
Алгоритмичен раздел: две задачи от ниво Medium или по-високо в LeetCode. Продължителност — 1,5 часа за двете задачи.
Услугата обработва заявката, започва да прави нещо, опитва отново, а в този момент подът се рестартира. Какво ще се случи?
Разкажи ми за модела GMP в Go. Как работят опашките, какво е handoff, work stealing, netpoller?
""" Местата в киното са разположени в една редица. Новодошлият зрител избира място, за да седне възможно най-далеч от останалите зрители в редицата. Тоест, разстоянието от това място, където ще седне зрителят, до най-близкия зрител трябва да бъде максимално. Гарантира се, че винаги има свободни места в редицата и че вече има поне един зрител. Напишете функция, която по дадена редица места (масив от нули и единици) ще върне разстоянието (броя на интервалите между седалките) от избраното място до най-близкия зрител. [1, 0, 0, 0, 1] -> 2 [1, 0, 1, 0, 0, 1, 0, 0, 1] -> 2 [1, 0, 1, 0] -> 1 [0, 0, 0, 1] [1, 0, 0, 0] place = ((right - left) / 2) """ func maxPlaces(arr []int) int { }
Колко микросервиса имате на Go и колко често възникват задачи, засягащи два микросервиса?
Колко приблизително микросервиса имаше в системата?
Какво е конкуренция за заключване?
Какви са предимствата и недостатъците на pgx?
Какво е процес и нишка в ОС (Linux)?
С какви методологии за разработка сте работили? Кои са най-удобните?
Работите ли в момента по трудов договор или като самоосигуряващо се лице/самостоятелен предприемач?
Къде искаш да се развиваш в бъдеще — технически или управленски?
Създайте процедура и направете от нея SELECT.
Каква е времевата и паметната сложност (Big O) на този алгоритъм?
Колко години се занимаваш с разработка на Go?
Какви са типичните причини за течове на горутини в производствените системи и как те влияят на поведението на услугата по време на изпълнение?
Каква е разликата между функция и метод в Go? Каква е техническата разлика по отношение на работата с паметта?
Какво ще изведе програмата? package main import "fmt" func main() { original := []int{1, 2, 3} updated := append(original, 4) original[0] = 100 fmt.Println(original, updated) } [100 2 3] [1 2 3 4] [100 2 3] [100 2 3 4] [1 2 3] [1 2 3 4]
func appendSlice(sl []int, val int) { sl = append(sl, val) } func mutateSlice(sl []int, idx, val int) { sl[idx] = val } package main import "fmt" type Person struct { Name string } func changeName(person *Person) { person = &Person{ Name: "Alice", } } func main() { person := &Person{ Name: "Bob", } fmt.Println(person.Name) // changeName(person) fmt.Println(person.Name) // }
Колко бекенда имаше в екипа [компания]?