GithubHelp home page GithubHelp logo

cracking-android's Introduction

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

๐Ÿ˜ƒ

  • โœ”๏ธ Advantages vs Java : Reference
  • โœ”๏ธ Inline functions
  • โœ”๏ธ Differents between lazy, latein : Reference
  • โœ”๏ธ Extension functions : Reference
  • โœ”๏ธ Kotlin kapt : Reference
  • โœ”๏ธ Data class : Reference
  • โœ”๏ธ Static class Kotlin : Reference
  • โœ”๏ธ Singleton in Kotlin : Reference

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

โŒ

  • โœ”๏ธ Bugsnag vs Crashlitics: Reference

MAD

๐Ÿ‘Œ

Contact

Carlos Adan - @carlyad4m

cracking-android's People

Contributors

carlyadam avatar darthwithap avatar jerrymatera avatar manyunyu7 avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.