Burger King / Бургер Кинг
Вопросы
Заголовок раздела «Вопросы»- Рассказ о себе и обязанностях.
hr-behavioral/general - Какие проблемы с производительностью PostgreSQL вы встречали?
sql/general - Что такое индекс? Как он ускоряет поиск? Типы индексов. Отличие B-tree от хэш-индекса.
sql/indexes - Как PostgreSQL хранит данные?
sql/general - Транзакции, ACID, уровни изоляции, MVCC.
sql/transactions - Что такое VACUUM?
sql/replication-scaling - Запустится ли транзакция при одном запросе UPDATE?
sql/transactions - CAP-теория. Как достигается согласованность в PostgreSQL?
sql/general - Что такое FOREIGN KEY?
sql/schema-design - Важна ли последовательность условий для составного индекса?
sql/indexes - Почему триггер NOTIFY не срабатывает на реплике?
sql/replication-scaling - Примитивные типы в Go. Для чего нужны?
go/basics - Разница между int и int64.
go/basics - Строка в Go. Длина строки «Привет» в байтах. Что будет при обращении к нулевому элементу?
go/strings-runes - Что такое массив?
go/slices-arrays - Слайс. Как работает append?
go/slices-arrays - Устройство мапы. Что такое «эвакуация данных»?
go/maps - Конкурентность vs. параллельность.
go/concurrency - Поток, горутина: отличия.
go/concurrency - Как рантайм Go управляет потоками?
go/runtime - Типы многозадачности. Вытесняющая многозадачность: зачем добавили?
go/concurrency - Примитивы синхронизации.
go/sync - Атомики: для чего нужны? Почему x++ вызывает гонку?
hr-behavioral/motivation - Отличие буферизированного канала (буфер=1) от небуферизированного.
go/channels - select: что делает, если каналы не готовы? Примеры использования.
go/channels - Контекст: как отмена влияет на горутины? Как проверить контекст?
go/concurrency - Сборщик мусора: принцип работы. Как в языках без GC?
go/memory-gc - Что такое ESB? Типы атак (SQL-инъекции, XSS). Как работает XSS?
security/appsec - Что делает cherry-pick?
git/general - Отличие merge от rebase?
git/general
Задача: Что выведет? go/puzzles
Заголовок раздела «Задача: Что выведет? go/puzzles»func main() { appendAndModify := func(s1 []int) { newSlice := append(s1, 1) newSlice[0] = -1 }
slice1 := []int{1, 2, 3}
appendAndModify(slice1)
slice2 := make([]int, 0, 10) slice2 = append(slice2, 1, 2, 3)
appendAndModify(slice2)
fmt.Println(slice1, slice2)}Задача: Что выведет? go/puzzles
Заголовок раздела «Задача: Что выведет? go/puzzles»func main() { type User struct{ ID int }
users := map[int]User{1: {ID: 1}}
var user *User
user = &users[1]
fmt.Println(user)}Задача: Что выведет? go/puzzles
Заголовок раздела «Задача: Что выведет? go/puzzles»func main() { rpcCall := func() int { time.Sleep(time.Duration(rand.Intn(3)) * time.Second)
return 42 }
job := func() { result := rpcCall() fmt.Println(result) }
job()
fmt.Println("---")}Задача: Что выведет? go/puzzles
Заголовок раздела «Задача: Что выведет? go/puzzles»func main() { n := 10
wg := sync.WaitGroup{} wg.Add(n)
for i := range n { go func() { fmt.Println(i * 10) wg.Done() }() }
wg.Wait()}