Android Interview Question

Android Interview Question Fresher to Experience Level

Android Interview Question



Contents:

  • Why You should have to read this Article
  • Why relevant preparation is required before going to interview
  • Interview question for Fresher Android Developer
  • Interview question for Experience Android Developer
  • All the best 

Note- this is totally my experience and opinion, what I am going to share with you, 
And definitely, you will face these types of questions in your upcoming interviews, and this blog helps you a lot.

And please do not misunderstand that, I am sharing full interview process and all, here I'm describing only Android Specific Interview Question.
You have to prepare yourself for other rounds as well like- Aptitude, reasoning, and all.

Why You should have to read this article:

There are lots of differences between question's, what a fresher will face, and what type of question will be faced by an experienced person.

So here in this article, I'm going to share with you very relevant content what you should have to prepare for the android developer position--
  • For Fresher 
  • For Experience

Why relevant preparation is required before going to the interview:

When I was fresher and started to find a job in the IT industry for the position of Android Developer, 
truly said I was not much aware of what I'm going to face in the interview.

So I prepared some high level things and go for an interview, but failed. 
Do you know why?
because I was poor in the basics of java and not able to reply to basic java questions.

and after working near about 2 years as an android developer when I came in the market again to switch, I go for the interview and at that time what I faced that, I did a superb job, made excellent apps, but some time and in some questions, I was not much strong as concept-wise which satisfy the interviewer.

Interview question for Fresher Android Developer:

If you are going for an android developer position, well prepare Core java concept as you can.

They will start with the core java concept, and this round will decide that you are going in further round or not.
Actually, core java plays a key role in the Android developer role.



                   ***Core Java:***
  • What are class and object (prepare some real-life example of class and object, when they ask to answer tell them to answer and after that give them this real-life example as well )
  • JDK, JVM, JRE
  • OOPS
  • overloading
  • overriding
  • polymorphism
  • dynamic or run time polymorphism
  • static or compile-time polymorphism
  • try to do some overriding and overloading example(this will help you)
  • try to override non-static and static methods both and understand the difference between them(static method can not be overridden but the try to check your knowledge)
  • Inheritance
  • why java has not supported multiple inheritances
  • how to achieve multiple inheritances in java or what is the alternative of multiple inheritances in java.
  • Interface (be prepared about all the properties and behavior what Interface have)
  • Exception Handling
  • try-catch scenario (try with single catch, try with multiple catches, try-catch-finally, etc )
  • Final, Finally, Finalize(must know)
  • throw, throws
  • Multithreading in java
  • How to create a Thread
  • Runnable And Thread
  • String manipulation
  • Do some example and understand the difference between .equals() and == in String.
  • String Immutability
  • difference between String, StringBuilder, and StringBuffer.
***Collection:***
  • Overview of Collection
  • get some brief about ArrayList, LinkedList etc.
  • Difference between ArrayList and LinkedList.
                    ***Android:***
  • What is Android
  • Android Architecture
  • What is Activity
  • Activity life cycle(prepare complete scenario)
  • What is Fragment
  • Fragment life cycle
  • difference between activity and fragment
  • Intent
in my opinion, these topics are well enough if you are a fresher and going for an Android developer.
If you are prepared with these topics, your selection probability will high than others.

Interview question for Experience Android Developer:

So if you are going to give an interview for senior Android developer as an experienced level,
definitely, you will face the question like

2- added question according to your experience

So Prepare the Questions from basic to high level-

Here are the Questions for the experience level person,

Before this Please read out below post and brush up the mentioned topic first

let's start from here....

                     ***Java:***

