Совкомбанк
Актуальность: 4 кв 2025
Вопросы
Заголовок раздела «Вопросы»- Что такое указатель и от чего зависит его размер?
go/basics - Какая разница между процессом и потоком?
linux-os/processes - Что такое fork в контексте операционной системы?
go/context - Что такое deadlock и race condition?
go/sync - Какие примитивы синхронизации существуют?
go/sync - В чем разница между контейнеризацией и виртуализацией?
containers/docker - Что такое Big O-нотация?
algorithms/complexity - Что такое очередь с приоритетами? Какими структурами данных можно реализовать очередь с приоритетом? Каким способом лучше?
algorithms/data-structures - Сравнение бинарного поиска и дерева поиска: почему существуют оба алгоритма при одинаковой асимптотической сложности O(log n)?
algorithms/complexity - Как реализовано ООП в Go?
go/basics - Является ли Go императивным или декларативным языком?
go/stdlib-tooling - Примеры декларативного языка?
misc/general - Рассказ про композицию: как это делается и какие свойства возникают?
go/structs-methods - Вопрос о наследовании методов при эмбединге: если есть родительская структура parent и дочерняя child, которая встраивает parent, то у кого какие методы применяются?
go/structs-methods - Что такое type switch?
go/interfaces - Что такое defer?
go/errors-panic - Что будет, если использовать несколько деферов?
go/errors-panic - Что такое new?
go/stdlib-tooling - Что такое мэйк?
go/basics - Какая разница между мэйк и new?
go/stdlib-tooling - Что такое слайсы и чем они отличаются от массивов?
go/slices-arrays - Являются ли слайсы в Go потокобезопасными?
go/slices-arrays - Что такое map в Go?
go/maps - Как реализовано конкурентное программирование в Go?
go/concurrency - В чем разница между конкурентностью и параллелизмом?
go/concurrency - Как можно снаружи завершить выполнение горутины?
go/concurrency - Как получить результаты из горутины?
go/concurrency - Какие бывают виды каналов?
go/channels - Что будет, если читать из неинициализированного канала?
go/channels - Что будет, если читать из закрытого канала?
go/channels - Что будет, если записать в закрытый канал?
go/channels - Что такое Mutex и RWMutex, в чем их отличия?
go/sync - Что такое атомики и за счет чего они работают?
go/sync - Что делает функция append?
go/slices-arrays - Как меняется емкость при расширении слайса?
go/slices-arrays - Что делает функция copy?
go/slices-arrays - Как именно увеличивается емкость слайса?
go/slices-arrays - Что такое wait group и для чего он используется?
go/sync - Что такое errgroup?
go/sync - Что такое select? Какой порядок срабатывания кейсов у SELECT? Что будет с кейсом, если канал закрыт?
go/channels - Что такое паника?
go/errors-panic - Как прочитать n элементов из канала?
go/channels - Где в коде уместно бросать паники, на Ваш взгляд?
go/errors-panic - Напишите код для слияния двух каналов в третий канал. Слияние должно быть поочередным;
algorithms/data-structures - Что такое контекст и зачем он используется?
go/context - Как сделать свою ошибку?
go/errors-panic - Как работает тестирование в Go? Пакеты для тестирования. В чем особенность тестовых функций?
testing/general - Как работает httptest?
network/http - Что такое индексация в базах данных, для чего она нужна, минусы индексов и почему нельзя покрыть всю таблицу индексами?
sql/indexes - Что такое составные индексы? В чем их отличие от простого индекса на колонку?
sql/indexes - Что такое транзакция в базах данных?
sql/transactions - Какие существуют уровни изоляции транзакций?
sql/transactions - В чем разница между уровнями изоляции Read Uncommitted и Read Committed?
sql/transactions - В чем разница между реляционными и нереляционными БД?
sql/general - Что такое кеширование и негативный кеш?
nosql-cache/caching - Чем отличается TCP от UDP?
network/tcp-udp - Что такое TLS?
network/dns-tls - Верно ли утверждение, что HTTPS - это всего лишь HTTP поверх TLS?
network/http - Какие версии есть у HTTP и какие между ними отличия?
network/http
Задача: Дан слайс каналов (buttons []chan bool), каждый из которых соответствует одной кнопке. Канал получает true при нажатии кнопки и false при отпускании. Реализуйте функцию, которая подсчитывает количество нажатий для каждой кнопки. Выход из функции только после закрытия всех каналов buttons. go/channels
Заголовок раздела «Задача: Дан слайс каналов (buttons []chan bool), каждый из которых соответствует одной кнопке. Канал получает true при нажатии кнопки и false при отпускании. Реализуйте функцию, которая подсчитывает количество нажатий для каждой кнопки. Выход из функции только после закрытия всех каналов buttons. go/channels» Кнопка 0: true → false → true → false → true → false → ... (3 нажатия)Кнопка 1: true → false → ... (1 нажатие)Результат: [3, 1, ...]Задача: Создайте слайс с числами от 1 до 5. Передайте этот слайс в функцию, внутри которой присвойте значение 0 элементу с индексом 2 (третьему элементу). После вызова функции выведите исходный слайс в родительской функции. Определите, какое значение будет выведено, и объясните, почему. go/puzzles
Заголовок раздела «Задача: Создайте слайс с числами от 1 до 5. Передайте этот слайс в функцию, внутри которой присвойте значение 0 элементу с индексом 2 (третьему элементу). После вызова функции выведите исходный слайс в родительской функции. Определите, какое значение будет выведено, и объясните, почему. go/puzzles»Доп. задача: Те же начальные условия, но внутри функции выполняются три действия подряд: внутри функции сначала происходит замена третьего элемента, потом происходит append значения 6, дописываем, а потом происходит замена нулевого элемента. Что будет выведено в родительской функции после вызова такой функции?