Android Developer Interview Preparation Series | Part 2 – Preparing for the interview
In the previous post of android developer interview preparation series, we talked about how to get an interview at your preferred company. It covered how to build your resume, highlight your projects and application process.
In this post, we’ll take a look at the next step i.e. preparing for the interview. We’ll take a look at some android developer interview questions which are very frequent and are most likely to be asked.
There are two aspects of an interview for an Android Developer:
- Domain Knowledge: This section is to test your knowledge in Android Development. This includes some standard android development interview questions and some situational questions depending upon your seniority.
- Data Structures and Algorithms: This section tests your basic knowledge in DSA. The difficulty level of this section is totally upon the interviewer/company. Many companies focus more on domain knowledge and keep DSA fairly easy. While some companies may focus more on DSA than domain.
So, let’s see how one should go about preparing for an android development interview.
Before the Interview Process
You’ll most likely get a call/email from the company HR about scheduling an interview. This is the time where you can get a hang of where the focus of the company lies.
You can ask questions such as “What will the interview focus upon?”, “How long will be the interview (if this info is not included in calendar invite)”, “Will it focus on DSA?”. Answers to these questions can reveal a lot about the company’s interview process.
Typically the HR will contact the interviewers for answers to these questions. If the answer focuses strongly on DSA then you’ve got to prepare thoroughly for DSA questions. Else, you can assume that it’ll be a bit lighter.
Next best thing to do is, go to Glassdoor and look up all the previous interview questions. These are posted by real candidates and is the best place to know about the company’s interview process.
If you’d like to go a step further, list down all the common questions asked, and prepare for them thoroughly be it DSA questions or android developer interview questions.
One more thing that you can do is to reach out to people on LinkedIn who’ve worked in that company or are current employees. Talk to them about the interview process and difficulty level and they’ll definitely guide you. I’ve never seen people turn down a request to help someone with the interview.
Preparing for Android Developer Interview Questions
While there are a plethora of questions that the interviewer can ask, there are also some standard ones. I’ve seen most of the interviews begin with these questions. And if you’re able to answer these correctly, it creates an awesome first impression.
After giving multiple interviews for internships and jobs for android development, I’ve created a list of 15 questions that appear very frequently (if you feel that I should add some, mention those in the comments):
- Activity Lifecycle: If Activity B is launched on top of Activity A, what lifecycle methods are called.
- Fragment Lifecycle: Basic fragment lifecycle, fragment lifecycle when activity is popped.
- View Lifecycle: Basic lifecycle of a view. Difference between onMeasure and onLayout. Difference between invalidate() and requestLayout()
- Explain different activity launch modes.
- Difference between a RecyclerView and ListView and how’s one better than the other.
- Explain MVVM architecture. How is it better than MVP?
- Explain Threads, Handlers, Loopers and Handler thread (prepare an example for this question).
- What are services? What are the different types of services and differences between them?
- Memory Leaks in Android. How do they occur? How AsyncTask can lead to a memory leak and ways to prevent it.
- How is an APK compiled? APK compilation process.
- OnStart vs OnResume
- What is the use of onSavedInstanceState and when is it called?
- Kotlin vs Java which is better and why ?
- Questions about Singleton pattern and what are its drawbacks? How to fix them?
- What is the use of AndroidManifest.xml ? What are Intent Filters and how are they declared?
These are by far the most frequently asked interview questions that I’ve come across. Some companies also prefer giving the candidate a task, a small application to build. Then you’ve to focus on:
- Code Quality
- Architecture
- Using best practices for variable naming conventions etc.
The libraries you use won’t matter, you’ll be judged on the basis of the quality of your code. Also, the company doesn’t expect you to create the most beautiful UI. So don’t fret over it!
If you prepare the questions above well, you’ll have really good chances of performing extremely well in the interview. Of course this is not an exhaustive list and I believe no one can prepare an exhaustive list, but these are some standard android developer interview questions which definitely appear in one form or the other.
You’ll notice as you begin answering the questions well, the difficulty level will rise. Upcoming questions will get difficult. Don’t panic. This is actually a good sign that you’ve nailed the basic questions and already raised the bar in the interviewer’s head!
The interviewer will try and get you stuck at a question, and will see your approach as you figure out the solution to the problem. It’s important to proactively communicate with the person and tell them what you’re thinking. Ask questions to clear any doubts/unknowns of the problem.
Preparing for Data Structures and Algorithms
If you’re already good at DSA, you can crack this section easily. But if you’re not and just preparing for the interview, you’ve to be smart at preparing for this section.
You cannot master DSA overnight, heck not even in a week! But with some intelligent preparation, you’ll have a better shot at this section than just randomly going through GekksForGeeks questions.
First, you’ll have to prepare a list of most frequently asked DSA questions for that company. Here’s how you can prepare a list:
- Go to the glassdoor page of that company. In the interview section, filter the questions by your job role. In our case “Android Development” / “Android Developer” / “Mobile Development” etc.. If these are not available, you can filter for SDE 1,2,3 etc.. whatever is it that you’re applying for.
- Scan quickly through the questions and note the ones that appear most frequently in your text editor.
- Go to GeeksForGeeks and search for interview questions for that company.
- When you’ve exhausted these two sites, you can do a simple google search and see if anything credible comes up.
Once you have a list of questions, start preparing for them thoroughly. You can try and solve them on your own, but since time is a constraint, don’t shy away from looking at the solution.
While this may not help you become a master at DSA but this post is not about that. You won’t get good at competitive coding in a week’s time. It takes a lot of hard work and time.
But if you’ve focused more on Android (like me) throughout your college/career, then this is the best way to prepare for Data structures and algorithms for an interview.
Design Round
While I haven’t seen this round in most of the interviews, it was certainly asked in some. So, if after completing all the android developer interview questions and DSA questions, you’re still left with some time, you can take a look at system design.
Some typical questions for system design include, design a push notification system, design a WhatsApp like chat application, design an SDK (android) for push notification management, design TinyUrl, twitter, uber etc…
Once again, focus on this only after you’ve prepared for the above two sections. Especially if you’re a fresher, since system design round for freshers is not very likely.
Conclusion
This was the second post in the android developer interview preparation series. We talked about how to prepare for android developer interview questions, source questions and check the focus of the interview.
Hope this post is of help and would make this phase of your interview a bit easier.
Published on Java Code Geeks with permission by Ayusch Jain, partner at our JCG program. See the original article here: Android Developer Interview Preparation Series | Part 2 – Preparing for the interview Opinions expressed by Java Code Geeks contributors are their own. |