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

Вопросы собесов t.me/+OOb6zFa_-Oo3NjZi
Задачи t.me/+CVnW0MJk6xZjZDc6
Вакансии t.me/+KuGNaHeKkQg1NzAy
Download Telegram
🤔 Как можно инициализировать ленивое свойство в Kotlin?
Anonymous Quiz
88%
Используя lazy {}
12%
С помощью lateinit
0%
Объявляя как deferred
0%
Применяя async
Forwarded from easyoffer
Я боялся, что провалю собеседование. Так появился easyoffer

Когда я только начинал искать первую работу программистом, меня пугала мысль, что я просто не смогу ответить на вопросы на собеседовании.

Типа… ты потратил месяцы на то, чтобы учиться, писал pet-проекты, собирал резюме, рассылаешь отклики — и всё может закончиться на одном-единственном вопросе, на который ты не знаешь ответ.

Я реально боялся.
Я смотрел видео mock-собеседований на YouTube, останавливал каждое, выписывал вопросы в Notion. Потом вручную писал к ним ответы. И потом ещё по нескольку раз перечитывал. Такой вот "тренажёр" на коленке.

📎 (там на картинке — один из моих реальных списков в Notion, ставь 🔥 если тоже так делал)

В какой-то момент я посчитал — у меня уже было выписано больше 500 вопросов. Я почувствовал ужас.
Потому что невозможно всё это зазубрить. А что, если спросят как раз тот, к которому я не успел подготовиться?..

Тогда и пришла идея

А что если понять, какие из вопросов встречаются чаще всего? Чтобы не учить всё подряд, а сфокусироваться на главном.

Так родился easyoffer.

Сначала — просто как пет-проект, чтобы показать в резюме и подготовиться к собесам. А потом оказалось, что он реально помогает людям. За первые месяцы его посетили сотни тысяч человек. И я понял: это больше, чем просто пет-проект.

Сейчас я делаю EasyOffer 2.0
И уже не один, а вместе с вами.

В новой версии будут:
– вопросы из реальных собесов, с фильтрацией по грейду, компании, типу интервью
– тренажёр с карточками (по принципу интервальных повторений — как в Anki)
– база задач с интервью
– тренажёр «реальное собеседование», чтобы отрепетировать как в жизни

Каждая фича упрощает и сокращает время на подготовку. Все эти штуки я бы мечтал иметь, когда сам готовился к собеседованиям.

Я делаю всё на свои деньги. Никаких инвесторов. Только вы и я.

Если вы хотите помочь — сейчас самое важное время.
Краудфандинг уже стартовал. Благодаря нему я смогу привлечь больше людей для разработки, сбору и обработки собеседований.

Все, кто поддержат проект до релиза, получат:

🚀 1 год PRO-доступа по цене месячной подписки. Его можно активировать в любое время, например когда начнете готовится к собесам.
Доступ к закрытому бета-тесту

Поддержать 👉 https://planeta.ru/campaigns/easyoffer

Спасибо, что верите в этот проект 🙌
🤔 Что такое итератор?

Итератор — это объект, позволяющий поэлементно перебирать коллекцию (список, массив и т.п.).
Он обычно предоставляет методы hasNext() и next() и позволяет абстрагироваться от конкретной структуры.


Ставь 👍 если знал ответ, 🔥 если нет
Забирай 📚Базу Знаний
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥3
🤔 Какой оператор используется для проверки наличия значения в диапазоне в Kotlin?
Anonymous Quiz
5%
within
73%
in
4%
inside
18%
contains
🤔 Какой результат выполнения выражения val result = listOf(1, 2, 3, 4, 5).fold(0) { acc, i -> acc - i }?
Anonymous Quiz
51%
-15
31%
0
9%
1
9%
-5
👍1💊1
🤔 Как работают SAM (Single Abstract Method)?

1. SAM-конверсии позволяют использовать лямбда-функции вместо объектов классов с одним абстрактным методом.
2. Это делает код более кратким и читабельным при работе с Java API или интерфейсами в Kotlin.
3. Пример: интерфейс с одним методом автоматически превращается в функциональный тип.


Ставь 👍 если знал ответ, 🔥 если нет
Забирай 📚Базу Знаний
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥4
🤔 Какой результат выполнения выражения val x = (1..5).map { it * it }.maxOrNull()?
Anonymous Quiz
94%
25
4%
5
0%
1
3%
null
🤔 Что такое git rebase и чем он отличается от merge?

- git merge объединяет ветки, сохраняя всю историю и создавая дополнительный коммит слияния. История остаётся ветвистой.
- git rebase переписывает историю так, будто твои коммиты применялись поверх новой базы. История становится линейной.
rebase изменяет хеши коммитов, поэтому не используй его для публичных веток, которые уже расшарены.


Ставь 👍 если знал ответ, 🔥 если нет
Забирай 📚Базу Знаний
Please open Telegram to view this post
VIEW IN TELEGRAM
👍3🔥2
🤔 В Java, какое исключение возникает при неправильной работе с потоками ввода/вывода?
Anonymous Quiz
77%
IOException
7%
InterruptedException
4%
ExecutionException
12%
StreamCorruptedException
🤔 В Kotlin, какой оператор позволяет безопасно вызвать метод на объекте, который может быть null?
Anonymous Quiz
83%
?.
3%
!!
13%
?:
0%
->
🤔 Можно ли в Android для организации многопоточного кода использовать Thread? Какие могут быть проблемы?

Можно, но с ограничениями:
- Thread — низкоуровневый механизм. Требует ручного управления.
- Проблемы:
- Утечки памяти (если не завершён правильно).
- Сложность отмены.
- Нет управления жизненным циклом.
- Потенциальная блокировка UI, если использовать неосторожно.
Поэтому чаще рекомендуются Handler, Executor, Coroutine, WorkManager, которые безопаснее и проще в управлении.


Ставь 👍 если знал ответ, 🔥 если нет
Забирай 📚Базу Знаний
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥2👍1
🤔 В Java, какой метод java.util.List позволяет вставить элемент в середину списка?
Anonymous Quiz
58%
add(index, element)
8%
set(index, element)
3%
push(index, element)
31%
insert(index, element)
🤔 Как работает SOLID-принцип SRP?

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


Ставь 👍 если знал ответ, 🔥 если нет
Забирай 📚Базу Знаний
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥2💊1
🤔 Какой ключевой элемент в Kotlin позволяет выполнить блок кода только для ненулевых значений?
Anonymous Quiz
15%
checkNotNull
18%
requireNotNull
54%
let
13%
notNull
💊9🤔1
🤔 Какой оператор позволяет безопасно вызвать метод на объекте, который может быть null в Kotlin?
Anonymous Quiz
97%
?.
2%
!!
0%
::
1%
->
🤔 Нужно запустить синхронный код и получить его результат. Как это будешь делать?

Если внутри асинхронного контекста (например, suspend или coroutine), можно использовать:
- withContext(
Dispatchers.IO) { блок } — синхронно для асинхронного вызова. Если вне корутины — через:
- runBlocking { блок } — для запуска корутин синхронно (например, в тестах).
- Если обычный код — просто вызвать метод, который возвращает результат.
Важно понимать контекст и избегать блокировок в UI.


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