UNION и UNION ALL — в чём разница? Какие условия должны быть соблюдены?
UNION объединяет результаты и удаляет дубликаты полных строк. UNION ALL сохраняет все строки и обычно дешевле, поскольку не требует дедупликации.
Читать ответПодготовка к интервью
3834 вопроса с собеседований в Сбер
Что проверяют на интервью
Подборка объединяет вопросы, отмеченные на этапах интервью в Сбер. Здесь можно понять структуру технической проверки и заранее повторить связанные темы. В подборке чаще встречаются темы: database, sql, backend.
Каталог
UNION объединяет результаты и удаляет дубликаты полных строк. UNION ALL сохраняет все строки и обычно дешевле, поскольку не требует дедупликации.
Читать ответСоедините движения с товарами и клиентами, ограничьте дату полуоткрытым интервалом и выберите DISTINCT. При выводе покупателя уникальность будет по паре «товар — покупатель».
Читать ответCatalyst — инфраструктура анализа и оптимизации запросов Spark SQL/DataFrame. Она преобразует логический план и помогает выбрать эффективный физический план.
Читать ответЛогический порядок: FROM/JOIN → WHERE → GROUP BY → HAVING → SELECT → ORDER BY → LIMIT. Это порядок смысла запроса, а не обязательный физический план исполнения.
Читать ответДайте короткий профессиональный рассказ: последняя роль, основной продукт, личная ответственность, один результат и причина поиска. Биографию целиком пересказывать не требуется.
Читать ответTask — ссылочный объект завершения операции. ValueTask — структура, способная представить готовый результат либо асинхронный источник и сократить выделения при частом синхронном завершении.
Читать ответСначала оцените влияние на пользователей и остановите ухудшение: при явной связи с релизом откатите совместимое изменение или отключите функцию. Живой процесс не означает исправный сервис.
Читать ответИнтерфейс задаёт контракт возможностей, а абстрактный класс может разделять с наследниками состояние и реализацию. Класс может реализовать несколько интерфейсов, но наследовать только один базовый класс.
Читать ответIDisposable задаёт метод Dispose для явного освобождения ресурсов. Конструкция using гарантирует его вызов при выходе из области, в том числе при исключении, через логику try/finally.
Читать ответIP-адрес — адрес сетевого уровня, используемый для доставки пакетов между интерфейсами IP-сети. Он помогает маршрутизаторам выбрать путь к получателю.
Читать ответПессимистичная блокировка резервирует доступ к данным до завершения транзакции. Оптимистичный контроль позволяет работать без длительного захвата, но проверяет, не изменились ли данные перед сохранением.
Читать ответОсновные времена жизни: Transient — новый экземпляр при разрешении, Scoped — один в scope, Singleton — один на контейнер. Долгоживущий объект не должен неявно удерживать зависимость, рассчитанную на короткую операцию.
Читать ответ