Расскажи о своём опыте работы: задачи, стек технологий
В моём опыте работы Data Engineer я занимался обработкой и трансформацией больших объёмов данных для аналитики и отчётности. Основные задачи включали:
Читать ответПодготовка к интервью
9 вопросов с собеседований в «Biznesni rivojlantirish banki» ATB
Что проверяют на интервью
Подборка объединяет вопросы, отмеченные на этапах интервью в «Biznesni rivojlantirish banki» ATB. Здесь можно понять структуру технической проверки и заранее повторить связанные темы. В подборке чаще встречаются темы: java, spring, kafka.
Каталог
В моём опыте работы Data Engineer я занимался обработкой и трансформацией больших объёмов данных для аналитики и отчётности. Основные задачи включали:
Читать ответЕсли требуется узнать, есть ли хотя бы две подходящие группы, достаточно получить первые две: LIMIT 2 ограничивает объём результата, не заставляя возвращать все совпадения.
Читать ответConsumer group распределяет партиции между участниками: в стабильном назначении одну партицию читает один consumer группы. Один consumer может обслуживать несколько партиций.
Читать ответ@Profile ограничивает регистрацию бина активными профилями, например dev или prod. Активные профили можно задать конфигурацией Spring Boot или при запуске приложения.
Читать ответSpring Boot может получать конфигурацию извне: из переменных окружения, системных свойств JVM, аргументов запуска и внешних файлов конфигурации.
Читать ответ@Conditional разрешает регистрацию компонента только при выполнении условия. В Spring Boot есть специализированные варианты: @ConditionalOnProperty, @ConditionalOnClass и @ConditionalOnMissingBean.
Читать ответОбычно различают at-most-once, at-least-once и exactly-once. При at-least-once сообщение обрабатывают до подтверждения, поэтому сбой между обработкой и подтверждением может вызвать повтор.
Читать ответAt-most-once означает обработку сообщения не более одного раза: повторов избегают ценой возможной потери. Например, сообщение отмечают обработанным до выполнения полезной работы.
Читать ответAtomicInteger и другие атомарные классы позволяют безопасно выполнять отдельные операции над общим значением из нескольких потоков, например incrementAndGet или compareAndSet.
Читать ответ