Yandex / Яндекс - 1
Актуальность: 1 кв 2026
Вопросы
Заголовок раздела «Вопросы»- Почему вы выбрали Go? Что повлияло на переход с C++?
hr-behavioral/motivation - В чем ключевая разница в подходе к ООП между C++ и Go? Как отсутствие классического наследования влияет на архитектуру?
architecture/general - Чем отличается работа с указателями в Go по сравнению с C++? Какие ограничения и почему введены?
go/stdlib-tooling - Расскажите про cgo. Когда его использование оправдано, а когда лучше искать альтернативы? Был ли у вас опыт работы с cgo?
go/stdlib-tooling - Какие минусы Go вы для себя отметили после перехода с C++? Чего не хватает или что вызывает дискомфорт?
go/stdlib-tooling - Что такое временная и пространственная сложность алгоритмов? Как оцениваете эффективность своего кода?
algorithms/complexity
Задача: Необходимо реализовать банкомат, который работает с купюрами номиналов: 20, 50, 100, 200 и 500 долларов. algorithms/general
Заголовок раздела «Задача: Необходимо реализовать банкомат, который работает с купюрами номиналов: 20, 50, 100, 200 и 500 долларов. algorithms/general»Требования
Заголовок раздела «Требования»- Изначально банкомат пуст;
algorithms/general - Можно вносить купюры любого номинала;
algorithms/general - При снятии банкомат выдает сумму, используя купюры большего номинала;
algorithms/general - Если запрошенную сумму нельзя выдать, операция отклоняется, и состояние банкомата не меняется.
algorithms/general
Пример работы
Заголовок раздела «Пример работы»Задача: (код без описания) algorithms/general
Заголовок раздела «Задача: (код без описания) algorithms/general» atm = new ATM()atm.deposit([0,0,1,2,1]) // вносим: 1×100, 2×200, 1×500atm.withdraw(600) // выдаст [0,0,1,0,1] (1×100 + 1×500)atm.deposit([0,1,0,1,1]) // вносим: 1×50, 1×200, 1×500atm.withdraw(600) // вернет [-1] (нельзя выдать)atm.withdraw(550) // выдаст [0,1,0,0,1] (1×50 + 1×500)Ограничения
Заголовок раздела «Ограничения»- Номиналы: [20, 50, 100, 200, 500];
algorithms/general - Количество купьер каждого номинала: от 0 до 10⁹;
algorithms/general - Сумма снятия: от 1 до 10⁹;
algorithms/general - До 5000 операций (deposit/withdraw).
network/tcp-udp
Задача: Дан отсортированный массив чисел. Нужно найти k элементов, ближайших к заданному числу x. algorithms/sorting-search
Заголовок раздела «Задача: Дан отсортированный массив чисел. Нужно найти k элементов, ближайших к заданному числу x. algorithms/sorting-search»Правила сравнения
Заголовок раздела «Правила сравнения»- Элемент a ближе к x, чем b, если |a - x| <|b - x|;
algorithms/sorting-search - Если расстояния равны, ближе тот, что меньше (a <b).
algorithms/sorting-search
Пример 1
Заголовок раздела «Пример 1»Задача: (код без описания) algorithms/sorting-search
Заголовок раздела «Задача: (код без описания) algorithms/sorting-search» arr = [1,2,3,4,5], k = 4, x = 3Результат: [1,2,3,4] arr = [1,1,2,3,4,5], k = 4, x = -1Результат: [1,1,2,3]Ограничения
Заголовок раздела «Ограничения»- Длина массива: от 1 до 10 000
go/slices-arrays - k ≤ длина массива
go/slices-arrays - Значения элементов: от -10 000 до 10 000
algorithms/sorting-search - Массив всегда отсортирован по возрастанию
algorithms/sorting-search