EnjoyPro
Актуальность: 4 кв 2025
Вопросы
Заголовок раздела «Вопросы»- Расскажите о вашем опыте работы с Golang, начиная с последнего места: какие задачи вы решали?
hr-behavioral/about-you - Опишите технологический стек проекта: какие инструменты и библиотеки использовались в разработке?
go/memory-gc - Каков был состав вашей команды?
hr-behavioral/teamwork - Как был организован ваш рабочий процесс?
linux-os/processes - По какой причине вы покинули эту компанию?
hr-behavioral/motivation - Как вы оцениваете свой текущий уровень как разработчика на Go?
go/basics - Был ли у вас опыт оптимизации запросов в PostgreSQL? Приведите пример интересного случая, где вам удалось оптимизировать запрос и решить проблему.
sql/query-optimization - Есть ли у вас опыт работы с Docker?
containers/docker - Что делает инструкция
FROMв Dockerfile?containers/docker - Какие архитектурные паттерны вы использовали в своей практике? Приходилось ли вам реализовывать их самостоятельно и какие задачи они решали?
architecture/patterns - Как работает сборщик мусора в Go?
go/memory-gc - Возможны ли утечки памяти в Go? Сталкивались ли вы с ними?
go/memory-gc - Какие примитивы синхронизации существуют в Go?
go/basics
Задача: База данных состоит из двух таблиц: department и employee, сотрудники и подразделения. Сотрудники работают в подразделениях. Написать запрос, который выведет название департамента, где работает больше, чем два сотрудника. sql/general
Заголовок раздела «Задача: База данных состоит из двух таблиц: department и employee, сотрудники и подразделения. Сотрудники работают в подразделениях. Написать запрос, который выведет название департамента, где работает больше, чем два сотрудника. sql/general»CREATE TABLE department(id int, name varchar(100));
CREATE TABLE employee(id int, department_id int, chief_id int, name varchar(100), salary int);
INSERT INTO department(id, name)VALUES(1, 'D1 '),(2, 'D2 '),(3, 'D3 ');
INSERT INTO employee(id, department_id, chief_id, name, salary)VALUES(1, 1, 5, 'John ', 100),(2, 1, 5, 'Misha ', 600),(3, 2, 5, 'Eugen ', 300),(4, 2, 5, 'Tolya ', 400),(5, 1, NULL, 'Stepan Chief ', 500);Задача: Что будет в консоли и почему? go/basics
Заголовок раздела «Задача: Что будет в консоли и почему? go/basics»type Circle struct { Radius int Len int}
func main() { sample := Circle{Radius: 50, Len: 75} newsample := &sample newsample.Radius = 1000 fmt.Println(sample.Radius)}Задача: Что будет в консоли и почему? go/basics
Заголовок раздела «Задача: Что будет в консоли и почему? go/basics»func add() func(int) int { cache := make(map[int]int)
return func(num int) int { if result, ok := cache[num]; ok { return result } else { result := num + 10 cache[num] = result fmt.Println("calculated ") return result } }}
func main() { addFunction := add() fmt.Println(addFunction(10)) fmt.Println(addFunction(10)) fmt.Println(addFunction(10))}Задача: Что будет в консоли и почему? go/basics
Заголовок раздела «Задача: Что будет в консоли и почему? go/basics»func calculate(a, b int) (result int) { defer func() { result += 10 fmt.Println("Defer 1:", result) }()
result = a + b defer fmt.Println("Defer 2:", result)
return result + 1}
func main() { fmt.Println("Result:", calculate(1, 2))}Задача: Что будет в консоли и почему? go/basics
Заголовок раздела «Задача: Что будет в консоли и почему? go/basics»type TicketOffice struct { tickets int}
func (t *TicketOffice) SellTicket() bool { if t.tickets > 0 { t.tickets-- return true } return false}
func main() { runtime.GOMAXPROCS(runtime.NumCPU())
ticketOffice := TicketOffice{tickets: 10} var wg sync.WaitGroup wg.Add(5)
for i := 0; i < 5; i++ { go func(id int) { defer wg.Done() for j := 0; j < 5; j++ { time.Sleep(time.Duration(rand.Intn(500)) * time.Millisecond) if ticketOffice.SellTicket() { fmt.Printf("Касса %d: продала билет\n ", id) } else { fmt.Printf("Касса %d: билеты закончились\n ", id) } } }(i + 1) }
wg.Wait() fmt.Println("Билеты закончились!")}Задача: Написать функцию, которая должна посчитать количество одинаковых последовательно идущих символов и в результирующей строке записать символ и его количество. На входе строка, на выходе архивированная строка. Какая сложность предложенного вами решения? algorithms/complexity
Заголовок раздела «Задача: Написать функцию, которая должна посчитать количество одинаковых последовательно идущих символов и в результирующей строке записать символ и его количество. На входе строка, на выходе архивированная строка. Какая сложность предложенного вами решения? algorithms/complexity»func fn(str string) string {
} // =>'AV3B3V2XD4HJF4D6H4A4J3D2SLS3D4 ')
func main() { fn("AVVVBBBVVXD4HJFFFD4DDDDDHAAA4JJJDDSLSSSDDDD ")}