M2P fintech || Java Backend SDE 2 || Offer

m2p fintech logo
m2p fintech
Java Backend SDE 23 yearsOffer
November 2, 20242 reads

Summary

I recently interviewed for a Java Backend SDE 2 role at M2P fintech, completing 5 rounds including technical screening, problem-solving, coding, system design, and culture fit. I successfully navigated the process and received an offer.

Full Experience

Current Experience

I currently have 3+ years of experience at a product-based MNC.

Interview Process Overview

I appeared for a Java Backend SDE 2 role at M2P fintech, which consisted of 5 rounds, each lasting approximately one hour.

Screening Round (Intervue.io)

This round started with introductions. The interviewer then asked questions related to Spring Boot and Core Java. I also had to code a few easy programming questions, with a specific requirement to use Java streams. It involved some brainstorming around Java code puzzles.

Problem Solving Round

After introductions, I was asked to code a couple of problems:

  • Singleton Design Pattern: I implemented the Singleton design pattern.
  • Substrings with Only Vowels: I was asked to return a list of all substrings consisting only of vowels. I presented an O(n^3) solution, then optimized it to an O(n^2) solution. I was prepared to discuss an O(n) sliding window approach, but the interviewer did not request further optimization.

Towards the end, I was asked questions related to API endpoint security.

Coding Evolution Round

This round began with introductions, followed by questions on Spring Boot and Core Java. There were also a few simple coding tasks related to Java streams. The primary coding question I faced was:

Design Round

This was my first ever High-Level Design (HLD) round. After introductions, the interviewer immediately presented a design problem: to design a system related to credit cards with two main requirements. First, to notify the user at the beginning of the expiry month that their card would expire at the end of the month. Second, to automatically expire the card and send a notification to the user once it had expired. I clarified whether it was HLD or LLD, and we proceeded with HLD. I began by listing the functional requirements and then drew a simple architectural diagram involving a couple of services. The interviewer cross-questioned me on performance aspects, and through discussions, I was able to refine the design. The interviewer was satisfied with the final design, and was quite helpful, providing hints throughout the round.

Culture Fitment Round

This was a 30-minute round with an interviewer who had about 15 years of experience. After introductions, we discussed common behavioral questions:

  • How do I try to avoid bugs in my code?
  • What is Agile methodology? What are its pros and cons?
  • How do I communicate with different stakeholders while working on tasks in Jira?
  • How do I handle work delivery pressure?
  • Have I had any conflicts with teammates, and how did I resolve them?

At the end, I asked for feedback, and the interviewer mentioned that my responses were good and that I was well-adapted to agile methodologies and the field overall.

Overall Experience and Outcome

I found some difficulties in the screening and design rounds, but the other rounds felt relatively easy. The entire process took about a month. A couple of days later, I received positive feedback and am currently in the negotiation phase, which means I have an offer.

Interview Questions (9)

Q1
Singleton Design Pattern Implementation
Other

Implement the Singleton design pattern.

Q2
List Substrings with Only Vowels
Data Structures & AlgorithmsMedium

Given a string, return a list of all substrings that consist of only vowels. I discussed O(n^3) and O(n^2) solutions and intended to propose an O(n) sliding window approach.

Q3
Merge Sorted Array
Data Structures & AlgorithmsEasy

You are given two integer arrays nums1 and nums2, sorted in non-decreasing order, and two integers m and n, representing the number of elements in nums1 and nums2 respectively. Merge nums2 into nums1 as one sorted array. The final sorted array should not be returned by the function, but instead be stored inside the array nums1. To accommodate this, nums1 has a length of m + n, where the first m elements denote the elements that should be merged, and the last n elements are set to 0 and should be ignored. nums2 has a length of n.

Q4
Credit Card Expiry and Notification System Design
System Design

Design a system related to credit cards with two main requirements: 1. Notify the user at the start of their card's expiry month that the card will expire at the end of the month. 2. Automatically expire the card itself and send a notification to the user once it has expired. This was approached as a High-Level Design (HLD) problem.

Q5
Avoiding Bugs in Code
Behavioral

How do you try to avoid bugs in your code?

Q6
Agile Methodology: Pros and Cons
Behavioral

What is Agile methodology? What are its pros and cons?

Q7
Communicating with Stakeholders on Jira
Behavioral

How do you communicate with different stakeholders while working on tasks managed in Jira?

Q8
Handling Work Delivery Pressure
Behavioral

How do you handle work delivery pressure?

Q9
Team Conflict Resolution
Behavioral

Have you experienced any conflicts with your teammates, and how did you handle them?

Preparation Tips

I found some difficulties in the screening and design rounds. This indicates that I should have prepared more thoroughly for core Java puzzles, advanced Java stream usage, and especially for High-Level System Design. The other technical rounds felt relatively straightforward due to my existing preparation.

Discussion (0)

Share your thoughts and ask questions

Join the Discussion

Sign in with Google to share your thoughts and ask questions

No comments yet

Be the first to share your thoughts and start the discussion!