Week 1: Kotlin Mastery + Android Core Architecture
Week 1: Kotlin Mastery + Android Core Architecture
Topics (20)
1. Kotlin Basics: variables, types, functions
2. Kotlin OOP: class, object, inheritance, interfaces
3. Data classes, Enum, Sealed classes
4. Kotlin Null Safety
5. Smart casting and Elvis Operator
6. Extension Functions
7. Scope Functions (`let`, `run`, `also`, `apply`, `with`)
8. Lambdas and Higher Order Functions
9. Collections (`map`, `filter`, `reduce`, `fold`)
10. Companion Objects and Object Declaration
11. Android Manifest + Permissions
12. Activity Lifecycle (Cold Start, Background, Kill)
13. Fragment Lifecycle
14. View Hierarchy & LayoutInflater
15. Intent & Intent Filters
16. startActivityForResult vs Activity Result API
17. Context (App vs Activity)
18. Toast, Snackbar, Dialogs
19. Implicit vs Explicit Intents
20. View Binding vs findViewById
Week 1: Kotlin Mastery + Android Core Architecture
Mini Project: Personal Expense Tracker App
- Add/Edit/Delete Expenses
- Two screens with data class-based models
- Use `RecyclerView` and `Intent` to switch activities
- Use all scope functions in Kotlin
Interview Questions (35)
1. Whats the difference between sealed and enum classes?
2. How is Kotlin different from Java for Android dev?
3. When should you use scope functions?
4. Can you explain `let` vs `apply` vs `run`?
5. What is the role of a companion object?
6. Why do we prefer `val` over `var` in most cases?
7. Whats a data class and why is it useful?
8. How do you handle nullability in Kotlin safely?
9. Why use extension functions?
10. What is smart casting in Kotlin?
11. Describe the activity lifecycle.
12. What happens if you rotate the screen during loading?
Week 1: Kotlin Mastery + Android Core Architecture
13. Difference between Application context and Activity context?
14. How do you pass data between activities?
15. When to use DialogFragment?
16. What are intent filters used for?
17. How do you use implicit intents?
18. How does back stack work in Android?
19. Whats a memory leak and how can it happen in context use?
20. How does `onSaveInstanceState` work?
21. Whats the role of AndroidManifest?
22. What are the common pitfalls in Fragment transactions?
23. What is Application class used for?
24. What are lambda expressions?
25. When do you use `lateinit`?
26. How is `by lazy` different from `lateinit`?
27. What are lifecycle-aware components?
28. Why is the use of static discouraged in Android?
29. Whats a singleton object in Kotlin?
30. How do you avoid null pointer crashes?
31. Explain the Application Not Responding (ANR) error
32. Whats the difference between `==` and `===` in Kotlin?
33. How do you make a class immutable in Kotlin?
34. What are inline functions and their purpose?
35. How do you debug lifecycle-related issues?