SberTech SynAI
Актуальность: 1 кв 2026
Вопросы
Заголовок раздела «Вопросы»- Какие задачи вы решали на последнем проекте?
hr-behavioral/about-you - Какая была структура команды и инженерных процессов в проекте? Сколько человек входило в кросс-функциональную команду?
hr-behavioral/teamwork - Как был организован рабочий процесс: использовали ли Scrum или Kanban, как проходила проработка требований?
linux-os/processes - Кто отвечал за проектирование архитектуры и технических решений?
architecture/general - Приходилось ли вам участвовать в аварийном восстановлении сервиса на продакшене?
devops/observability - Проводили ли вы код-ревью?
hr-behavioral/general - Что для вас важно при проведении код-ревью, на что вы обращаете внимание в первую очередь?
hr-behavioral/motivation - Занимались ли вы менторством молодых сотрудников? Как оценивали их результаты, какие первые задачи давали?
hr-behavioral/teamwork - В чем недостатки микросервисной архитектуры по сравнению с монолитами?
architecture/microservices - Какие встроенные примитивные типы данных существуют?
go/basics - Расскажите о потенциальных сложностях при использовании встроенной функции append для слайсов.
go/slices-arrays - Чем пустой интерфейс отличается от any?
go/interfaces - Для чего используется пустой интерфейс?
go/interfaces - Для чего используется пустая структура?
go/structs-methods - Что такое концепция встраивания? Чем она отличается от наследования в классических объектно-ориентированных языках?
go/interfaces - Что такое поток операционной системы?
linux-os/processes - Что такое горутина?
go/concurrency - Чем горутина отличается от потока операционной системы?
linux-os/processes - Какие типы каналов бывают? Когда какой тип стоит использовать?
go/channels - Как устроены буферизированные и небуферизированные каналы в Go?
go/channels - Что из пакета sync вы использовали в работе?
go/sync - Какие методы есть у WaitGroup?
go/sync - Что такое atomic?
go/sync - Что такое контекст?
go/context - Что такое graceful shutdown? Как его реализовать для HTTP-сервера?
go/stdlib-tooling - Какие паттерны конкурентности вы использовали в работе?
go/concurrency - Какие виды тестирования вы знаете и с какими работали?
testing/general - Что такое табличное тестирование?
testing/unit-mocks - Работали ли вы с юнит-тестами через командную строку?
testing/unit-mocks - Как вы отлаживаете приложение при возникновении ошибки?
go/errors-panic - Как можно оптимизировать сложные запросы?
sql/query-optimization - Как вы отслеживаете дедлоки при работе с горутинами?
go/concurrency - Есть ли у вас опыт работы с профилировщиком?
go/perf-profiling - Есть ли опыт настройки планировщика? Для чего может потребоваться настройка планировщика?
go/concurrency - Как блокирующиеся системные вызовы влияют на работу планировщика?
go/runtime - Какие состояния могут быть у горутины?
go/concurrency - Как вы выявляете и устраняете узкие места, связанные с планировщиком, в высоконагруженных приложениях?
go/perf-profiling - Использовали ли вы трассировку выполнения?
go/perf-profiling - Представьте ситуацию: к вам обращается аналитик, чтобы обосновать заказчику выбор архитектурного подхода. Какие критерии вы назовете для выбора между gRPC и REST?
architecture/general - С какими операционными системами вы работали?
linux-os/general - Как посмотреть, какие порты закрыты в Windows?
network/general - Занимались ли вы машинным обучением?
hr-behavioral/about-you - Что такое Kubernetes?
containers/kubernetes - Чем Pod отличается от Deployment?
devops/ci-cd - Какие пробы существуют в Kubernetes?
containers/kubernetes - Как передавать конфигурационные данные в приложение?
devops/infra
Задача: На вход подаются два неупорядоченных слайса любой длины. Надо написать функцию, которая возвращает их пересечение. go/slices-arrays
Заголовок раздела «Задача: На вход подаются два неупорядоченных слайса любой длины. Надо написать функцию, которая возвращает их пересечение. go/slices-arrays»func intersection(a, b []int) []int { var result []int
return result}
func main() { // Пример 1 a := []int{23, 3, 1, 2} b := []int{6, 2, 4, 23}
// [2, 23] fmt.Printf("%v\n ", intersection(a, b))
// Пример 2 a = []int{1, 1, 1, 1} b = []int{1, 1, 1, 1, 1, 1, 1, 1}
// [1, 1, 1, 1] fmt.Printf("%v\n ", intersection(a, b))}Какая алгоритмическая сложность данного алгоритма?
Задача: Даны два канала. Первый канал заполняем числами от 1 до 10. Далее числа считываем из первого по мере поступления, возводились в квадрат и результат записываем во второй канал. Необходимо реализовать числовой конвейер. go/channels
Заголовок раздела «Задача: Даны два канала. Первый канал заполняем числами от 1 до 10. Далее числа считываем из первого по мере поступления, возводились в квадрат и результат записываем во второй канал. Необходимо реализовать числовой конвейер. go/channels»func main() { naturals := make(chan int) squares := make(chan int)
for x := range squares { fmt.Println(x) }}