Rakuten | Senior Software Engineer| Bangalore | August 2019 [Offer]
Anonymous User
3627

Present Status: Developer Associate, SAP Labs India
Position: Senior Software Engineer
Location: Bangalore, India

Interview Experience

Technical Screening Round(Face-2-Face)

  • Questions on paper published during college - merge sort
  • Questions on whitepaper published at SAP - JEE vs Springboot
  • Check for a loop in linked list
  • Given a linked list swap elements in pairs in place:
    Input - 1->2->3->4->5
    Output- 2->1->4->3->5
    Write code for this

Technical Round 2 (Face-2-Face)

  • Given a number, return the next biggest anagram number
    Input - 123
    Output - 132
    Write code

  • Write code for BFS of a binary tree

  • Lambda operator and sample code for showing lambda

  • SQL query:
    Employee - empId, empName,deptId
    Department- deptId, deptName

    • Write SQL query to return all departments and number of employees for that dept.
    • There may be depts with 0 employees as well

Technical Round 3 - System Design (Face-2-Face)

  • Design an application like google Keep.
    Main features:

    • Add a note
    • Edit a note
    • Delete a note
    • Add/Delete tags
    • Each note can have multiple tags
    • Search on tags
  • Design DB tables, API design and Java POJOs

  • User constraints:
    Around 10K users
    Each user has around 1K notes - 100 accessed frequently
    900 not so freq accessed

  • SQL Db vs NoSQL DB

  • What will you do when your DB size is almost full?

    • Related questions on sharding, consistent hashing

Managerial Round - over call

  • What type of data structure will you use for designing a scheduler? How do you set priority. Sample sudo code for the same
  • How do you define a TTL cache?
  • Given a class Employee - ID, name, data[]
    • Create hashcode and equals method for this class.
    • How will it affect if EmpId is not unique. Or if it is unique

Department Head - over call

  • Design the "tail" method used in linux.
    Basically there is a log file whch is of huge size, millions may be and you have to retrieve the last 'n' lines from the log. The actual log file is dynamic. That is while you are reading the log file, there may be new additions to the file as well and that should be incorporated into the solution.
  • Basic behavioural questions
Comments (0)