Rapido Android Developer

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

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)