Flexport | SDE-1 | Interview Experience
Summary
I successfully navigated through multiple technical and behavioral rounds for an SDE-1 position at Flexport, which included a DSA assessment, a Machine Coding round, and a Hiring Manager interview, ultimately resulting in an offer.
Full Experience
I applied to Flexport on November 11 without a referral and received an assessment link on November 21. The assessment consisted of four DSA questions, all of LeetCode Medium/Hard difficulty.
Technical Interview Rounds
HR Screening (January 15)
The HR team reached out to discuss the role and provide a brief overview of the interview process.DSA Round
This round focused on IP address validation. I was asked to validate whether a given string is a valid IPv4 address and then a follow-up to determine if it's possible to form a valid IPv4 address from a string of digits. I received the result the same day and was scheduled for the Machine Coding Round the following week.Machine Coding Round
The problem was to design and implement Splitwise. I explained the system design well but couldn't fully implement the Low-Level Design (LLD) due to time constraints. Despite this, I was cleared for the next round.Hiring Manager Round
This round covered my previous experience, why I was interested in Flexport, basic HR questions, and deeper system design concepts like scaling systems, sharding vs. partitioning, data sharding strategies, ACID properties, CAP Theorem, and the differences between MongoDB and DynamoDB. This also involved High-Level System Design (HLD) questions.Final Outcome
I received the offer two days later.Interview Questions (4)
Validate whether a given string is a valid IPv4 address (composed of four octets ranging from 0-255, separated by dots).
Follow-up: Given a string of digits, determine if it's possible to form a valid IPv4 address by keeping the numbers in sequence. Example: '127001' → True (can be transformed into '127.0.0.1', '12.70.0.1', etc.).
Design and implement a system similar to Splitwise.
How would you scale a system? What is the difference between Sharding and Partitioning? On what basis will you shard data in your current company?
Discuss ACID properties and the CAP Theorem. What are the differences between MongoDB and DynamoDB?