MHP 1st round of interview sde 2 (service based) (1hr)
Summary
I had my first round interview for a Software Development Engineer 2 position at MHP. The interview covered a range of topics including API design, system design principles, concurrent programming, and a specific data structures and algorithms problem.
Full Experience
MHP SDE 2 Interview - Round 1
My first round interview for the Software Development Engineer 2 role at MHP lasted approximately one hour. The session began with a standard introduction, where I had the opportunity to talk about myself and my background. Following that, we discussed my resume and projects in detail, which allowed me to elaborate on my contributions and technical skills.
The interview then shifted towards more technical topics, beginning with API design questions. I was asked to design an API for a specific method (GET/PUT/POST) and then faced a more complex scenario involving the API design for adding an amount to a digital wallet within a payment application.
Theoretical concepts were also a significant part of the discussion. I was questioned on the CAP theorem, particularly focusing on why availability and consistency cannot be achieved simultaneously in a distributed system. Concurrency was another topic, where I explained what it is and how it's implemented in programming languages. We also delved into API latency, what causes it, and how one might reduce it. Eventual consistency was another key concept I was asked to elaborate on.
Finally, the interview concluded with a data structures and algorithms problem: finding the longest substring without repeating characters in a given string. I was not asked to provide a solution or code, but rather to discuss my approach.
Interview Questions (7)
I was asked to design an API for any one method, either GET, PUT, or POST. The discussion involved choosing the appropriate method and detailing its design.
Given a situation where an amount needs to be added to a wallet in a payment application, I was asked to design the API for this functionality, including how it would work.
I was questioned about the CAP theorem and specifically why Availability and Consistency cannot be achieved together simultaneously in a distributed system.
The interviewer asked me to explain what concurrency is and how it is used within programming languages.
I was asked to define API latency and discuss methods or strategies I have used or would use to reduce API latency.
The interviewer asked me to explain eventual consistency.
I received a data structures and algorithms question asking to find the longest substring without repeating characters.