Kotlin | Тесты
1.54K subscribers
24 photos
336 links
Cайт easyoffer.ru
Реклама @easyoffer_adv
ВП @easyoffer_vp

Вопросы собесов t.me/+OOb6zFa_-Oo3NjZi
Задачи t.me/+CVnW0MJk6xZjZDc6
Вакансии t.me/+KuGNaHeKkQg1NzAy
Download Telegram
🤔 Зачем нужен scope в Dagger?

Scope управляет временем жизни объектов, создаваемых Dagger. Он определяет, сколько времени объект будет существовать в зависимости от компонента, к которому он привязан. Это позволяет:
1. Контролировать память: избегать лишнего создания объектов.
2. Гарантировать единственный экземпляр: например,
@Singleton обеспечивает создание объекта один раз на компонент.
3. Разделять области ответственности: создавать зависимости, привязанные к жизненному циклу Activity, Fragment, ViewModel и т.д.


Ставь 👍 если знал ответ, 🔥 если нет
Забирай 📚Базу Знаний
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥2
🤔 Какой модификатор доступа в Kotlin делает член класса доступным только для подклассов, даже если они в дру
Anonymous Quiz
1%
final
7%
private
80%
protected
12%
internal
💊5
🤔 Как работает SOLID-принцип SRP?

Принцип единственной ответственности (Single Responsibility Principle) гласит, что класс должен иметь одну, и только одну, причину для изменения. Это означает:
1. Класс должен выполнять только одну задачу или отвечать за один аспект функциональности.
2. Изменения в одной части функционала не должны влиять на другие аспекты.
3. Это упрощает сопровождение, тестирование и повторное использование кода.


Ставь 👍 если знал ответ, 🔥 если нет
Забирай 📚Базу Знаний
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥2🤔1
🤔 В Kotlin, как можно создать генератор случайных чисел, который будет производить числа в заданном диапазоне и иметь возможность восстановления последовательности чисел из сохраненного состояния?
Anonymous Quiz
66%
Использовать класс Random и функцию setSeed.
5%
Применить ThreadLocalRandom и передавать сид при каждом вызове.
12%
Использовать SecureRandom с предварительной установкой сида.
17%
Создать пользовательский класс на основе Random, управляя сидом вручную.
🤔 Что будет, если вставить в середине фрагмента цикл от 1 до 1 млн?

Если цикл выполняется синхронно в главном потоке (UI-thread):
1. Приложение может зависнуть, так как главный поток будет занят.
2. Пользовательский интерфейс перестанет обновляться до завершения цикла.
3. Может быть выброшено исключение ANR (Application Not Responding).


Ставь 👍 если знал ответ, 🔥 если нет
Забирай 📚Базу Знаний
Please open Telegram to view this post
VIEW IN TELEGRAM
💊6🔥2
🤔 В Kotlin, как реализовать механизм наблюдения за изменениями свойства и выполнения действия при каждом его обновлении?
Anonymous Quiz
39%
Использовать observable из kotlin.properties.Delegates
2%
Применить watcher на свойстве
38%
Настроить LiveData на свойстве
21%
Использовать паттерн Observer с ручной реализацией
💊7
🤔 В Kotlin, как обеспечить, чтобы функция была доступна как метод экземпляра любого класса реализующего определенный интерфейс?
Anonymous Quiz
28%
Использовать расширение для интерфейса
43%
Добавить метод напрямую в интерфейс
3%
Применить глобальную функцию с проверкой типа
27%
Определить функцию в компаньон объекте интерфейса
🤯1
🤔 Нужно посчитать от 1 до 1 млн, как это сделать?

1. Асинхронно: Выполните вычисления в фоновом потоке с помощью ExecutorService, Coroutine или RxJava.
2. Итеративно: Пройдитесь по числам в цикле, сохраняя промежуточные результаты.
3. Математически: Используйте формулу суммы арифметической прогрессии


Ставь 👍 если знал ответ, 🔥 если нет
Забирай 📚Базу Знаний
Please open Telegram to view this post
VIEW IN TELEGRAM
💊9🔥2
🤔 Как в Kotlin обеспечить, что изменения в объекте коллекции будут атомарными и потокобезопасными?
Anonymous Quiz
21%
Использовать volatile переменные
34%
Использовать коллекции из пакета java.util.concurrent
24%
Применить блокировки с помощью synchronized
21%
Использовать AtomicReference
💊10
🤔 В Kotlin, как определить свойство класса, доступ к которому осуществляется только изнутри этого класса и нигде больше?
Anonymous Quiz
88%
Использовать модификатор private
4%
Применить модификатор protected
7%
Использовать модификатор internal
2%
Использовать модификатор public
💊3
🤔 Какой паттерн лежит в основе концепции RxJava?

