Тех собес на middle-senior Android Developer в ****

Доступно с премиум-подпиской

Оформите премиум-подписку, чтобы получить доступ к:

  • Фильтрации по компаниям
  • Названиям компаний в интервью
  • Видеозаписям собеседований в категории Android Developer

Посмотреть видео в категории

(2024-08-26)

— Вопросы по Android SDK:

1. Как реализовать спойлеры в чате на Android Views (RecyclerView и TextView), чтобы по клику скрытая часть текста отображалась? 2. На чем основан механизм отображения HTML-текста в Android TextView? 3. Как решить задачу добавления заголовка (Header) с токеном авторизации ко всем 50+ запросам в приложении, используя Retrofit и OkHttp? 4. Какой механизм можно использовать, чтобы автоматически логировать все запросы и ответы в OkHttp?p?

— Вопросы по Kotlin:

1. Почему в Kotlin List имеет только 5 компонентов (componentN от 1 до 4)? 2. Как реализовать шестой компонент (component5) для List? 3. Как устроен extension под капотом, за счет чего он реализуется? 4. Какие бывают функции области видимости (scope functions) в Kotlin? 5. В чем основное различие между also и let? 6. За счет чего достигается проникновение this и it внутрь контекста функций области видимости? 7. Что такое “implicit receiver” (неявный получатель)? 8. В каких синтаксических конструкциях Kotlin встречается запись, напоминающая экземпляр класса, но являющаяся функцией?ляющаяся функцией?

— Задача 1. Ознакомиться с кодом и ответить на вопросы.

    class SpecialFunction : () -> Unit {
   override fun invoke() {
       println("Invoked from an instance.")
   }
}

fun main() {   try { SpecialFunction()() }   catch (ex: Exception) { println(“An error occurred”) }}

— Вопросы по задаче 1:

1. Каков будет результат выполнения функции main? 2. Для чего используется функция invoke?ke`?

— Задача 2. Ознакомиться с кодом и ответить на вопросы.

val map = mutableMapOf("ZeroKey" to "0")
   .plus(
       "firstKey" to "1",
   ).apply {
       this.plus("SecondKey" to "2")
   }
   

— Вопросы по задаче 2:

1. Каков будет результат выполнения этого примера кода? 2. Что такое инфиксные функции (in-fix functions)?

— Задача 3. Имеет ли право на существование такой синтаксис ? И где такое можно встретить?

val pair: Pair = "first" to "second"
val (first, second) = pair

— Задача 4. Ознакомиться с кодом и ответить на вопросы.

withContext(Dispatchers.Main) {
   val result = 
       map { ... } // В каком диспатчере?
       .flowOn(Dispatchers.IO)
       .filter { ... } // В каком диспатчере?
       .flowOn(Dispatchers.Default)
       .single() // А здесь?
}

— Вопросы по задаче 4:

1. В каком диспетчере будет выполнен каждый оператор в примере с Flow? 2. Как называется функция single и аналогичные ей в терминологии Flow? Чем они отличаются от filter и map? 3. Где и как можно использовать CoroutineExceptionHandler и для чего он нужен? 4. Почему CoroutineExceptionHandler игнорируется в дочерних корутинах, запущенных через launch?ерез launch?