Middle/senior level questions and answers

Related tags

App Android-Notes
Overview

Android-Notes (in progress)

RUS

Список вопросов

Список вопросов по темам о разработке на андроид, корутинам и compose.

Kotlin

  1. Разница между class и data class, data object и object
  2. Способы реализовать функциональный тип
  3. Разница между 0 until 10, 0..10 and 0..<10
  4. Что такое inline/noinline/crossinline? Какие плюсы от использования? Почему не использовать их постоянно? Когда мы не можем использовать inline? Что такое non-local-return?
  5. Что такое reified? В чем плюс использования с inline?
  6. Сколько параметров в конструкторе может иметь inline class? Почему?
  7. Контравариантность, ковариантность, инвариантность
  8. Разница между Nothing, Unit и Any
  9. Можно ли наследоваться от data class? Почему?
Ответы по теории Kotlin

Coroutines

  1. Разница между корутинами тредами
  2. Какие основные составляющие компоненты корутин вы знаете. Опишите их роль
  3. Как основные компоненты корутин зависят друг от друга
  4. Расскажите про обработку исключений
  5. Что такое suspension points?
  6. Разница между async и launch
  7. Виды Job
  8. Join, JoinAll, Await, AwaitAll
  9. В чем разница между deferreds.map { it.await() } and deferreds.awaitAll()
  10. Что такое CoroutineStart? Какие типы бывают?
  11. Что такое ensureActive?
  12. Как поместить дополнительные данные в CoroutineContext?
  13. Напишите код который приведет к deadlock
  14. Как отменяются скоупы при выбросе ошибки в дочернем скоупе?
  15. Что такое Flow? Когда мы должны его использовать?
  16. Что такое CoroutineDispatcher? В каких случаях какой использовать?
Ответы по теории Coroutines
Вопросы по практике Coroutines
Ответы по практике Coroutines

Compose

  1. Что такое рекомпозиция
  2. remember, remember(key), rememberSaveable, remember { derivedStateOf() } различия
  3. Что такое Side-Effect?
  4. Какие виды Side-Effect бывают?
  5. Типы state
  6. Что такое Snapshot Policy?
  7. Переиспользует ли LazyColumn элементы по аналогии с RecyclerView?
  8. Сохранит ли by remember {} свое значение при повороте экрана?
  9. Что значит поднятие состояния (state hoisting)?
  10. Способы сохранения состояния при смене конфигурации
  11. Жизненный цикл composable
  12. Можно ли передавать viewModel в дочерние composable функции?
  13. Как избежать вызова рекомпозиции всех элементов списка при добавлении одного нового элемента?
  14. За что отвечает аннотация @Stable
  15. Как добавить отступы между элементами списка?
  16. Когда мы работаем с ViewGroup, большая вложенность элементов приводит к частому измерению размеров, и уменьшает производительность. Сохраняется ли такая проблема в Compose?
  17. Можно ли изменить количество измерений размеров для компоуз элементов?
  18. Как создать свой Layout (ViewGroup)?
  19. Что такое CompositionLocal?
  20. compositionLocalOf vs staticCompositionLocalOf
  21. Три фазы создания Composable UI
Ответы по теории Compose

