1 Android Core Concepts

Covers fundamental building blocks of Android and essential interview topics:

Android Application Lifecycle

Activity vs Fragment vs View

Context: Application vs Activity

Intents: Explicit vs Implicit

Services, Broadcast Receivers, Content Providers

ViewModel, LiveData, Lifecycle Aware Components

RecyclerView, Adapters & ViewHolder Pattern

Difference between UI Thread & Background Thread

Handler, Looper, and MessageQueue

SharedPreferences, SQLite, Room DB

Data Binding vs View Binding

Manifest Permissions, App Components

Parcelable vs Serializable

Process Death & State Restoration

ANR & StrictMode

Debugging with Logcat & Profiler

WorkManager, JobScheduler, AlarmManager

Multi-Window Support, Doze Mode, App Standby

2 Kotlin Concepts

Focused on Kotlin language essentials, advanced concepts and best practices:

Null Safety, Elvis Operator, Safe Calls

Extension Functions, Lambda Expressions

Data Classes vs Regular Classes

Sealed Classes vs Enum

Object vs Companion Object

High-Order Functions, Inline Functions

Coroutines: launch, async, suspend, delay

Coroutine Scopes: GlobalScope, viewModelScope, lifecycleScope

Flows vs Channels

Exception Handling in Coroutines

Kotlin Collections (map, filter, flatMap)

Typealias, Destructuring Declarations

Kotlin DSL, Inline Classes

Kotlin Multiplatform Basics

Kotlin with Retrofit & Room

Best Kotlin Interview Patterns

3 Android Architecture

Explores clean code practices and architecture models used in real-world projects:

MVVM vs MVP vs MVC

Repository Pattern

Use Case / Interactors

ViewModel Layer

UI State Management

Dependency Injection: Dagger, Hilt

SOLID Principles in Android

Single Source of Truth

Clean Architecture Layers

Jetpack Navigation Component

Unidirectional Data Flow (UDF)

Common Mistakes in Architecture Design

4 Jetpack Compose

Modern UI Toolkit concepts covered for declarative UI in Android:

What is Jetpack Compose

Composable Functions, Preview

State & State Hoisting

Remember & MutableState

Scaffold, Column, Row, LazyColumn

Form Validation with State

Side Effects: LaunchedEffect, rememberCoroutineScope

Theming & Custom Composables

Compose with ViewModel

Lists, Lazy Grids, Pagination

Animations & Transitions

Modifiers & Layouts

Compose vs XML based UI

5 Unit Testing Concepts

Essential testing concepts for robust app development:

What is Unit Testing?

Writing JUnit Test Cases

Testing ViewModel Logic

Mockito, Mockk Basics

Test Rules and Coroutines Testing

Best Practices for Testable Architecture

Dependency Injection for Testing

UI Testing with Espresso (Overview)

6 Android Security Concepts

Critical concepts to secure Android apps and data:

ProGuard, R8 & Code Obfuscation

Secure SharedPreferences

Encrypted Room Database

Android Keystore System

Network Security Configuration

SSL Pinning

Authentication with Biometric & Fingerprint

App Integrity & Tamper Detection

OWASP Mobile Top 10

Preventing Reverse Engineering

Runtime Permission Best Practices

7 Scenario-Based Interview Questions

Advanced real-world scenario discussions & problem-solving Q&A:

App crashes after process death – how do you restore state?

RecyclerView lag – how would you optimize?

How to handle API call failure in ViewModel?

Implementing offline-first architecture

Optimizing performance for large lists

Security breach reported – how to identify and fix?

Jetpack Compose form with complex validation

Dealing with slow API responses in Coroutines

Architecting large-scale feature module

Handling memory leaks in legacy code

How would you migrate XML to Compose?

Debugging ANR issues in production

Designing clean architecture for multi-module app