TSUM / ЦУМ
Созвон с HR
Заголовок раздела «Созвон с HR»- Как объединить два отсортированных односвязных списка в отсортированный один?
algorithms/sorting-search - Что такое топик у Kafka?
brokers/kafka - Знаком ли ты с антипаттерном God Function?
architecture/patterns - Что такое балансировка?
network/balancing - Что такое стек и как он работает?
go/memory-gc - Что такое хеш и чем отличается от хеш-функции?
algorithms/data-structures - Что такое race condition в Go?
go/sync - В чем суть репликации данных?
sql/replication-scaling - Важен ли в составном индексе SQL порядок столбцов и почему?
sql/indexes - Плюсы и минусы CI (continuous integration)?
devops/ci-cd - Что такое очередь сообщений в брокере?
brokers/general - Что такое Explain?
sql/query-optimization - Назови все структуры данных, которые ты знаешь/
algorithms/data-structures - Какие типы каналов есть в Go?
go/channels - Как посмотреть историю коммитов?
git/general - В чем разница между массивом и слайсом?
go/slices-arrays - Как реализовать Set в Go?
go/basics - В чем разница между процессом ОС и горутиной?
go/concurrency - Что такое буква D в SOLID?
architecture/principles - В чем разница между монолитом и микросервисами?
architecture/microservices - Что такое вертикальное/горизонтальное масштабирование?
architecture/system-design - Что такое хайлоад и какие критерии?
architecture/system-design - Что такое дедлок в Go?
go/sync - Как найти середину односвязного списка?
algorithms/data-structures
Задача: Нужно реализовать функцию, которая выполняет поиск query во всех переданных SearchFunc. Когда получаем первый успешный результат - отдаем его сразу, не дожидаясь результата других SearchFunc. Если все SearchFunc отработали с ошибкой - отдаем последнюю полученную ошибку go/errors-panic
Заголовок раздела «Задача: Нужно реализовать функцию, которая выполняет поиск query во всех переданных SearchFunc. Когда получаем первый успешный результат - отдаем его сразу, не дожидаясь результата других SearchFunc. Если все SearchFunc отработали с ошибкой - отдаем последнюю полученную ошибку go/errors-panic»type Result struct{}
type SearchFunc func(ctx context.Context, query string) (Result, error)
func MultiSearch(ctx context.Context, query string, sfs []SearchFunc) (Result, error) { // Write here}Задача: Что выведет? go/puzzles
Заголовок раздела «Задача: Что выведет? go/puzzles»func main() { var m map[string]int
for _, word := range []string{"hello ", "world ", "from ", "the ", "best ", "language ", "in ", "the ", "world "} { m[word]++ }
for k, v := range m { fmt.Println(k, v) }
fmt.Println(m)}Задача: Что выведет? go/puzzles
Заголовок раздела «Задача: Что выведет? go/puzzles»type MyContainer struct { int A}
func main() { arr := []MyContainer{ {A: 1}, {A: 2}, {A: 3}, } modify(arr)
for _, elm := range arr { fmt.Sprintf("%s;", elm) }}
func modify(arr []MyContainer) { arr[0].A = 10 arr = append(arr, MyContainer{A: 4}, MyContainer{A: 5})}Задача: Для пользователей у которых более одного профиля вывести id пользователя и id профилей sql/general
Заголовок раздела «Задача: Для пользователей у которых более одного профиля вывести id пользователя и id профилей sql/general» -- База данных: PostgreSQL
CREATE TABLE users (id serial,username varchar(30),email varchar(30),is_active boolean,created_at timestamp);
-- SELECT \* FROM users;id | username | email | is_active | created_at----+----------------+-------+-----------+------------1 | первый | | |2 | второй | | |3 | третий | | |4 | четвертый | | |(4 rows)
CREATE TABLE profiles (id serial,user_id integer,first_name varchar(30),last_name varchar(30),gender integer, -- значения: 0, 1, 2birthdate date);
-- SELECT \* FROM profiles;id | user_id | first_name | last_name | gender | birthdate----+---------+------------+------------+--------+-----------1 | 1 | name1 | last_name1 | 0 |2 | 1 | name2 | last_name2 | 1 |3 | 2 | name3 | last_name3 | 2 |(3 rows)