243 lines
38 KiB
Markdown
243 lines
38 KiB
Markdown
## 🟢 JUNIOR уровень (1-30)
|
||
|
||
### Core Java
|
||
|
||
**1. Что такое JVM, JRE и JDK? В чем разница?** Ответ: JVM (Java Virtual Machine) - виртуальная машина, исполняющая байт-код Java. JRE (Java Runtime Environment) - среда выполнения, включает JVM + стандартные библиотеки. JDK (Java Development Kit) - набор для разработки, включает JRE + компилятор + инструменты разработки.
|
||
|
||
**2. В чем разница между == и equals() в Java?** Ответ: == сравнивает ссылки на объекты (для примитивов - значения), equals() сравнивает содержимое объектов. Для String: == проверяет одинаковые ли это объекты в памяти, equals() проверяет одинаковое ли содержание строк.
|
||
|
||
**3. Что такое autoboxing и unboxing?** Ответ: Autoboxing - автоматическое преобразование примитивов в wrapper-классы (int → Integer). Unboxing - обратное преобразование (Integer → int). Происходит автоматически при присваивании и передаче параметров.
|
||
|
||
**4. Назовите основные принципы ООП** Ответ: Инкапсуляция (сокрытие данных), Наследование (extends/implements), Полиморфизм (один интерфейс - разные реализации), Абстракция (выделение главного, сокрытие деталей).
|
||
|
||
**5. В чем разница между interface и abstract class?** Ответ: Interface: только абстрактные методы (до Java 8), множественное наследование, все методы public. Abstract class: может содержать конкретные методы, поля, конструкторы, одиночное наследование, разные модификаторы доступа.
|
||
|
||
**6. Что такое статический метод и статическая переменная?** Ответ: Принадлежат классу, а не экземпляру. Статические переменные создаются при загрузке класса, общие для всех экземпляров. Статические методы можно вызывать без создания объекта, не имеют доступа к нестатическим членам.
|
||
|
||
**7. Что такое final в Java?** Ответ: final переменная - константа, нельзя изменить значение. final метод - нельзя переопределить в наследниках. final класс - нельзя наследовать (например, String).
|
||
|
||
**8. Назовите основные коллекции в Java** Ответ: List (ArrayList, LinkedList), Set (HashSet, TreeSet), Map (HashMap, TreeMap), Queue (LinkedList, PriorityQueue). Каждая имеет свои особенности производительности и поведения.
|
||
|
||
**9. В чем разница между ArrayList и LinkedList?** Ответ: ArrayList - динамический массив, быстрый доступ по индексу O(1), медленные вставки/удаления в середине O(n). LinkedList - двусвязный список, медленный доступ O(n), быстрые вставки/удаления O(1).
|
||
|
||
**10. Что такое HashMap и как он работает?** Ответ: Структура данных "ключ-значение", использует хеширование. Ключ преобразуется в хеш-код, определяющий позицию в массиве. Коллизии разрешаются через связанные списки (до Java 8) или деревья (с Java 8).
|
||
|
||
### Spring Framework
|
||
|
||
**11. Что такое Spring Framework?** Ответ: Java-фреймворк для разработки enterprise-приложений. Основан на IoC (Inversion of Control) и DI (Dependency Injection). Упрощает разработку через автоматическое управление зависимостями.
|
||
|
||
**12. Что такое Spring Boot?** Ответ: Фреймворк поверх Spring, обеспечивающий автоконфигурацию и упрощенную настройку. Включает встроенный сервер, стартеры для быстрого подключения зависимостей, production-ready возможности.
|
||
|
||
**13. Что такое IoC и DI?** Ответ: IoC (Inversion of Control) - принцип передачи управления созданием объектов фреймворку. DI (Dependency Injection) - способ реализации IoC через внедрение зависимостей через конструктор, сеттеры или поля.
|
||
|
||
**14. Назовите способы внедрения зависимостей в Spring** Ответ: Constructor injection (@Autowired на конструкторе), Setter injection (@Autowired на сеттере), Field injection (@Autowired на поле). Рекомендуется constructor injection.
|
||
|
||
**15. Что такое @Component, @Service, @Repository, @Controller?** Ответ: Стереотипные аннотации для обозначения ролей компонентов. @Component - общий компонент, @Service - бизнес-логика, @Repository - доступ к данным, @Controller - веб-контроллер. Все наследуются от @Component.
|
||
|
||
### REST API
|
||
|
||
**16. Что такое REST?** Ответ: Representational State Transfer - архитектурный стиль для веб-сервисов. Основан на HTTP-методах, stateless, использует стандартные коды ответов, ресурсы идентифицируются URL.
|
||
|
||
**17. Назовите основные HTTP-методы и их назначение** Ответ: GET (получение данных), POST (создание), PUT (полное обновление), PATCH (частичное обновление), DELETE (удаление), HEAD (получение заголовков), OPTIONS (получение доступных методов).
|
||
|
||
**18. Что такое HTTP статус-коды? Приведите примеры** Ответ: 200 OK (успех), 201 Created (создано), 400 Bad Request (неверный запрос), 401 Unauthorized (не авторизован), 403 Forbidden (запрещено), 404 Not Found (не найдено), 500 Internal Server Error (ошибка сервера).
|
||
|
||
**19. Что такое @RestController в Spring?** Ответ: Аннотация, объединяющая @Controller и @ResponseBody. Указывает, что класс является REST-контроллером, а все методы возвращают данные в формате JSON/XML, а не представления.
|
||
|
||
**20. Что делает аннотация @RequestMapping?** Ответ: Связывает HTTP-запросы с методами контроллера. Можно указать URL, HTTP-метод, параметры запроса, заголовки. Имеет специализированные варианты: @GetMapping, @PostMapping и т.д.
|
||
|
||
### Базы данных
|
||
|
||
**21. Что такое SQL?** Ответ: Structured Query Language - язык структурированных запросов для работы с реляционными БД. Включает DDL (создание структур), DML (манипуляция данными), DCL (управление доступом).
|
||
|
||
**22. В чем разница между INNER JOIN и LEFT JOIN?** Ответ: INNER JOIN возвращает только записи, имеющие соответствие в обеих таблицах. LEFT JOIN возвращает все записи из левой таблицы и соответствующие из правой (NULL если нет соответствия).
|
||
|
||
**23. Что такое первичный ключ (Primary Key)?** Ответ: Уникальный идентификатор записи в таблице. Не может быть NULL, должен быть уникальным, может состоять из одного или нескольких полей. Обеспечивает целостность данных.
|
||
|
||
**24. Что такое транзакция в БД?** Ответ: Логическая единица работы, состоящая из одной или нескольких операций. Обладает свойствами ACID: Atomicity (атомарность), Consistency (согласованность), Isolation (изолированность), Durability (долговечность).
|
||
|
||
**25. Что такое индекс в БД?** Ответ: Структура данных, ускоряющая поиск записей в таблице. Создает отсортированную структуру со ссылками на строки. Ускоряет SELECT, но замедляет INSERT/UPDATE/DELETE.
|
||
|
||
### Складская логистика
|
||
|
||
**26. Что такое WMS система?** Ответ: Warehouse Management System - система управления складом. Контролирует движение товаров, размещение, комплектацию, отгрузку. Интегрируется с оборудованием: сканеры, конвейеры, роботы.
|
||
|
||
**27. Что такое SKU в складской логистике?** Ответ: Stock Keeping Unit - единица учета товара. Уникальный код для каждого товара/варианта товара (размер, цвет и т.д.). Основа для идентификации и отслеживания товаров на складе.
|
||
|
||
**28. Что такое RFID и зачем он нужен на складе?** Ответ: Radio Frequency Identification - радиочастотная идентификация. Позволяет автоматически считывать информацию с меток без прямого контакта. Ускоряет инвентаризацию, отслеживание товаров.
|
||
|
||
**29. Объясните процесс picking на складе** Ответ: Процесс комплектования заказов - сбор товаров со склада согласно заказу. Виды: по заказам, по зонам, волновой. Оптимизируется маршрутами, приоритетами, группировкой заказов.
|
||
|
||
**30. Что такое cross-docking?** Ответ: Логистическая операция прямой перевалки товаров с минимальным складированием. Товар поступает, сортируется и сразу отгружается. Снижает затраты на хранение, ускоряет доставку.
|
||
|
||
---
|
||
|
||
## 🟡 MIDDLE уровень (31-70)
|
||
|
||
### Продвинутая Java
|
||
|
||
**31. Объясните работу Garbage Collector в Java** Ответ: Автоматическое управление памятью, удаляющее неиспользуемые объекты. Поколения: Young (Eden, Survivor), Old, Metaspace. Алгоритмы: Serial, Parallel, G1, ZGC. Работает в фоне, может вызывать паузы приложения.
|
||
|
||
**32. Что такое Stream API в Java 8+?** Ответ: Функциональный API для обработки коллекций. Поддерживает цепочки операций: filter, map, reduce, collect. Может быть последовательным и параллельным. Ленивые вычисления - выполняется только при терминальной операции.
|
||
|
||
**33. Что такое Optional и зачем он нужен?** Ответ: Контейнер для объекта, который может быть null. Помогает избежать NullPointerException. Методы: isPresent(), ifPresent(), orElse(), orElseThrow(). Делает код более читаемым и безопасным.
|
||
|
||
**34. Объясните работу ConcurrentHashMap** Ответ: Потокобезопасная версия HashMap. Использует сегментирование (до Java 8) или CAS-операции (с Java 8). Позволяет одновременное чтение без блокировок, блокирует только участки при записи.
|
||
|
||
**35. В чем разница между synchronized и volatile?** Ответ: synchronized - блокирует доступ к методу/блоку кода для одного потока. volatile - гарантирует видимость изменений переменной всеми потоками, но не обеспечивает атомарность сложных операций.
|
||
|
||
**36. Что такое CompletableFuture?** Ответ: Класс для асинхронного программирования. Позволяет выполнять задачи в фоне, комбинировать результаты, обрабатывать исключения. Методы: supplyAsync(), thenApply(), thenCompose(), exceptionally().
|
||
|
||
**37. Объясните паттерн Singleton и его реализации** Ответ: Гарантирует существование только одного экземпляра класса. Реализации: eager initialization, lazy initialization, thread-safe, enum-based. Проблемы: тестирование, скрытые зависимости.
|
||
|
||
### Spring Advanced
|
||
|
||
**38. Что такое Spring Security и его основные компоненты?** Ответ: Фреймворк безопасности для Spring-приложений. Компоненты: Authentication (аутентификация), Authorization (авторизация), SecurityFilterChain, UserDetailsService, PasswordEncoder.
|
||
|
||
**39. Объясните жизненный цикл Spring Bean** Ответ: Создание → Заполнение свойств → BeanNameAware → BeanFactoryAware → ApplicationContextAware → @PostConstruct → InitializingBean → custom init-method → ready для использования → @PreDestroy → DisposableBean → custom destroy-method.
|
||
|
||
**40. Что такое Spring Profiles?** Ответ: Механизм для разделения конфигурации по средам (dev, test, prod). Активируется через spring.profiles.active. Позволяет иметь разные настройки БД, логирования, внешних сервисов для разных окружений.
|
||
|
||
**41. Объясните аннотации @Transactional** Ответ: Управляет транзакциями декларативно. Параметры: propagation (поведение при вложенных транзакциях), isolation (уровень изоляции), rollbackFor (исключения для отката), readOnly (только чтение).
|
||
|
||
**42. Что такое Spring Data JPA?** Ответ: Абстракция над JPA, упрощающая работу с БД. Автоматически генерирует реализации репозиториев по методам. Поддерживает query methods, @Query, Criteria API, пагинацию, аудит.
|
||
|
||
**43. Что такое Spring Boot Actuator?** Ответ: Модуль для мониторинга и управления приложением. Endpoints: /health, /metrics, /info, /env. Предоставляет HTTP-endpoints и JMX beans для получения информации о состоянии приложения.
|
||
|
||
### Микросервисы
|
||
|
||
**44. Что такое микросервисная архитектура?** Ответ: Архитектурный подход разбиения приложения на небольшие независимые сервисы. Каждый сервис: отдельная БД, независимое развертывание, коммуникация через API, specific business capability.
|
||
|
||
**45. Объясните паттерн Circuit Breaker** Ответ: Защищает от каскадных сбоев при вызове внешних сервисов. Состояния: Closed (нормальная работа), Open (блокировка вызовов), Half-Open (проверка восстановления). Реализации: Hystrix, Resilience4j.
|
||
|
||
**46. Что такое Service Discovery?** Ответ: Механизм автоматического обнаружения сервисов в микросервисной архитектуре. Сервисы регистрируются при старте, клиенты находят их через registry. Примеры: Eureka, Consul, Zookeeper.
|
||
|
||
**47. Объясните паттерн API Gateway** Ответ: Единая точка входа для всех клиентских запросов к микросервисам. Функции: routing, authentication, rate limiting, monitoring, request/response transformation. Примеры: Spring Cloud Gateway, Zuul.
|
||
|
||
**48. Что такое Distributed Tracing?** Ответ: Отслеживание запросов через множество микросервисов. Каждый запрос получает уникальный trace ID, каждый сервис добавляет span. Помогает в debugging и performance monitoring. Инструменты: Jaeger, Zipkin.
|
||
|
||
### Messaging
|
||
|
||
**49. Объясните принципы работы Apache Kafka** Ответ: Распределенная платформа потоковой обработки. Topics разделены на partitions, сообщения упорядочены в рамках partition. Producers отправляют, Consumers читают. Поддерживает persistence, replication, high throughput.
|
||
|
||
**50. В чем разница между Kafka и RabbitMQ?** Ответ: Kafka: высокая пропускная способность, persistence, streaming, pull-модель. RabbitMQ: low latency, flexible routing, push-модель, transactional. Kafka для больших объемов данных, RabbitMQ для сложной маршрутизации.
|
||
|
||
**51. Что такое Consumer Groups в Kafka?** Ответ: Группа потребителей, совместно читающих topic. Каждый partition читается только одним consumer в группе. Обеспечивает horizontal scaling и fault tolerance. Offset управляется на уровне группы.
|
||
|
||
**52. Объясните семантики доставки сообщений** Ответ: At most once (максимум один раз) - может потеряться. At least once (минимум один раз) - может дублироваться. Exactly once (ровно один раз) - идеальная доставка, сложная реализация.
|
||
|
||
### Базы данных (продвинутый уровень)
|
||
|
||
**53. Объясните ACID свойства транзакций** Ответ: Atomicity - либо все операции выполняются, либо ни одна. Consistency - БД остается в согласованном состоянии. Isolation - транзакции не влияют друг на друга. Durability - результаты сохраняются после commit.
|
||
|
||
**54. Что такое уровни изоляции транзакций?** Ответ: READ UNCOMMITTED (dirty reads), READ COMMITTED (no dirty reads), REPEATABLE READ (no phantom reads в некоторых БД), SERIALIZABLE (полная изоляция). Выше уровень - больше согласованность, ниже производительность.
|
||
|
||
**55. Объясните стратегии кеширования в базах данных** Ответ: Cache-aside (приложение управляет кешем), Write-through (запись в кеш и БД), Write-behind (отложенная запись в БД), Refresh-ahead (proactive обновление). Каждая имеет trade-offs по consistency и performance.
|
||
|
||
**56. Что такое денормализация и когда она применяется?** Ответ: Намеренное нарушение нормальных форм для повышения производительности. Дублирование данных для уменьшения JOINs. Применяется в OLAP системах, при high read load, в NoSQL проектировании.
|
||
|
||
**57. Объясните репликацию и шардинг в БД** Ответ: Репликация - создание копий данных для отказоустойчивости и масштабирования чтения. Шардинг - горизонтальное разделение данных по серверам. Шардинг сложнее, но масштабирует запись.
|
||
|
||
### Тестирование
|
||
|
||
**58. В чем разница между Unit, Integration и E2E тестами?** Ответ: Unit - тестируют отдельные компоненты в изоляции. Integration - взаимодействие между компонентами. E2E - полный пользовательский сценарий. Пирамида тестов: больше unit, меньше E2E.
|
||
|
||
**59. Что такое Test Doubles? Приведите примеры** Ответ: Заменители реальных объектов в тестах. Dummy (заглушка), Stub (возвращает предопределенные данные), Mock (проверяет взаимодействия), Spy (частичная подмена), Fake (упрощенная реализация).
|
||
|
||
**60. Объясните TDD подход** Ответ: Test-Driven Development. Цикл: Red (пишем падающий тест) → Green (минимальный код для прохождения) → Refactor (улучшаем код). Преимущества: лучший дизайн кода, высокое покрытие, документация через тесты.
|
||
|
||
### Продвинутая складская логистика
|
||
|
||
**61. Объясните архитектуру типичной WMS системы** Ответ: Многоуровневая архитектура: Presentation (UI), Business Logic (workflow engine), Data Access (repository pattern), Integration (ERP, WCS), Device Layer (сканеры, PLC). Часто микросервисная с event sourcing.
|
||
|
||
**62. Что такое WCS и чем отличается от WMS?** Ответ: WCS (Warehouse Control System) - управляет оборудованием в реальном времени (конвейеры, сортировщики). WMS - управляет логическими процессами (заказы, inventory). WCS - технический уровень, WMS - бизнес-уровень.
|
||
|
||
**63. Объясните концепцию event-driven архитектуры для складов** Ответ: События генерируются оборудованием/пользователями и обрабатываются асинхронно. События: товар отсканирован, робот завершил задачу, заказ создан. Позволяет loose coupling, scalability, real-time реакции.
|
||
|
||
**64. Что такое Digital Twin в контексте склада?** Ответ: Цифровая модель физического склада в реальном времени. Включает расположение товаров, состояние оборудования, текущие задачи. Используется для симуляции, оптимизации, predictive maintenance.
|
||
|
||
**65. Объясните оптимизацию маршрутов комплектации** Ответ: Алгоритмы: shortest path, traveling salesman variations, zone-based picking. Факторы: layout склада, приоритеты заказов, capacity constraints. Часто используется genetic algorithms, machine learning.
|
||
|
||
**66. Что такое Slotting в WMS?** Ответ: Оптимальное размещение товаров в ячейках склада. Критерии: velocity (оборачиваемость), size, weight, picking frequency. Цель: минимизация времени комплектации, максимизация использования пространства.
|
||
|
||
**67. Объясните концепцию Wave Planning** Ответ: Группировка заказов в волны для эффективной обработки. Критерии: приоритет, destination, item locations, resource availability. Балансирует workload между зонами, оптимизирует использование ресурсов.
|
||
|
||
**68. Что такое AGV/AMR системы на складе?** Ответ: AGV (Automated Guided Vehicles) - следуют фиксированным маршрутам (магнитные полосы, провода). AMR (Autonomous Mobile Robots) - самостоятельная навигация с помощью SLAM. AMR более гибкие, но дороже.
|
||
|
||
**69. Объясните интеграцию WMS с ERP системами** Ответ: ERP передает заказы, принимает отчеты об отгрузках, синхронизирует inventory. Паттерны: real-time API calls, batch EDI processing, event-driven messaging. Ключевые entity: orders, items, inventory levels.
|
||
|
||
**70. Что такое Cycle Counting в складской системе?** Ответ: Регулярная проверка точности inventory без остановки операций. Стратегии: ABC analysis (чаще проверяем A-items), random sampling, control group method. Цель: поддержание accuracy, выявление systematic errors.
|
||
|
||
---
|
||
|
||
## 🔴 SENIOR уровень (71-100)
|
||
|
||
### Архитектура и дизайн
|
||
|
||
**71. Объясните паттерн CQRS и Event Sourcing** Ответ: CQRS разделяет чтение и запись на разные модели. Event Sourcing сохраняет события вместо состояния. Вместе обеспечивают: audit trail, temporal queries, independent scaling read/write, complex business logic replay.
|
||
|
||
**72. Что такое Domain-Driven Design (DDD)?** Ответ: Подход к проектированию сложных систем через modeling business domain. Концепции: Bounded Context, Aggregates, Domain Services, Repositories. Цель: код отражает business logic, shared understanding между разработчиками и domain experts.
|
||
|
||
**73. Объясните паттерн Saga для распределенных транзакций** Ответ: Управление длительными бизнес-процессами в микросервисах без 2PC. Виды: Orchestration (центральный coordinator) и Choreography (событийная координация). Каждый шаг имеет compensating action для rollback.
|
||
|
||
**74. Что такое Hexagonal Architecture (Ports and Adapters)?** Ответ: Архитектурный паттерн изолирующий business logic от внешних concerns. Core содержит domain logic, Ports - интерфейсы, Adapters - реализации для конкретных технологий. Обеспечивает testability и flexibility.
|
||
|
||
**75. Объясните паттерн Strangler Fig для миграции legacy систем** Ответ: Постепенная замена legacy системы новой. Новая функциональность разрабатывается в новой системе, старая gradually redirected. API Gateway маршрутизирует запросы. Минимизирует risk и downtime при миграции.
|
||
|
||
### Производительность и масштабирование
|
||
|
||
**76. Объясните стратегии кеширования в distributed системах** Ответ: Уровни: browser cache, CDN, API gateway cache, application cache (Redis), database cache. Стратегии: cache-aside, write-through, write-behind. Проблемы: cache invalidation, consistency, thundering herd.
|
||
|
||
**77. Что такое Database Connection Pooling и как его оптимизировать?** Ответ: Пул переиспользуемых connection к БД. Параметры: min/max size, idle timeout, validation query. Оптимизация: monitoring connection usage, proper sizing based on load, connection leak detection.
|
||
|
||
**78. Объясните методы профилирования Java приложений** Ответ: JProfiler, VisualVM, async-profiler, JFR (Java Flight Recorder). Метрики: CPU usage, memory allocation, GC behavior, thread contention. Flame graphs для visualizing call stacks и hotspots.
|
||
|
||
**79. Что такое Reactive Programming и когда его применять?** Ответ: Асинхронная обработка данных как потоков событий. Принципы: responsive, resilient, elastic, message-driven. Реализации: Project Reactor, RxJava. Применяется для high-load, IO-intensive, real-time systems.
|
||
|
||
**80. Объясните стратегии Database Sharding** Ответ: Horizontal partitioning: range-based (по диапазону ключей), hash-based (по хешу), directory-based (lookup table), geographic. Проблемы: rebalancing, cross-shard queries, distributed transactions.
|
||
|
||
### Security
|
||
|
||
**81. Объясните OAuth 2.0 и OpenID Connect** Ответ: OAuth 2.0 - протокол авторизации. Flows: Authorization Code, Implicit, Client Credentials, Resource Owner Password. OpenID Connect - слой аутентификации поверх OAuth 2.0, добавляет ID tokens с user claims.
|
||
|
||
**82. Что такое JWT токены и их безопасное использование?** Ответ: JSON Web Token - self-contained токен безопасности. Структура: header.payload.signature. Проблемы: невозможность revoke, storage в localStorage небезопасно, нужна правильная signature verification.
|
||
|
||
**83. Объясните принципы Zero Trust Architecture** Ответ: "Never trust, always verify". Принципы: verify every access request, least privilege access, micro-segmentation, continuous monitoring. В микросервисах: service-to-service authentication, network policies, mutual TLS.
|
||
|
||
### Мониторинг и наблюдаемость
|
||
|
||
**84. Объясните концепцию Observability и её компоненты** Ответ: Способность понять internal state системы по external outputs. Три pillar: Metrics (числовые значения), Logs (discrete events), Traces (request flow). Together обеспечивают full visibility в distributed systems.
|
||
|
||
**85. Что такое SLI, SLO и SLA?** Ответ: SLI (Service Level Indicator) - метрики качества сервиса (latency, availability). SLO (Service Level Objective) - target values для SLI. SLA (Service Level Agreement) - contractual obligations с penalties за нарушение SLO.
|
||
|
||
**86. Объясните стратегии Alerting и incident response** Ответ: Layered alerting: symptoms (user impact) и causes (infrastructure). Alert fatigue prevention: proper thresholds, grouping, escalation policies. Incident response: detection, assessment, mitigation, post-mortem analysis.
|
||
|
||
### Продвинутая складская логистика
|
||
|
||
**87. Объясните архитектуру Real-Time Inventory Management** Ответ: Event-driven архитектура с Kafka для real-time updates. CQRS для разделения command (operations) и query (reporting) models. Event sourcing для audit trail всех inventory changes. Eventual consistency с compensation strategies.
|
||
|
||
**88. Что такое Predictive Analytics в WMS?** Ответ: Machine Learning для прогнозирования: demand forecasting, optimal reorder points, predictive maintenance оборудования. Algorithms: time series analysis, regression models, neural networks. Требует quality data и proper feature engineering.
|
||
|
||
**89. Объясните оптимизацию Resource Allocation в складских операциях** Ответ: Dynamic allocation людей, оборудования и zones основанная на real-time demand. Optimization algorithms: linear programming, genetic algorithms, reinforcement learning. Constraints: capacity limits, skill requirements, SLA obligations.
|
||
|
||
**90. Что такое Adaptive Slotting алгоритмы?** Ответ: Machine learning approaches для динамической оптимизации размещения товаров. Анализируют historical picking data, seasonal patterns, correlation между товарами. Self-learning algorithms корректируют slotting rules based на actual performance metrics и changing demand patterns.
|
||
|
||
**91. Объясните архитектуру Multi-Tenant WMS системы** Ответ: Shared infrastructure для multiple клиентов с data isolation. Стратегии: schema separation (отдельные БД), row-level security (shared tables с tenant_id), hybrid approach. Challenges: performance isolation, customization requirements, compliance.
|
||
|
||
**92. Что такое Warehouse Digital Twin с Machine Learning?** Ответ: Real-time цифровая модель склада с ML-driven optimization. Компоненты: IoT sensors data ingestion, physics simulation engine, ML models для prediction и optimization. Использует reinforcement learning для continuous improvement операций.
|
||
|
||
**93. Объясните Event Sourcing для Audit Trail в складских операциях** Ответ: Все изменения в системе сохраняются как immutable events. Benefits: complete audit trail, temporal queries, debugging capabilities, regulatory compliance. Challenges: event schema evolution, snapshot strategies, query performance для reporting.
|
||
|
||
**94. Что такое Distributed Lock Management в warehouse operations?** Ответ: Coordination механизмы для exclusive access к shared resources (locations, equipment). Implementations: database-based locks, Redis distributed locks, ZooKeeper coordination. Patterns: lease-based locks, optimistic locking, leader election для equipment control.
|
||
|
||
**95. Объясните Service Mesh архитектуру для WMS микросервисов** Ответ: Infrastructure layer для service-to-service communication. Features: traffic management, security policies, observability, failure recovery. Implementation: Istio sidecar proxy pattern. Benefits: uniform policy enforcement, circuit breaking, distributed tracing.
|
||
|
||
**96. Что такое Complex Event Processing (CEP) в складских системах?** Ответ: Real-time analysis потоков событий для detection сложных patterns. Use cases: fraud detection в receiving, performance anomaly detection, predictive maintenance alerts. Technologies: Apache Flink, Kafka Streams, Esper engine.
|
||
|
||
**97. Объясните Data Lake архитектуру для warehouse analytics** Ответ: Centralized repository для structured и unstructured data от всех warehouse systems. Layers: raw data ingestion, processed data, analytics-ready datasets. Technologies: Apache Spark for processing, Delta Lake for ACID transactions, ML pipelines для predictive analytics.
|
||
|
||
**98. Что такое GraphQL Federation в микросервисной WMS?** Ответ: Unified GraphQL API поверх multiple микросервисов. Каждый сервис expose свою часть schema, gateway federation создает unified interface. Benefits: single API endpoint, strong typing, efficient data fetching для complex UI requirements.
|
||
|
||
**99. Объясните Chaos Engineering практики для WMS систем** Ответ: Deliberate injection failures для testing system resilience. Experiments: network partitions, service failures, resource exhaustion. Tools: Chaos Monkey, Litmus. Critical для 24/7 warehouse operations где downtime means lost revenue.
|
||
|
||
**100. Что такое AI-Driven Warehouse Orchestration?** Ответ: Использование AI для autonomous decision making в warehouse operations. ML models для: dynamic task prioritization, resource allocation optimization, predictive routing algorithms. Reinforcement learning для continuous improvement based на operational feedback и KPI optimization. |