Prepare content suggested above and after that prepare this as well.
Keep in mind Core java will play very important in every Interview.
so add these points with the above point.
  • Runnable vs Thread, the Basic difference between these two
  • If Java already have threads/multi-threading Architecture than why Android needs to implement Handler
  • What is Yarn, Join function. Sleep() vs Wait() in Threading (Usually asked in all companies)
  • Why wait(), notify(), notifyAll() method put in Object class.
  • How can you implement Synchronization?
  •  Object Level lock vs Class Level Lock.
  • Thread Pool Executor (Must study if not heard of this).
  •  Explain ArrayBlockingQueue?

             ***Activity And Fragment:***
  • Activity life cycle(prepare complete scenario)
  • What is Fragment
  • Fragment life cycle
  • difference between activity and fragment
  • Explain Activity Life Cycle and Most Importantly What will be the Life cycle (In Order) If Activity B is Launched from Activity A.
  • Why to use setContentView() in onCreate() callback method?
  • LaunchModes in Android. What is onNewIntent (Very very important to understand it)
  • Why it is recommended to use Default Constructor to create a Fragment
  • Explain Fragment Life Cycle, How the Activity Life cycle and Fragment Life Cycle gets called In Order, RetainInstanceState in Fragment
  • Fragment Add vs Fragment Replace, Explain with using Backstack and Without using backstack
  • Activity Life cycle when Dialog is opened — (hint:- Don’t get confused b/w system-generated Dialog and your own app dialog)
                      ***Content Provider:***
  • Explain Content Provider, What is Scheme? How can an Application Access database of another Application
                    ***Broadcast Receiver:***
  1. What’s Static and Dynamic Broadcast Receiver, What’re the changes Introduced in Latest version of Android regarding broadcast Receiver 
  2.  Local Broadcast Manager
                              ***Service:***
  • On Which Thread Services Work? What are the Changes and Limitations introduced in the latest version of android regarding Services
  • Services vs Intent Services 
  • Foreground Services and Background Services, Work Manager Role
  • How Work Manager, Job Intent Service, Alarm Manager, Firebase Dispatcher are correlated, Which to use when

          ***MVVM Design Pattern***
  • Design Pattern vs Architecture? Explain MVVM Design Pattern
  • MVVM vs MVP Design Pattern (Nowadays MVI Design Pattern too)
  • How ViewModel save Instance of UI? What’s the Role of Live Data in it, How Live data is different from Observer-Observable Pattern
  • How UI state is managed with ViewModel, savedInstanceState, and Database?
  • How to pass data in ViewModel constructor (hint:- ViewModel Factory)
  • LiveData vs Mutable Live Data vs Mediator Live Data
  • Map vs Switch Map in LiveData
  • How will you write your own ViewModel if Android ViewModel is not there
  • SharedViewModel, How to use it in Master-Detail kind scenarios for Fragment communication 
                 ***Dependency Injection:***
  • What is DI mean?
  • Why the developer should have to use DI.
  • And for now, Dagger-2 is a very famous, well defined, designed, Compile-time DI, used among the world-class developer, so prepare this as well.

                      ***Rx Java:***
  • Explain RxJava? What are Observables and Observers?
  • Operators in RxJava. Map vs FlatMap in RxJava
  • Subject in RxJava?
  • How to Implement Own EventBus by RxJava
  • How to implement Searching by RxJava

                             ***Extras:***
  • ViewBinding vs DataBinding in Android, What is Binding Adapter? What’s the use of data tag in XML
  • Types of Intent
  • What is Dagger in Android? Implement own Manual Dependency Injection without Dagger, What is Module and Submodule in Dagger
  • Build Type in Gradle? Explain Flavors in Gradle
  • Handler, Looper, Handler vs HandlerThread
  • Intent, Sticky Intent, Pending Intent. Purpose of Category in Intent

Special Note:
Please be expert in the task that you have been done in previous projects.
Surely this question will ask by the interviewer that what you had done in the previous project, and what skill you learn from there. 

All The Best:
That's all.
I Covered near about all the questions that I had faced in multiple interviews.
Hope it will help you in your upcoming interviews, All the Very Best.


********************************************************************************


Here are some more android and coding related beautiful stuff.

How to structure Code-


Naming Convention-


How to decide which architecture pattern suit your app-


2 comments: