M2P | SDE-2 | Bangalore | Aug 2024 [Offer]
Summary
I successfully interviewed for a Senior Software Engineer (SDE-2) position at M2P in Bengaluru, India, and received an offer after two challenging onsite technical rounds covering data structures, algorithms, machine coding, and system design.
Full Experience
Round 1 (Technical) (2 hrs) - Onsite Interview
My first round was a 2-hour onsite technical interview. I was asked to implement a function to generate a random unique 16-character ID using alphanumeric characters (A-Z, a-z, 0-9). Following that, I tackled a machine coding problem for the classic Snake and Ladders game. The round concluded with a LeetCode problem on pattern matching, specifically 'Regular Expression Matching'.
Round 2 (Technical) (1.5 hrs) - Onsite Interview
The second technical round lasted 1.5 hours and was also onsite. It began with an in-depth discussion about the projects listed on my resume. I then went through a system design discussion for one of my major projects, followed by various clarifying questions. Another key part of this round was designing a document management service catering to different co-lenders and document types, emphasizing High-Level Design (HLD), microservices architecture, database design, and relevant design patterns. Finally, I faced technical questions covering SQL, unit testing, scaling strategies, S3, and SFTP, mainly linked to technologies mentioned in my resume.
Verdict: Selected
Interview Questions (4)
Generate Random Unique Alphanumeric ID
Implement a function to generate a random unique 16-character ID. The ID should consist of characters from A-Z, a-z, and 0-9.
Machine Coding: Snake and Ladders
Design and implement the classic game of Snake and Ladders. This typically involves defining game rules, player movement, board state, and handling snakes and ladders.
Regular Expression Matching
Implement regular expression matching with support for '.' and '*'. The problem description can be found at the provided LeetCode link.
System Design: Document Management Service
Design a robust document management service. The service needs to handle documents from various co-lenders and support different document types, possibly with configuration-based logic. Key aspects to cover include High-Level Design (HLD), microservices architecture, database schema design, and applicable design patterns.