Status: 5yr Experience
Position: SDE3 @HashedIn Technologies
Location: Bangalore (Hybrid)
Date: July, 2023
Round 1 - Technical (Screening Interview on Zoom) 30min (got extended by 15min)
- Introduction
- Some overview about current project
- Rate yourself on Java (Java 8) and front-end technologies (like react/angular/javascript etc)
I work on backend, not so good at front-end technologies, though I have worked for few months as full stack. So I rated myself pretty low on that.
Tip: Be honest.
- Medium level question. modified version of sort-colors with custom objects.
- Follow-up question on this problem: Make the solution generic. It should work for any type of objects.
- 1 question related to Java 8 functional programming (Stream API) and some follow up questions on the solution.
- Interviewer asked to modify the solution to be generic.
I was able to answer all the questions very well. Got a call back in 1 day for scheduling next round of interview.
Round 2 - Technical (CodePair) 90min (Finished in 70min)
- Introduction
- With a custom probem (not a leetcode-like problem solving), interviewer checked my knowledge on SOLID principles generics in Java again combined with basics.
- LeetCode Medium: online stock span
I was able to answer all the questions very well. Got a call back in 1 day for scheduling next 2 rounds of interview (HLD and LLD).
Round 3 - High Level Design (CodePair) 90min
- Introduction
- Some discussion about my current project and it's architecture.
- Interviewer asked to design and discuss for a solution for managing long running operations.
He wanted to discuss about following
- REST APIs : How I design the APIs
- Classes : How I structure my classes
- Design : How I design the solution (It should be robust)
- Status/Outcome Tracking : How I manage to track the state/status of the submitted async jobs throughout it's life span and afterwards.
- TimeOut Mechanism : Implementing timeout for the procesing of jobs and making it optional. Also, how to handle if timeout occurs.
- Retry Mechanism : Similar to timeout
- Limit on parallelism (asked to make it configurable) : How to limit/control number of parallel processes, the system shall allow at a time.
I had already implemented similar solution in my current project, it turned out easier for me.
I was able to answer all the questions very well.
Round 4 - Low Level Design (CodePair) 90min (Finished in 70min)
Two questions in this round:
- Design Retry Mechanism on HTTP calls.
- Given a SQL DB Table with data having relationship with it's own records. Table contains Employee objects with id, some other column like fname, lname, dept etc and managerId (this would be id of another record in same table... becomes like a self reference situation). Design a data structure suitable to store this static data that could efficiently support 2 operations:
Operation 1. search-by-name (like name.contains("abc"). Should return list of employeeIDs.
Operation 2. search-by-emp-id. Should return detials of employee.
I was able to answer all the questions very well. Got a call back next day about the Hiring Manager round.
Round 5 - Hiring Manager Round 90min (Finished in 30min)
I was preparing for a mix of technical, behavioural, managerial (as I'm working as Tech lead, managing team is one part of my role in current org) and situation based questions. The interview invite had codepair link as well.
But, it was more of a discussion. The Hiring manager was really nice. We discussed about what they expect from me on the role that they are hiring me, what the team does, what the project is all about, and also, what my aspirations are.
Having some research about the organization would help you put a great impression in this round.
The whole process took around 10 days. I asked the HR to accelerate my process as my release date was coming close.
As the final verdict, I got selected and got the job offer. :)
Compensation Details Here.
#vmware #mts3