МВД РФ (Паспортно-визовый сервис)
Актуальность: 4 кв 2025
Вопросы
Заголовок раздела «Вопросы»- На каких проектах вы работали, какие технологии применяли?
hr-behavioral/about-you - Писали ли вы самостоятельно запросы?
hr-behavioral/about-you - Какой у вас опыт работы с базами данных?
hr-behavioral/about-you - Есть ли опыт проектирования с нуля?
hr-behavioral/about-you - Опишите алгоритм действий при инциденте в продакшене. Вы приходите на работу и узнаете, что система упала. С чего начнете, как будете действовать? Расскажите обобщенно.
algorithms/general - Есть ли опыт работы с Docker? На каком уровне?
containers/docker - Представьте, что у вас есть Dockerfile, который использует Ubuntu в качестве базового образа. Пришла задача - мигрировать на Arch Linux. С чего вы начнете, какие глобальные изменения потребуются в Dockerfile и смежных файлах и как вы будете проверять, что миграция прошла успешно?
containers/docker - Вам приходит задача. Что бы вы сделали перед ее выполнением и в процессе?
linux-os/processes - Почему вы начали изучать Go?
hr-behavioral/motivation - Назовите три самых главных преимущества Go на ваш взгляд.
go/stdlib-tooling - Что такое планировщик в Go?
go/concurrency - Что такое модель GMP? Для чего она?
go/concurrency - Что такое горутина? Почему ее «бесплатно» переключать?
go/concurrency - Предположите, возможна ли такая ситуация, что появляется столько горутин, что они начинают друг другу мешать? Как бы вы исправляли эту проблему?
go/concurrency - Работали ли вы с профайлингом и что это такое?
go/perf-profiling - Представим ситуацию: CI-пайплайн зеленый, все тесты проходят успешно, но в продакшене периодически возникают проблемы, вызванные состоянием гонки. Как можно обнаружить гонки данных на этапе тестирования в CI? Что делать, если стоит задача постоянно отслеживать, есть ли в коде гонка?
go/sync - Что вы знаете о транзакциях в базах данных?
sql/transactions - Вы работаете с деньгами, и нужно, чтобы со счета списалось определенное количество денег, и чтобы никакая другая транзакция не смотрела на данные, которые вы меняете. Что произойдет, если одновременно придет 1000 запросов на изменение одного и того же счета? Как можно решить эту проблему?
sql/transactions - Как работает алгоритм Mark and Sweep?
algorithms/general - Что такое замыкание в Go? Как будет себя вести GC в таком случае?
go/memory-gc - Обобщенно расскажите про Go в ООП и как оно реализуется.
go/stdlib-tooling - Как добавление публичных геттеров и сеттеров к полям класса влияет на связность между модулями: она повысится или понизится?
go/stdlib-tooling - Почему русские символы занимают два, а не один байт? Для чего это сделано?
go/strings-runes
Задача: Реализовать функцию, которая сделает конкатенацию набора строк. go/strings-runes
Заголовок раздела «Задача: Реализовать функцию, которая сделает конкатенацию набора строк. go/strings-runes»func concat(str []string) string {
}Доп. вопросы: Какая сложность у этой функции
Заголовок раздела «Доп. вопросы: Какая сложность у этой функции»Задача: Написать программу, которая реализует трехэтапный конвейер для обработки чисел. go/basics
Заголовок раздела «Задача: Написать программу, которая реализует трехэтапный конвейер для обработки чисел. go/basics»- Генератор (gen): Функция, которая принимает срез целых чисел
numsи возвращает канал, в который она отправляет эти числа; - Обработчик (sq): Функция, которая принимает канал чисел, умножает каждое число на 2 и отправляет результат в новый выходной канал;
- Вывод (main): Функция
mainдолжна соединить эти этапы:gen → sqи напечатать все результаты из каналаsq.
func gen(nums ...int) <-chan int { // код генератора}
func sq(in <-chan int) <-chan int { // код обработчика}
func main() { // соединение этапов и вывод результатов}