Android

  1. Лимит на размер bundle?
  2. Что такое Binder транзакция?
  3. Как данные могут передаваться в обход Binder
  4. Какой процессор использует Android?
  5. Зачем нужен Dalvik/Art вместо JVM?
  6. Разница между Dalvik и Art
  7. Самая ранняя точка входа в приложение?
  8. Отличия контекстов
  9. Приоритеты процессов
  10. Мы обновили приложение, хранили Serializable и Parcelable. Добавили новое поле, как поддержать изменение?
  11. Жизненный цикл view. Когда при invalidate() не вызовется onDraw(). Всегда ли отработает requestLayout()?
  12. Когда луче использовать svg, png, webp
  13. Различия в работе glide, picasso, koil
  14. Отличие LongPolling от WebSocket
  15. Как андроид под капотом отрисовывает интерфейс?
  16. Как запретить активити уничтожаться при повороте экрана?
  17. Разница между low memory killer и out of memory killer?
  18. Расскажите про версии garbage collector в Android
  19. Как происходит запуск приложения
  20. Что такое Zygote?
  21. Разница между targetSDK и compileSdk
  22. Как происходит компиляция приложения
  23. Что такое процесс в Android
  24. Что такое App Sandbox
  25. Может ли BroadcastReceiver быть запущен без объявления в манифесте?
  26. Виды сервисов
  27. Отличие IntentService, Service, JobIntentService, JobService
  28. За что отвечают Content resolver и Content Provider
  29. Что такое PendingIntent?
  30. Если создать два Pending Intent отличные только по данным помещенным в data, с какой ошибкой можно столкнуться?
  31. Когда можно сохранять state чтобы гарантированно восстановить его даже в случае если андроид убьёт приложение?
  32. Какие launch mode существуют?
Ответы Android

DI

  1. Dagger/Hilt vs Koin
  2. ServiceLocator vs DI
  3. Основные компоненты в DI
Dagger
  1. Аннотации в Dagger
  2. Как работает создаение Scope компонента под капотом?
  3. Почему Hilt не стоит использовать для многомодульности
  4. Lazy vs Scope?
  5. В чем минус Subcomponent? Как разделить логику компонента без использования subcomponent?
Ответы DI

Multithreading

  1. В чем отличие потока от процесса
  2. Какую функцию выполняет Handler?
Ответы Multithreading

ENG

QuestionsPool

