Golang
Какие команды Linux знаешь? Расскажи кейс работы с консолью
Type Assertion — для чего нужна конструкция?
В каких командах привыкли работать — больших или маленьких?
Расскажи про протоколы прикладного уровня. Что такое gRPC? Чем отличается от REST?
Как устроен сборщик мусора в Go и в какой области памяти работает?
Как у вас PostgreSQL был развёрнут — была реплика для аналитики или читали с мастера?
Зачем нужен канал с пустой структурой chan struct{}?
Как Go управляет памятью?
Как реализовали кэширование? Использовали Redis локи?
Как создать кастомную ошибку в Go, которую можно передать через интерфейс error?
Какой транспортный протокол использует gRPC? В чём разница между HTTP/2 и HTTP/1.1?
Что такое указатель и сколько он занимает памяти?
Что такое партиционирование таблиц? Расскажи про опыт.
Что такое реляционная база данных?
Длина может быть до 1000 — расскажите почему такое может быть и как этот феномен называется?
Что нужно улучшить в реализации ordered map, если бы было больше времени? Какие возможные проблемы и направления развития библиотеки?
import "fmt" func maxDistants(arr []int) int { maxDist := 0 lastOne := -1 for i := 0; i < len(arr); i++ { if arr[i] == 1 { if lastOne == -1 { maxDist = i } else { dist := (i - lastOne) / 2 if dist > maxDist { maxDist = dist } } lastOne = i } } if arr[len(arr)-1] == 0 { dist := len(arr) - 1 - lastOne if dist > maxDist { maxDist = dist } } return maxDist } func main() { fmt.Println(maxDistants([]int{1, 0, 0, 0, 1})) }
Можно ли вызвать WaitGroup.Add внутри горутины, а Done в конце? Будет ли это работать корректно?
Как написать запрос для получения пользователя с предпоследней зарплатой?
Расскажите об опыте в Газпромнефти.