From a805ca15c985b5f3d85495720c5a940b69c406bf Mon Sep 17 00:00:00 2001 From: Hardik Date: Mon, 19 Dec 2022 22:01:44 +0530 Subject: [PATCH 1/5] add : questions about live data + coroutine flow --- README.md | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/README.md b/README.md index 9d7ad91..434c20a 100644 --- a/README.md +++ b/README.md @@ -28,6 +28,8 @@ - What is an Init block in Kotlin? - How to choose between apply and with? - What is inline function in Kotlin? +- How will you execute two apis in parallel? [coroutine.flow.zip](https://kotlinlang.org/api/kotlinx.coroutines/kotlinx-coroutines-core/kotlinx.coroutines.flow/zip.html) and [CoroutineScope.async](https://kotlinlang.org/api/kotlinx.coroutines/kotlinx-coroutines-core/kotlinx.coroutines/async.html) +- Flow : FlatMapConcat vs FlatMapMerge vs FlatMapLatest - ## Android @@ -46,7 +48,12 @@ - How does the OutOfMemory happens? - How do you find memory leaks in Android applications? - What is Doze? What about App Standby? + - How would you create a custom [live data](https://android.googlesource.com/platform/frameworks/support/+/a9ac247af2afd4115c3eb6d16c05bc92737d6305/lifecycle/livedata-core/src/main/java/androidx/lifecycle/LiveData.java) from scratch? It should take care about the following points + - How will you take care of different lifecycle owners listening to this live data? + - Handling multiple observers. Notify only to observer associated with active lifecycle owner + - Difference between setValue and postValue? - + ### Lifecycle - How to keep a video maintain playing state when we rotate screen? From 883d174c944ad4c55f4078abcb1cb11964105c1b Mon Sep 17 00:00:00 2001 From: Hardik Date: Wed, 21 Dec 2022 07:21:03 +0530 Subject: [PATCH 2/5] Update README.md --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 434c20a..bd20474 100644 --- a/README.md +++ b/README.md @@ -43,7 +43,7 @@ - How does layout inflation work from xml tags to view reference in memory? - What is a Thread, Handler, Looper and Message Queue? - What are the different methods of concurrency on Android? Can you explain the difference between ExecutorService vs CachedThreadPool vs FixedThreadPool vs AsyncTasks vs HandlerThreads? - - How does `ViewModel` instance provided to Activity and Fragment. How does `ViewModelProviderStore` decide when to retain the instance? + - How does `ViewModel` instance are provided to Activity and Fragment. How does `ViewModelProviderStore` decide when to retain the instance? - How do you inspect and solve Jank issue? [here](https://developer.android.com/studio/profile/jank-detection) - How does the OutOfMemory happens? - How do you find memory leaks in Android applications? From bffaadb2e910b547a1b37f4f62529dfceffed512 Mon Sep 17 00:00:00 2001 From: Hardik Date: Fri, 30 Dec 2022 17:59:08 +0530 Subject: [PATCH 3/5] Update README.md --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index ba53062..5e56969 100644 --- a/README.md +++ b/README.md @@ -136,6 +136,7 @@ - What is SOLID principles? - What is MVVM? - Brief about Android Architecture. + - Pros of using modular approach [reference](https://jeroenmols.com/blog/2019/03/06/modularizationwhy/#why) - ## System Design From 213ec813a861f98ab540acaf88efa16ab592b87a Mon Sep 17 00:00:00 2001 From: Hardik Date: Thu, 25 May 2023 11:26:01 +0530 Subject: [PATCH 4/5] Update README.md --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index ab1db1d..74be9d0 100644 --- a/README.md +++ b/README.md @@ -26,6 +26,7 @@ - Is singleton thread-safe? vs Object? - What are different type of scope modifiers? - What are different Coroutine Scope? +- Dispatcher.Main vs Dispatcher.Main.immediate [link](https://medium.com/@trionkidnapper/launching-a-kotlin-coroutine-for-immediate-execution-on-the-main-thread-8555e701163b) - How to manage series and parallel execution? - Difference between Flow/SharedFlow/StateFlow and elaborate it. - What happens if we call `.cancel()` from a coroutine scope? From 80d4cf765f66e3ce779d73927e98fc4befec2596 Mon Sep 17 00:00:00 2001 From: Hardik Date: Thu, 25 May 2023 12:05:48 +0530 Subject: [PATCH 5/5] add : coroutine dispatchers --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 74be9d0..745eb82 100644 --- a/README.md +++ b/README.md @@ -27,6 +27,7 @@ - What are different type of scope modifiers? - What are different Coroutine Scope? - Dispatcher.Main vs Dispatcher.Main.immediate [link](https://medium.com/@trionkidnapper/launching-a-kotlin-coroutine-for-immediate-execution-on-the-main-thread-8555e701163b) +- Different types of Dispatchers [link](https://kt.academy/article/cc-dispatchers) - How to manage series and parallel execution? - Difference between Flow/SharedFlow/StateFlow and elaborate it. - What happens if we call `.cancel()` from a coroutine scope?