Full questions list for Coroutines, Compose, Common Android topics `

Coroutines

CoroutinesTheory
CoroutinesPracticeQuestions
CoroutinesPracticeAnswers

Compose

ComposeTheory

Android

AndroidTheory

You might also like...
Coinbase-pro-feed-kotlin - Kotlin Coinbase Pro Level 2 Order Book Feed
Coinbase-pro-feed-kotlin - Kotlin Coinbase Pro Level 2 Order Book Feed

Kotlin Coinbase Pro Level 2 Order Book Feed Quick start Depending on your OS run

Healthify - An app to track your daily water intake and sleep and boost your work efficiency. Healthify is built using Kotlin and follows all modern android Development practices and hence is a good learning resource for beginners
Healthify - An app to track your daily water intake and sleep and boost your work efficiency. Healthify is built using Kotlin and follows all modern android Development practices and hence is a good learning resource for beginners

Healthify Healthify is an app to track your daily water intake and sleep and boost your work efficiency. Video Introduction 📹 This is a small introdu

An app that is a one-stop destination for all the CS enthusiasts, providing resources like Information scrapping techniques, best YT channels, courses available free-of-cost, etc.  & knowledge about every domain and field that exists on the Internet related to Computer Science along with News, Jobs, and Internships opportunities in these domains along with valuable tips and hacks from mentors for a particular domain.
An app that is a one-stop destination for all the CS enthusiasts, providing resources like Information scrapping techniques, best YT channels, courses available free-of-cost, etc. & knowledge about every domain and field that exists on the Internet related to Computer Science along with News, Jobs, and Internships opportunities in these domains along with valuable tips and hacks from mentors for a particular domain.

An app that is a one-stop destination for all the CS enthusiasts, providing resources like Information scrapping techniques, best YT channels, courses available free-of-cost, etc. & knowledge about every domain and field that exists on the Internet related to Computer Science along with News, Jobs, and Internships opportunities in these domains along with valuable tips and hacks from mentors for a particular domain.

Taskify - An app to manage your daily tasks and boost your productivity. Taskify is built using kotlin and follows all modern android Development practices and hence is a good learning resource for beginners
Taskify - An app to manage your daily tasks and boost your productivity. Taskify is built using kotlin and follows all modern android Development practices and hence is a good learning resource for beginners

Taskify Taskify is an app to manage your daily tasks and boost your productivity Video Introduction 📹 This is a small introduction video about Taskif

A news application through which you can learn and browse all the news that interests you by choosing the country and type of news with the ability to browse and add some news to your favorites
A news application through which you can learn and browse all the news that interests you by choosing the country and type of news with the ability to browse and add some news to your favorites

MY-NEWS-Android A news application through which you can learn and browse all the news that interests you by choosing the country and type of news wit

Communicating between Wear OS and Android device using the OpWear module and a sample of displaying real-time camera on the watch and sending commands to the mobile by Wear OS.
Communicating between Wear OS and Android device using the OpWear module and a sample of displaying real-time camera on the watch and sending commands to the mobile by Wear OS.

OpWear-Cam Communicating between Wear OS and Android device using the OpWear module and a sample of displaying real-time camera on the watch and sendi

Quick photo and video camera with a flash, customizable resolution and no ads.
Quick photo and video camera with a flash, customizable resolution and no ads.

Simple Camera A camera with flash, zoom and no ads. The camera is usable for both photo taking and video recording. You can switch between front and r

Tachiyomi is a free and open source manga reader for Android 6.0 and above. Find your ideal fitness partners according to your preferences and interact with them whenever you want! All this with no hassle, because there's FitMate! Take timed challenges updated daily, read blogs related to health, and be a part of numerous communities too! During covid times, partner with your FitMate to achieve your fitness goals at home.
Owner
Vera
Android Dev in Resident Evil
Vera
An app which displays questions from Stack Exchange from it's api. Can search questions with tags as well. Uses MVVM architecture, dependency injection, coroutines, retrofit2 for network calls

Stack Exchange app What the app does? Shows a list of trending questions from stack exchange api Can search for the desires question. Can add tags to

null 0 Apr 27, 2022
Mobile App that that enables users to manager product listing IProcure Ltd Senior Android Engineer Role interview solution

Mobile App that that enables users to manager product listing (in and e-commerce environment) IProcure Ltd Senior Android Engineer Role interview solution

Daniel Waiguru 6 Nov 1, 2022
Math World is an Android Application specialized in mathematics, where the application includes some sections related to arithmetic, unit conversion, scientific math laws and constants, as well as some mathematical questions that need some intelligence to reach the solution.

Math World is an Android Application specialized in mathematics, where the application includes some sections related to arithmetic, unit conversion, scientific math laws and constants, as well as some mathematical questions that need some intelligence to reach the solution.

null 7 Mar 12, 2022
An application used to view StackOverflow questions

Questionnaire Play Store Link Download APK Questionnaire is an Android applicati

Nishant Sharma 4 Mar 25, 2022
Quiz-App - An Android app which have some basic questions

Quiz-App An Android app which have some basic questions Start page Questions pag

Gururaj KL 3 Apr 21, 2022
Arjun Naik 1 Apr 16, 2022
The Android Trivia application is an application that asks the user trivia questions about Android development

The Android Trivia application is an application that asks the user trivia questions about Android development. It makes use of the Navigation component within Jetpack to move the user between different screens. Each screen is implemented as a Fragment. The app navigates using buttons, the Action Bar, and the Navigation Drawer.

Srihitha Tadiparthi 1 Feb 10, 2022
AlarmIT is a simple alarm app. The alarms can be turned off via three methods - normal turnoff, by shaking the device a number of times, by solving maths questions.

Kicking Off Hacktoberfest with ACM-VIT! AlarmIT AlarmIT is a simple alarm app. The alarms can be turned off via three methods - normal turnoff, by sha

ACM VIT 6 Jan 3, 2023
ArchGuard is a architecture governance tool which can analysis architecture in container, component, code level, create architecure fitness functions, and anaysis system dependencies..

ArchGuard backend ArchGuard is a architecture governance tool which can analysis architecture in container, component, code level, database, create ar

ArchGuard 446 Dec 20, 2022
HideDroid is an Android app that allows the per-app anonymization of collected personal data according to a privacy level chosen by the user.

HideDroid An Android App for preserving user privacy HideDroid is an Android app that allows the per-app anonymization of collected personal data acco

null 100 Dec 12, 2022