Подборка объединяет вопросы, отмеченные на этапах интервью в Сбер. Здесь можно понять структуру технической проверки и заранее повторить связанные темы. В подборке чаще встречаются темы: database, sql, backend.
Для простой системы работы с курьерами, которая собирает данные о местоположении и предоставляет их клиентам, можно спроектировать следующие компоненты:
Да, интерфейс Serializable в Java используется для обозначения, что объекты класса могут быть сериализованы — то есть преобразованы в поток байтов для сохранения или передачи.
Да, масштабирование приложения за счет увеличения числа запущенных инстансов — это распространённый подход, особенно при внедрении ресурсоёмких функций.
Технический или архитектурный долг — это накопленные в проекте упрощения, компромиссы или устаревшие решения, которые со временем усложняют поддержку и развитие системы. Признаки технического долга могут включать:
В Java методы valueOf и fromString часто используются для преобразования строк в объекты, но они имеют разные семантики и применяются в разных контекстах.
Режим транзакции только для чтения (read-only transaction) используется для оптимизации работы с базой данных, когда нужно гарантировать, что данные не будут изменены в рамках транзакции.