Rshb / Россельхозбанк (PaaS)
Актуальность: 1 кв 2025
Скрининг
Заголовок раздела «Скрининг»- Расскажи о терминологии Kafka: pod, service, ingress, deployment.
containers/kubernetes - Что делают пробы: liveness и readiness.
containers/kubernetes - Что делает функция init() в пакете (Golang) и что не рекомендуется делать внутри нее.
go/stdlib-tooling
Техническая часть
Заголовок раздела «Техническая часть»- Пользователь сообщает, что отправил запрос, но он не работает. Что будешь делать? (Вопрос максимально абстрактный)
misc/general - Приложение начало потреблять 100% CPU. Как определить проблему и что предпринять?
go/perf-profiling - Приложение начало потреблять 100% RAM. Как понять, что происходит?
go/perf-profiling - Приложение работало на одном ядре CPU, добавили второе, но оно все равно использует только одно. Почему?
go/runtime - Приложение обращается к стороннему сервису, который долго отвечает. Почему это происходит и что можно сделать? Если решаем через очереди, то почему очереди не всегда хорошее решение? Как понять, что сервис принял запрос и как убедиться, что ответ действительно содержит наши данные (синхронно или через Kafka/RabbitMQ)?
algorithms/data-structures
Вопросы по SQL
Заголовок раздела «Вопросы по SQL»- Есть запрос
SELECT * FROM employее WHERE lastname =:lastname. Запрос тормозит. Почему? Повесили индекс, но с ним запрос то тормозит, то работает нормально. Почему?sql/indexes - Есть запрос
SELECT * FROM employее WHERE lastname LIKE '%somename%'. Будет ли использоваться индекс? Как решить проблему поиска, чтобы он был быстрым?sql/indexes
Вопрос по счетам и переводам в памяти (Go)
Заголовок раздела «Вопрос по счетам и переводам в памяти (Go)»- Как должно работать, если все данные хранятся в памяти? Кодить не нужно - достаточно рассказать словами.
go/memory-gc
Задача: (код без описания) go/basics
Заголовок раздела «Задача: (код без описания) go/basics»type Account struct { Number string // уникальный номер счета Balance float64 // сумма на счете}
// Transfer осуществляет перевод указанной суммы с одного счета на другой.func Transfer(from *Account, to *Account, amount float64) error { // Реализация перевода
return nil}Каждый вопрос требует подробных рассуждений. На каждый ответ могут задать дополнительные вопросы и копнуть глубже. Интервьюер очень внимательно анализирует, поэтому вопросы довольно тонкие.
- Расскажи, почему рассматриваешь предложения?
hr-behavioral/motivation - Как сравнить два числа float?
go/basics - В каком формате хранить денежные средства?
sql/schema-design - Подбрасываем монетку. какая вероятность, что упадет нужная сторона?
misc/general
System-design на словах
Заголовок раздела «System-design на словах»- Как организуешь микросервис, который делает долгие вычисления;
architecture/microservices - Микросервис перевода денег на счет мобильного оператора.
architecture/microservices
Задача: (код без описания) misc/general
Заголовок раздела «Задача: (код без описания) misc/general» Есть сервис списания денег с 3 операциями:- холд, возвращает id холда- подтвердить списание по id холда- отменить холд
Есть сторонний провайдер для перевода денег на счет абонента:
- принимает id транзакции и номер абонента
В конце дня сторонний провайдер присылает рeeстр с успешным переводом средств за текущий день: id транзакции, номер абонента.Как организовать в твоем сервисе взаимодействие?