CarlyAdam / cracking-android

Cracking Android Technical Interviews

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Logo

Cracking the Android Interview

Table of Contents
  1. About this project
  2. Fundamentals
  3. Android SDK
  4. Kotlin
  5. Gradle
  6. Android studio
  7. UI
  8. Best Practices
  9. Arquitecture
  10. Network operation
  11. Firebase
  12. Test
  13. Proguard
  14. CI/CD
  15. Crash Reports
  16. MAD(Modern Android Development)

About

After 7 years of experience in Android development, I have been on both sides as an interviewer and as a candidate. Cracking a technical job interview can be a challenging task and we have to be prepared to demonstrate our knowledge. That's why I decided to create this study guide according to my experiences and try to keep it updated to help others and myself get the dream job when facing a new interview. Feel free to make a pull request and collaborate.

note: References come from authors of the blogs, stackoverflow posts and the online android community.

Enjoy it ;)

Fundamentals

πŸ™‚

  • βœ”οΈ Android components : Reference

  • βœ”οΈ Fragment lifecycle and Activity lifecyle

  • βœ”οΈ Implicity vs explicity intents

  • βœ”οΈ .dex files : Reference

  • βœ”οΈ Multidex : Reference

  • βœ”οΈ Abstract class vs interface : Reference

Android_SDK

πŸ› 

  • βœ”οΈ Components, Patterns, Architecture : Reference

Kotlin

πŸ˜ƒ

Gradle

πŸ˜…

-Gradle settings
-Build config
-BuildTypes
-Signing configuration
-Android keystore
-Flavors

Android_Studio

πŸ§‘β€πŸ’»

-Profile tools
-Apk analyzer
-Database inspector

UI

πŸ§‘β€πŸŽ¨

-Viewbindings vs databinding vs kotlin synthetics
-RecyclerView.Adapter.StateRestorationPolicy
-Recycler adapter why list adapter, Adapter viewholder,onbindviewholder,oncreateviewholder definitions
-Diff call utils
-UX patterns
-Jetpack Compose

Best_Practices

πŸ’ͺ

  • βœ”οΈ Design Patterns : Reference
  • βœ”οΈ SOLID : Reference
  • βœ”οΈ Inversion Control vs dependency injection : Reference
  • βœ”οΈ HILT vs Koin vs Dagger 2 : Reference
  • βœ”οΈ Ktlint : Reference
  • βœ”οΈ Memory leaks : Reference
  • βœ”οΈ Png to webp/ vector smaller apk

Architecture

😎

  • βœ”οΈ MVVM : Reference
  • βœ”οΈ MVVM vs MVC vs MVI : Reference
  • βœ”οΈ Clean Architecture : Reference
  • βœ”οΈ SaveStateHandle advantages

Network

πŸ“±

βœ”οΈ Retrofit vs ktor vs volley
βœ”οΈ Converter gson vs moshi
βœ”οΈ Parcelable vs Serializable
βœ”οΈ Okhttp
βœ”οΈ Interceptors
βœ”οΈ Glide vs Picasso vs coil

Firebase

πŸ”§

βœ”οΈ Crashlitics
βœ”οΈ Push Notifications
βœ”οΈ Firebase test labs

Test

βœ…

Proguard

βš™οΈ

βœ”οΈ Rules
βœ”οΈ Advantages

CI_CD

πŸ’»

βœ”οΈ Bitrise vs Github actions vs Jenkins

Crash

❌

MAD

πŸ‘Œ

Contact

Carlos Adan - @carlyad4m

About

Cracking Android Technical Interviews