В основе RxJava лежит паттерн Observer (Наблюдатель). Он позволяет объекту Observable генерировать события, на которые подписываются объекты-наблюдатели (Observer). Этот паттерн помогает управлять асинхронными потоками данных.


Ставь 👍 если знал ответ, 🔥 если нет
Забирай 📚Базу Знаний
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥1
🤔 В Kotlin, как можно выполнить действия над элементами коллекции, преобразуя каждый элемент и собрав результаты в новую коллекцию?
Anonymous Quiz
84%
Использовать map
9%
Применить forEach
2%
Использовать filter
5%
Применить collect
💊7
Forwarded from easyoffer
Привет, ребята!
1,5 года я учился на программиста, а сайт easyoffer.ru стал моим пет-проектом. Я создавал его, потому что:
а) нужно было добавить хоть какой-нибудь проект в резюме
б) подготовиться к прохождению собесов

И всё получилось! Благодаря еasyoffer я успешно прошёл собеседование и устроился Python Junior-разработчиком на удаленку с зарплатой 115 тысяч рублей.

Однако ещё во время разработки я понял, что у этого проекта есть потенциал. Казалось, что сайт может стать популярным и, возможно, превратиться в стартап.

По-этому я с самого начала заложил в проект минимальную бизнес-модель, на случай, если сайт начнёт набирать трафик. Я предложил пользователям полный доступ к сайту в обмен на подписку на Telegram-каналы. Это позволяло развивать аудиторию, а в будущем — зарабатывать на рекламе.

Результат превзошёл ожидания!
С момента запуска easyoffer посетило 400 тысяч человек. А когда доход с рекламы превысил мою зарплату программиста, я принял решение уйти с работы и полностью посвятить себя разработке новой версии сайта.

Вот так, зайдя в IT, через 4 месяца вышел через свой же пет-проект. Мне очень повезло

Уже год я работаю над easyoffer 2.0.
Это будет более масштабный и качественной новый проект:
– Появится тренажер
– Появятся задачи из собесов
– Фильтрация контента по грейдам
и еще очень много фич, о которых я расскажу позже.

Хочу, довести easyoffer до ума, чтобы сайт стал настоящим помощником для всех, кто готовится к собеседованиям.
По этому в ближайшее время я объявлю о старте краудфандинговой кампании, чтобы ускорить разработку и я готов щедро отблагодарить всех, кто поддержит проект.

А те, кто поддержат проект первыми, получат специальные лимитированные выгодные вознаграждения. Следите за этим телеграм каналом, если хотите стать первыми сапортерами.
🤔 Как в Kotlin можно абстрагировать процесс логирования так, чтобы можно было легко переключаться между различными реализациями логирования без изменения основного кода?
Anonymous Quiz
67%
Использовать интерфейс Logger и различные его реализации.
16%
Использовать singleton объект для логирования.
4%
Применить макросы логирования.
🤔 Что такое сущность Observable?

Это объект, который может производить данные (события) и передавать их подписчикам (Observer). Он используется для работы с асинхронными потоками данных. Основные возможности:
1. Генерация данных.
2. Обработка данных через операторы.
3. Управление подпиской и отпиской.


Ставь 👍 если знал ответ, 🔥 если нет
Забирай 📚Базу Знаний
Please open Telegram to view this post
VIEW IN TELEGRAM
👍3🔥1
💊3
🤔 Какие потоки есть в RxJava?

1.
Schedulers.io(): для ввода-вывода, работы с сетью или файлами.
2. Schedulers.computation(): для интенсивных вычислений, таких как обработка данных или рендеринг.
3. Schedulers.newThread(): для запуска новых потоков.
4. Schedulers.single(): для выполнения задач в одном потоке.
5. AndroidSchedulers.mainThread(): для работы с главным (UI) потоком на Android.


Ставь 👍 если знал ответ, 🔥 если нет
Забирай 📚Базу Знаний
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥5🤯2👀1💊1