Подборка объединяет вопросы, отмеченные на этапах интервью в Сбер. Здесь можно понять структуру технической проверки и заранее повторить связанные темы. В подборке чаще встречаются темы: database, sql, backend.
Да, инструменты статического анализа широко применяются для проверки качества кода в Go-проектах. Они помогают выявлять потенциальные ошибки, нарушения стиля и уязвимости без запуска программы.
Mutex (взаимное исключение) и RWMutex (мьютекс с разделением на чтение и запись) — это механизмы синхронизации в Go для защиты общих ресурсов от одновременного доступа.
Транзакция — это последовательность операций с базой данных, которая выполняется как единое целое. Если одна из операций неудачна, все изменения откатываются, чтобы сохранить целостность данных.
В Go интерфейсы обычно располагают по месту использования, а не по месту объявления. Это связано с философией Go — интерфейсы описывают поведение, которое требуется клиенту, а не то, что реализует конкретный тип.
В реализации map в Go для обнаружения коллизий используется метод цепочек (chaining) с помощью связанных списков или альтернативных структур внутри бакетов хэш-таблицы.
В Go для последовательного прохода по символам строки (рунам) используется цикл for range. Это важно, потому что строка в Go — это последовательность байтов, а символы Unicode могут занимать несколько байтов.
В сервисе сегментации бизнес-логика строилась вокруг пайплайна обработки данных, который последовательно трансформировал и фильтровал входные данные для выделения целевых сегментов пользователей.