Logo
TGCATALOG
Каталог Подборки Блог
Kotlin | Вопросы собесов

Kotlin | Вопросы собесов

Вопросы для Kotlin-разработчиков с ответами.

Нет оценок
726
29.10.2026
726
29.10.2026
Нет оценок
726
29.10.2026
Безопасный переход через бот
О канале

Вопросы для Kotlin-разработчиков с ответами.

Подписчиков 2,451
Тематика Технологии
Язык Русский
Ссылка t.me/easy_kotlin

Также рекомендуем

Kekaton AI | Озвучка и клон голоса
Kekaton AI | Озвучка и клон голоса
Бот

AI бот для озвучки текста и клонирования голоса в Telegram. Создавай аудио с помощью нейросети быстро и просто.

Описание

Вопросы на Kotlin-собеседованиях: расширения, корутины, коллекции. С примерами кода и объяснениями для Android и backend.

Последние посты

Kotlin | Вопросы собесов
Kotlin | Вопросы собесов
🔒Открыть пост
и посмотреть медиа
🤔 Как в Ретрофите изменять все запросы? В Retrofit можно изменять все запросы глобально с помощью Interceptor (перехватчика) в OkHttp. Это позволяет добавлять или изменять заголовки, параметры запроса, авторизацию, логирование и многое другое. 🟠Изменение всех запросов с помощью `Interceptor` Перехватчик (Interceptor) позволяет модифицировать запрос перед его отправкой. class AuthInterceptor(private val tokenProvider: TokenProvider) : Interceptor { override fun intercept(chain: Interceptor.Chain): Response { val request = chain.request().newBuilder() .addHeader("Authorization", "Bearer ${tokenProvider.getToken()}") .addHeader("Accept", "application/json") .build() return chain.proceed(request) } } Добавляем перехватчик в OkHttpClient: val okHttpClient = OkHttpClient.Builder() .addInterceptor(AuthInterceptor(tokenProvider)) .build() val retrofit = Retrofit.Builder() .baseUrl("Ссылка скрыта .client(okHttpClient) .addConverterFactory(GsonConverterFactory.create()) .build() 🟠Добавление общих Query параметров Иногда нужно добавлять общие GET-параметры (например, API-ключ). class QueryInterceptor : Interceptor { override fun intercept(chain: Interceptor.Chain): Response { val originalRequest = chain.request() val originalUrl = originalRequest.url val newUrl = originalUrl.newBuilder() .addQueryParameter("api_key", "YOUR_API_KEY") .build() val newRequest = originalRequest.newBuilder() .url(newUrl) .build() return chain.proceed(newRequest) } } Добавляем в OkHttpClient: val okHttpClient = OkHttpClient.Builder() .addInterceptor(QueryInterceptor()) .build() 🟠Автоматическая повторная авторизация (Refresh Token) Если сервер возвращает 401 Unauthorized, можно обновить токен и повторить запрос. class AuthenticatorInterceptor(private val tokenProvider: TokenProvider) : Interceptor { override fun intercept(chain: Interceptor.Chain): Response { var request = chain.request() var response = chain.proceed(request) if (response.code == 401) { // Получаем новый токен val newToken = tokenProvider.refreshToken() // Делаем новый запрос с обновлённым токеном val newRequest = request.newBuilder() .header("Authorization", "Bearer $newToken") .build() response.close() // Закрываем старый ответ response = chain.proceed(newRequest) // Повторяем запрос } return response } } Добавляем в OkHttpClient: val okHttpClient = OkHttpClient.Builder() .addInterceptor(AuthenticatorInterceptor(tokenProvider)) .build() 🟠Логирование всех запросов Для отладки удобно логировать все запросы и ответы. val loggingInterceptor = HttpLoggingInterceptor().apply { level = HttpLoggingInterceptor.Level.BODY } val okHttpClient = OkHttpClient.Builder() .addInterceptor(loggingInterceptor) .build() 🟠Полностью менять `baseUrl` (динамический URL) Если в приложении нужно менять baseUrl, можно изменять его перед каждым запросом. class BaseUrlInterceptor(private val urlProvider: UrlProvider) : Interceptor { override fun intercept(chain: Interceptor.Chain): Response { val originalRequest = chain.request() val newUrl = urlProvider.getBaseUrl() + originalRequest.url.encodedPath val newRequest = originalRequest.newBuilder() .url(newUrl) .build() return chain.proceed(newRequest) } } Используем в OkHttpClient: val okHttpClient = OkHttpClient.Builder() .addInterceptor(BaseUrlInterceptor(urlProvider)) .build() Ставь 👍 и забирай 📚 Базу знаний
Kotlin | Вопросы собесов
Динамика подписчиков
+0.0% за 30 дней
Текущие
2,451
Месяц назад
2,450
Средний рост
+0 / день
Обновлено
14 часов назад

Отзывы о канале Kotlin | Вопросы собесов

Авторизуйтесь, чтобы оставить отзыв

Только зарегистрированные пользователи могут делиться своим мнением.

Пока нет отзывов

Станьте первым, кто поделится своим впечатлением об этом ресурсе!

Похожие ресурсы

Loading
Переход на светлую тему
Главная Каталог Подборки Блог Вход