Что такое партиционирование таблиц? Расскажи про опыт.
Что такое реляционная база данных?
Что нужно улучшить в реализации 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 в конце? Будет ли это работать корректно?
Как написать запрос для получения пользователя с предпоследней зарплатой?
Расскажите об опыте в Газпромнефти.
Расскажи о себе и своём опыте работы
Реализуйте логику функции Allow для rate limiter. Как вы будете отслеживать события и проверять лимиты?
/** * Слить N каналов в один * * Даны n каналов типа chan int. Надо написать функцию, которая смерджит все данные **/ // 1. Требуется реализовать функцию для слияния N каналов в один func joinChannels(chs ...<-chan int) <-chan int { mergedCh := make(chan int) // ... return mergedCh } // 2. напишите заполнение каналов a, b, c с значениями // ...
Что такое трассировка (tracing)? Как её вести?
Расскажи про паттерн Semaphore?
При выборе нового места работы на что обращаете внимание?
Какой транспортный протокол использует gRPC? В чём разница между HTTP/2 и HTTP/1.1?
Что такое reverse proxy и с помощью чего его можно реализовать?
Можешь привести пример узкого места, которое удалось найти через профилирование с помощью pprof?
Чем отличается JSON от JSONB в PostgreSQL?
func main() { c := make(chan int, 1000) var wg sync.WaitGroup wg.Add(100) for i := 0; i < 100; i++ { go func() { defer wg.Done() foo(c) }() } go func() { wg.Wait() close(c) }() sum := 0 for r := range c { sum += r } // fmt.Println(sum) } func foo_req(c chan int) error { r := rand.Int() for i := 0; i < r; i++ { c <- r } }
146% CPU в top — возможно ли это и что означает?
LRU хранит данные на уровне application — в каком смысле поведение кэша становится непредсказуемым при масштабировании?