Специализация
Python Backend Developer
Java Backend Developer
Node.js Backend Developer
Golang Backend Developer
React Frontend Developer
Выберите навыки
React
JavaScript
Git
Redux
Webpack
Сложность
1-3
4-6
7-8
9-10
Рейтинг вопросов
1
2
3
4
5
Подпишись на React Developer в телеграм
Как использовать Service Workers для реализации офлайн-приложений и кэширования ресурсов?
Service Workers — это скрипты, работающие в фоновом режиме и позволяющие веб-приложениям работать в офлайн-режиме, а также кэшировать ресурсы для ускорения загрузки. Для их использования необходимо зарегистрировать Service Worker в основном скрипте приложения, а затем использовать API кэширования для сохранения ресурсов. Это позволяет пользователям продолжать использовать приложение, даже когда интернет-соединение отсутствует.
В чем разница между Spring аннотациями @Component, @Repository и @Service?
Аннотация @Component является общей и может использоваться для создания любого бина. Аннотация @Repository специализирована для компонентов доступа к данным и добавляет возможности работы с исключениями. Аннотация @Service используется для сервисного слоя и обозначает компоненты, содержащие бизнес-логику.
Что такое сервис (Service) в Kubernetes?
Service – это абстракция в Kubernetes, обеспечивающая сетевой доступ к группе Pod-ов. Он распределяет трафик между Pod-ами, поддерживает балансировку нагрузки и позволяет сервисам взаимодействовать внутри и вне кластера.
Что такое service mesh в Kubernetes?
Service mesh – это инфраструктурный слой, который управляет сетевым взаимодействием сервисов в Kubernetes. Он добавляет такие функции, как маршрутизация трафика, балансировка нагрузки, безопасность и мониторинг, без необходимости изменения кода приложения.
Сколько времени может работать фоновый Service?
Начиная с Android 8.0, обычный фоновой сервис может работать только несколько секунд после ухода приложения в фон, иначе система убьёт его. Для долгой фоновой работы нужно использовать Foreground Service с уведомлением, тогда он работает бесконечно, пока пользователь его не остановит, но за ним следят ограничения по энергопотреблению.
В каком потоке по умолчанию работает Service?
Когда стоит использовать WorkManager, а когда — Service?
С какими контейнерами внедрения зависимостей вы работали (ServiceCollection, другие)?
В чём отличие паттерна «сервис-локатор» от обычного DI и какие методы (GetService vs GetServices) он предоставляет?
Как интерпретировать статус 503 Service Unavailable?
Рейтинг:
2
Сложность:
7
По умолчанию Service работает в главном (UI) потоке приложения. Любые длительные или блокирующие операции внутри onStartCommand или onHandleIntent (IntentService) выполняются в этом же потоке, поэтому для фоновой работы следует создавать новые потоки, использовать AsyncTask, ExecutorService или WorkManager.
Рейтинг:
2
Сложность:
7
WorkManager лучше для отложенных, гарантированных, задач, нечувствительных к точному времени (синхронизация, загрузка файлов), которые должны выполниться даже после перезагрузки. Service (особенно Foreground Service) подходит для непрерывных, длительных задач в реальном времени (плеер, навигация), когда нужен постоянный жизненный цикл и интерактивное уведомление.
Рейтинг:
2
Сложность:
6
Я использовал встроенный в .NET Core ServiceCollection/ServiceProvider для большинства веб-приложений и микросервисов. Кроме того, работал с Autofac (поддержка модульной регистрации, именованные зависимости), Simple Injector (скорость, строгий режим создания) и Microsoft Unity в старых проектах. Выбор зависел от требований к функциональности DI: перехват вызовов, child-scopes, named services.
Рейтинг:
2
Сложность:
5
Сервис-локатор — это класс, предоставляющий статический доступ к DI-контейнеру, где внутри кода вызывают serviceProvider.GetService<T>() или GetServices<T>(). Обычный DI предполагает внедрение зависимостей через конструктор или свойства. GetService<T>() возвращает один экземпляр или null, а GetServices<T>() — коллекцию всех зарегистрированных реализаций.
Рейтинг:
2
Сложность:
6
503 означает, что сервер временно не может обработать запрос из-за перегрузки или технического обслуживания. Клиентам обычно предлагают повторить попытку позднее.
Рейтинг:
4
Сложность:
7
Рейтинг:
3
Сложность:
7
Рейтинг:
2
Сложность:
4
Рейтинг:
2
Сложность:
4
Рейтинг:
2
Сложность:
7