?? Android Engineer Interview Prep Map ??

?? Android Engineer Interview Prep Map ??

Welcome Readers :)

As Android Engineers, we all are doing great, putting all our knowledge and skills into making beautiful apps and helping the world to unleash the power of their mobile devices

But, when it comes to interviews, we have a huge syllabus in front of us to dig into no matter what depth we go into

So today, this article will guide you in preparing for your Android Engineering Interview

Now, how we will go ahead in this article...


Week 1

?? Brush up on your Kotlin skills

  • Basics should be crystal clear, let's say they ask about differences in val and const val, or they ask what does object { } do
  • More Focus should be put on Coroutines Concept as it is something that each org wants and as an Android Engineer this is very important
  • Learning about extension functions and remembering the name will not help as those are something that any engineer can do by looking at the documentation, but the Art here is the way of using them


Week 2

?? Learn Topics like Activity & Fragment Lifecycle

?? Understand the Lifecycle Callbacks in different scenarios?

  • Don't mug up the callbacks, try to understand the purpose of each and you will get the idea when which function gets invoked
  • Moving between fragments is where the callbacks get trickier, so put more effort into learning and understanding those
  • Don't stick to only Activity and Simple Fragment, try to implement the Dialog fragments too and understand the behavior
  • Don't get Confused between Lifecycle and View Lifecycle


Week 3

?? Learn about MVVM

?? ViewModel, Lifecycle, and other Design Patterns

  • Start Learning about Different Design Patterns -> Creational patterns, Structural patterns, Behavioral patterns
  • Understand the areas when and where a pattern is useful and how it is different from others
  • Learn about SOLID Principles
  • Dive into the Architecture zone, What is MVVM and why people are shifting from MVP to MVVM, What does Context have to do here
  • What is ViewModel and How does it work internally? Now, when we are talking about How * works internally, they don't want you to answer the codebase, but the reason and the problem that particular thing is solving and the approach it is performing


Week 4

?? Jetpack Compose

  • If you know XML, well and good, you must have played with Data Bindings and other stuff.... for this article we are jumping to the Jetpack Compose UI part
  • Start learning about What Jetpack Compose is solving which XML can't
  • Learn about Jetpack Compose various concepts like Recomposition, State-Hoisting, Side-Effects and a lot more one can find on the official webpage
  • The best way to learn this is to Create a sample app and see how to UI is rendering on screen and how the data is getting updated
  • We are not focused on how beautiful a UI one can make, but on how scalable and loosely functions one can write for the sake of usability and testing
  • Writing the UI in such a way that a Future Engineer has to put less effort into modifying or reusing it


Week 5 - 6

?? Services

  • Start with learning the Lifecycle of a Service and the callbacks
  • Learn about all types of Services -> Foreground Services, Background Services, and Bound Services
  • See what issues does Service Component has and Does Andriod is shifting to another option for performing the same thing which one can do using Services or not
  • Services <-> Work Manager <-> Job Schedule <-> Alaram Manager, try to find and see the relation between these and see when to use what and what the limitation one has


Week 7

?? Broadcast Receiver

  • Learn about Broadcast Receiver, try to create your own, and try to use the existing one too, by having a sample app
  • Implement a sample app for handling the Notifications and get a thorough understanding of Notifaciton in different API levels


Week 8

?? Storage

  • Learn different types of Memory Storage available
  • Try to implement each and understand the use of each, and when to use which storage
  • Local Database, Shared Preferences, Data Store, In-Memory Cache, Volatile Memory, Disk Cache, Shared Storage, App-Specific Storage, SQLite, ROOM, all these types of terms are open for exploration and understand when to use what and how does it impact your mobile application


Week 9

?? Networking

  • Learn about networking and pick any third-party libraries like Retrofit and explore how the API calls are happening
  • Put more focus on, how to write your networking layer in such a way that it can be scaled in the future, without creating any dependency on the third-party library, because libraries are something that an engineer picks after putting a lot of params in mind, but no one knows what future is, so our code should be easily migratable to other best option
  • All this will help you in your System Design Round as well


Week 10

?? Image Loading

  • Learn about how images are rendering on screen and how you can make your app load all the images super fast
  • Explore libraries like Glide, Coil, and others to see how the libraries are loading the image fast
  • Understand the Cache System a library is using to lessen the effort of loading images again and again
  • Put extra effort into learning about the Thread Pool and how a pool of threads can be used in other places as well
  • Try to create your Image Loading Library


Week 11

?? Do Testing

  • Understand why testing is needed and how it will help you to write better code
  • Start writing Tests for your simple logic, as it is called Unit Testing. One can use any library available like Robolectric which helps in performing Unit Testing very smoothly
  • Jump to UI Testing and test your UI in different devices and edge cases like, if the internet is not available or some data is not coming, then your app is giving its best UI on screen or not. This will help you in enhancing your User Experience


Week 12

?? Bring Some Automation

  • See, all the things you can automate as an Android Engineer, starting from building APK on every commit or running test cases
  • Making some decisions over Coding Style and Methods
  • Maybe this stuff will not come up in your Interview, but this will widely come up when you get into your regular job so... it's a must


Week 13

?? Build a Pet Project

  • Always have a pet project by your side to learn any new concept coming into the market
  • I have explained the benefits and approach to the pet project here


Week 14

?? Keep Practicing

  • You will always feel that you are not interview-ready and need more time to prepare, but the real preparation is Giving an Interview only
  • When you give one interview and fail, you get a chance to learn what mistakes you made so that you can improve and not perform in the future
  • So, Keep Practicing and don't fall into the Scam of Creating a Learning Streak or those green boxes on GitHub, as no one cares for this and it also doesn't matter to you after a few days of doing it


So, If you have read this far and you think this 4-month roadmap will help you... Start Today

Don't forget to Subscribe to this newsletter for more articles,

And our YouTube channel where we meet face-to-face :)

Looking for Mentorship?

Book 1:1 Session with me


要查看或添加评论,请登录

Akshay Nandwana的更多文章

  • Analytics Logging System in NowInAndroid App

    Analytics Logging System in NowInAndroid App

    This blog will walk you through the step-by-step process of building a scalable and testable analytics logging…

    1 条评论
  • lateinit vs lazy in Kotlin

    lateinit vs lazy in Kotlin

    Kotlin offers two ways to initialize properties lazily: and . While both are used to delay initialization, they serve…

    3 条评论
  • GSoC Orgs for Android Enthusiasts ??

    GSoC Orgs for Android Enthusiasts ??

    ?? Looking to contribute to Android-related projects and be part of Google Summer of Code (GSoC)? Join our upcoming 6…

    1 条评论
  • Difference Between const val and val in Kotlin

    Difference Between const val and val in Kotlin

    Kotlin provides two keywords, and , for defining constants. While both are used to declare immutable values, there are…

    1 条评论
  • Design Patterns in Android Development

    Design Patterns in Android Development

    Design patterns are proven solutions to common problems in software design. They help structure code, improve…

  • Mastering LRU Cache in Kotlin

    Mastering LRU Cache in Kotlin

    As a Senior Engineer, I’ve found that mastering algorithms isn’t just about memorizing their definitions but truly…

  • Android Engineer Interview Questions

    Android Engineer Interview Questions

    Kotlin Difference Between const val and val? Answer What is Data Class in Kotlin? What are the different Coroutine…

    3 条评论
  • ?? DSA + Patterns + Algorithms ??

    ?? DSA + Patterns + Algorithms ??

    One of my post about 6 months DSA Plan is something most of the people liked https://www.linkedin.

    1 条评论

社区洞察

其他会员也浏览了