I applied for the profile of Android developer after seeing the opening on LinkedIn. Experience of 1-3 years was required. I mailed directly to the HR for my interest in the aforementioned role. In less than a day, I got a call from HR asking me about me about my development experience after which she scheduled my interview with a senior developer .
It was a 1 hour Hangout interview. This round was mainly concerned with Android and Java specifics. Deep knowledge and internal working of components and frameworks were assessed in this round.
Questions asked were:
- Working of Handler and Looper. How Android thread is different from Java Thread ? Explain handler threads.
- Concurrency framework in Android and their usecases .
- What are the problems in AsyncTask ? What is the relationship between the lifecycle of an AsyncTask and an Activity ? What problems can this result in ?
- Describe the working of different methods of RecyclerView.
- When to Register/Unregister Broadcast Receivers created in an activity? Advantage of preferring onStart()/onStop() and onResume()/onPause() over onCreate()/onDestroy().
- What is the difference between ListView and RecyclerView ?
- Given 50 items and maximum visible rows, find how many times onCreateViewHolder will be called .
- How would you communicate between two fragments ?
- What are weak references and Strong references (along with examples) ?
- Causes of memory leaks in Android applications ?
- What is SparseArray ?
- What is difference between Serializable and Parcelable ? Which is better in Android and why ?
After this round, I was given an assignment to make an Android app using Zomato search API. Functionalities expected were infinite recyclerview (pagination), filter for restaurant list and searchview for searching restaurants .
Based on the previous round, I was selected for second round. This too took place on Hangouts. It was DS Algo round. It started with discussion about my projects and internships. After that questions related to some random concepts were asked like what are usecases of push and pull mechanism. She initially told me about push and pull and then asked me about the usecases. Finally, two coding questions were to be solved on a collaborative editor.
- A sorted array is rotated about some point. Find the starting element.
- Implement deep copy of a graph. ( Cloning a graph )
This round was scheduled with the VP of engineering. Again a hangouts interview. He asked me about my background and what are the main reason I opted for Android followed by a long discussion on my projects.
- Describe the architecture of your last app.
- WAP to check whether a string is palindrome without using extra space. Explain time complexities of each methods.
- What is string interning?
- WAP for substring search.
- Give your views and suggestions on Urbanclap Android app.
Overall, the whole process took 14 days.