YOE : 1
Round1 :
- Activity Fragment
- Android Components (Broadcast, Service, Activity, Content Provider) - bit of discussion on all of them
- Was asked about best practices on using any of them and if I have used them
- Push notification - how to implement and setup, how to send push notification to some specific device
- Bit of discussion on firebase tools (real time db, firestore, storage) not asked in detail just asked if I am familiar with any of them
- Need to convert java syntax to kotlin in a more readable format
- Basic idea about profiler, proguards etc..
Round2 :
- Polymorphism and Encapsulation
- SOLID principles need to explan all of them
- Design patterns(I was aware of factory, builder, singleton, adapter)
- Asked to design a youtube feed with proper MVVM + clean architecture [just need to discuss approach not to write code]
- Main focus on architecture and design pattern which I will use
- How will I design a dynamic youtube type feed
- There can be multiple components like normal video, video with title, shorts, or any other
- What sort of data I will need from BE
- I answered -
- We will ask for list of components we need to display from BE
- Each component id will be associated with a viewholder
- Will use factory pattern to get viewholder corresponding to component id
- Then will call parallel api to get data for all components and wait for all of them and then combine and pass to view
- Cross Questions for my approach
- How to show loading when loading data for components
- When we get the list of components, then will create the list as per component with null data and pass to view
- If data is null view will show loader else data in it
- What if I get data for few components and others still loading, so how to handle so that user do not need to wait for all data
- Answer : Will keep track of which component data we have recieved
- We will have 3 states for each compoent -
loading(1),data_not_sent_to_ui(2),data_sent_to_ui(3) - let suppose we have 0 - 10 components loading so initally all will in state 1
- If we get data for a index then will check if it's pervious index data has state as 3 then will send data
- If previous index value is 2 then will send data of previous index and current and sly check for previous indexes
- If previous index value is 3 then will directly send data to view
- Also for every index data we pass to view will also check for it's next index if it is 2 then will also send it to view
- And will update the status
- How to show loading when loading data for components
I messed the above answer a bit but not finding any simpler way to write what I said 😁
Round 3 (Hiring Manager) :
- Why leaving current organization
- Why to join Rapido
- Why should they hire me
- What is the most challenging task I have worked on
- Only these sort of question forgot few
Status : Cleared
Comments (1)

