How to Successfully Overcome Technical Interviews for Android

Nicolas Gonzalez
5 min readMay 6, 2024

--

Growing within a software company means understanding that the customer is always right (although not always). Many decisions are influenced by business issues and what’s best for the company’s growth. But what sets me apart from other Android developers aspiring to enter my dream company? Break the paradigm; don’t just be technical, stand out in the interview with small details. How to do it? Let me give you an example:

Imagine Dean wants to join the company where you work, and you coordinate the interview. Listening to Dean enthusiastically talk about how good the company is and its cool environment, his nerves lessen (though they’re still there!). Not all interviewers are lively, and sometimes nerves can play tricks, but that’s how you grow in the tech world, gaining experience with each step you take.

Once the technical interview begins with whatever technology, one does not expect the university questions that programming professors taught us all the time, such as, what are the four principles of OOP? Inheritance, Polymorphism, Encapsulation, which one am I missing? Oh yes, Abstraction (it happens that you might forget those little details). By default, from university to the present, these teachings are ingrained but are only oriented towards practice, not theory (which is not bad, but it is better in those cases to place practical examples where you apply that knowledge you have even if you don’t know the concept you pull from Wikipedia to explain any of the principles). It’s more valuable to pull out a definition from an experience you had and reflect it on one of the OOP principles. There’s a small differential factor, now a real case from an interview I conducted:

Let’s go back to Dean, when I asked him what Inheritance is, he gave me an example that would usually be with geometric figures, like the triangle, circle, square, or another classic example like animal and person, but in this case, it was not like that, it was about a specific video game, Elden Ring, and I was like, what? WTF? (funny enough, I had been playing that game all week with my brother and it reminded me of the impossible bosses in that game). Honestly, the interview was very entertaining just because of that small example and with that, I realized that the rest of the interview was going to be enduring.

There may be interviewers who ask you to be brief and concise with your answers but when you do it that way, the interviewed person with nerves will only answer as an example: What is an Activity? It’s where I show the UI of an Application… and that’s it, would you give the OK to that answer? Not really, right? You would continue to the next question…

But when you extend after being told to be brief and then show that you have security when speaking, you have confidence that what you say is correct because you have the experience not only from what you do in your day-to-day as a developer but because you also put it into practice from small projects that you then upload to GitHub, you understand how to use the tools at your disposal and how each one works.

Before wanting to enter an interview, ask yourself these questions, do I want to change my current job? Am I not comfortable? Do I feel stuck? Do I want to grow?

If you aim for a bigger position with better benefits and better salary, get the idea that the interview will be even more challenging and it’s not just about knowing what an Activity is (for the case of Android interviews), that’s just a taste of what you can expect and at least questions of that type such as:

  • What is a Fragment?
  • Tell me all the methods of the life cycle of an activity (not just the names give examples of use cases)
  • What methods of the Fragment lifecycle are not part of the Activity lifecycle?
  • Serializable vs Parcelable (which is faster and why?)
  • How do you communicate 2 modules of an app without adding the dependency in the gradle?
  • What is ANR?

And so on, endless questions that can arise during the interview, where the interviewer based on how you respond will want to make it more complicated because the idea is that you do not manage to answer everything (?), if you answer everything congratulations, you earned a cookie, if you feel you fail one or two that were really complicated you do not have to feel bad it does not mean you failed the whole interview (although inside it eats you and your ego has been hurt), every developer has their ego that even applies to the interviewer who feels with the power to decide if you pass or not and hence the extra pressure that the interviewee has because failing one is to think that you are not good and it is not so, now if you fail to explain what is an Activity, Fragment, and the life cycles and how each one works, later it will complicate you much more the interview.

It’s not all about Google’s Android Jetpack, Android is much more than just MVVM + LiveData + Navigation + Paging + Room + Coroutines Android is more than just Jetpack; it’s understanding Context, Activity, Fragment, backstack, design patterns, Intents, Bundles, and much more. And now, with the new features of Compose and KMM, the field continues to expand, but that will be another story.

Once you feel at the level where you clearly understand how each component, each API works and what it does, go beyond, before entering the company where I am, I failed several interviews, all because I did not go beyond, “under the hood”, since I only limited myself to give the concept taken from a book of Basic Programming in Android. Understand how it works as if it had to be created from 0, they will always tell you the famous saying “do not reinvent the wheel” and it is VERY true, what you do not have to do anything from 0 but you have to understand how it works so that you have a thought beyond the concept that you took from the book or from the Google guide, as it will help you think more like an Architect and not just another developer.

After many interviews, both failed and successful, I have learned that it is crucial to understand not only the basic concepts but also to delve deeper into them. If an interview does not go as you expect, it is not the end of the world. Note what you learned, ask for feedback, and use that to continue growing in your field.

Without further ado, success in your next interviews! I know you will achieve it, and when you do, do not hesitate to leave a comment telling your achievement.

See you next time!

--

--

Nicolas Gonzalez
Nicolas Gonzalez

Written by Nicolas Gonzalez

Android & Flutter Developer at Globant, cat&dog, guitar and PIZZA LOVER!

No responses yet