flexport logo

Flexport Interviews

4 experiences56 reads12 questions25% success rate
Flexport || SDE-1 || Interview Experience
flexport logo
Flexport
sde-1Ongoing
November 9, 202542 reads

Summary

I interviewed for an SDE-1 role at Flexport across five rounds. The process included technical problem-solving, machine coding, system design, and behavioral questions, culminating in a positive overall experience despite not reaching an optimal solution for every problem.

Full Experience

My Flexport SDE-1 Interview Experience

I recently went through the interview process for an SDE-1 position at Flexport, which consisted of five distinct rounds. Overall, it was a very positive experience, and the interviewers were consistently nice and helpful, guiding me whenever I faced challenges.

Round 1 (Online Assessment)

This round was conducted on Hackerrank and comprised 4 questions: 3 focusing on Data Structures & Algorithms (DSA) and 1 related to API design or usage.

Round 2 (Problem Solving - 1 Hour)

In this round, I was presented with a grid-based graph question. The core task was to perform 'Q' queries, and for each query, determine if a path existed from point A to point B within the grid. I started by proposing a brute-force approach involving Q separate DFS traversals. The interviewer then prompted me to optimize, and I proceeded to code a solution using a single DFS. We further discussed more advanced optimizations, specifically a combination of Binary Search, DFS, and Hashing, though this approach was only discussed and not coded. The interviewer was very supportive and provided helpful hints.

Round 3 (HR Call - 15 Mins)

This HR call was explicitly mentioned as an eliminatory round. The discussion began with my tech stack and current project. I was asked several questions about my work, such as the problem statement my current project solves, its target customers, and various other related queries. Following this, we moved to basic HR questions like my future plans, my interest in joining Flexport, why I preferred a startup environment, my current compensation, and notice period. Before concluding, the HR advised me to research Flexport's work and their teams in India, which I noted for subsequent rounds.

Round 4 (Machine Coding - 1 Hour)

This round commenced with a 20-25 minute discussion about my resume and current project. Following that, I was given a problem statement for a Low-Level Design (LLD) question, where the expectation was to implement two APIs. I engaged in a thorough discussion for about 20 minutes on various edge cases and different 'what if' scenarios, outlining my approaches to handle them. With the remaining 10 minutes, I began coding. I successfully wrote all the necessary classes and implemented one API. Time ran out before I could code the second API, so we discussed its implementation and had a brief chat about Flexport's teams.

Round 5 (Hiring Manager - 1 Hour)

The final round started with a detailed introduction, after which the hiring manager extensively reviewed every line of my resume. We discussed alternative approaches for some of the solutions or implementations I had mentioned. Subsequently, I was given a LeetCode hard graph question. I struggled to come up with an optimized solution, so the manager asked me to think about and solve the brute-force approach. We ended up discussing a pseudocode for it rather than writing a working solution. We then shifted to a High-Level Design (HLD) discussion of my current project, specifically why certain tech stacks were chosen. The round concluded with more HR and situation-based questions, similar to 'how will you...' and 'what will you...' scenarios. I was also asked specific questions about Flexport, for which I had prepared based on the HR's earlier advice.

Overall, my experience was very positive. All the interviewers were supportive and helpful, making it a good learning experience.

Interview Questions (2)

Q1
Grid Graph Path Existence with Q Queries
Data Structures & AlgorithmsMedium

During the problem-solving round, I was presented with a grid-based graph problem. The task was to efficiently answer 'Q' queries, each asking to determine if a path exists between two given points, A and B, within the grid. I began by outlining a brute-force approach involving a DFS for each query, then optimized this to a single DFS implementation, which I coded. We also discussed further optimizations using a combination of Binary Search, DFS, and Hashing.

Q2
HR and Project Discussion
Behavioral

The HR round, which was eliminatory, delved into my technical background and current work. I was asked about my tech stack, the problem statement my current project addresses, and its target customers. Standard behavioral questions were also posed, covering my future plans, my interest in Flexport and startups, current compensation, and notice period. I was also advised to research Flexport's operations and teams in India before concluding the call.

Preparation Tips

I was specifically advised by the HR to study about Flexport's work and their teams in India. I ensured I researched these aspects prior to the hiring manager round.

Flexport | SDE-1 | Online Assessment & Interview Experience | Feb 2025
flexport logo
Flexport
SDE-1Rejected
February 25, 20256 reads

Summary

I interviewed for an SDE-1 position at Flexport, which included an Online Assessment, a Data Structures & Algorithms round, and a Machine Coding round. Despite performing well in the DSA round, I was ultimately rejected due to a very poor experience in the Machine Coding round marked by miscommunication and unclear expectations.

Full Experience

I applied for the SDE-1 position at Flexport through LinkedIn Easy Apply. After a few weeks, I received an Online Assessment invite, which consisted of four Data Structures and Algorithms problems: two LeetCode Easy and two LeetCode Medium. I completed the OA successfully.

First Interview – DSA Round (Early February)

About two months after the OA, I received an invitation for the first interview. On the interview day, the interviewer initially forgot to join the call. I emailed HR, and after about 30 minutes, he responded and convinced me to take the interview immediately instead of rescheduling.

The DSA Problem

After a brief introduction, he presented me with a problem: "You are given an n × m chessboard with a knight at (0,0). You need to determine if the knight can move to all cells on the board. The knight can revisit cells multiple times."

I initially proposed a greedy approach, stating that if n >= 4 and m >= 4, it's always possible. He asked me to consider another approach to discuss further. I then suggested using recursion and backtracking.

Coding & Execution

I was asked to write the code in any IDE and then copy it to a Google Doc. I implemented the recursion + backtracking solution. He provided test cases, ran my code, and it worked as expected.

Follow-up: No Revisited Cells Allowed

The interviewer then modified the problem: "Now, the knight cannot revisit any cell." I adapted my existing recursion + backtracking code to meet this new constraint. The interviewer initially thought my solution was incorrect, but after I performed a dry run, he realized it was correct. He ran test cases again, and the code worked fine.

Approximately one hour later, HR sent an invite for a Machine Coding Round.

Second Interview – Machine Coding Round

Poor Communication from the Interviewer

This was honestly one of the worst interview experiences I've had. The interviewer and I started with brief introductions, and he asked about a recent project I worked on at my company. After I explained a few things, he formed an incorrect perception of my project. This led to a significant miscommunication where he was asking something, and I was understanding something else, resulting in about 10-15 minutes of wasted time and confusion.

Machine Coding Task – Low-Level Design (LLD) of Chess

The interviewer did not clarify upfront what he expected from this round, which further added to the confusion. I started by discussing requirements, object design, and system flow. After about 10 minutes, he interrupted, saying, "Just write the classes." I began writing class structures. About 15 minutes later, he suddenly stated, "I only wanted the Chess Piece class."

Throughout the interview, the interviewer was barely responding and kept muting himself, making me feel like I was talking to myself. When I asked, "Does this approach look good?", he only replied: "Keep going, I'm looking."

After a while, he abruptly ended the interview, saying, "Your interview is over. Ask me a few questions if you have."

Due to the extremely poor experience in the second round, I was ultimately rejected.

Interview Questions (3)

Q1
Knight's Tour Path Existence (Revisit Allowed)
Data Structures & AlgorithmsMedium

You are given an n × m chessboard with a knight at (0,0). You need to determine if the knight can move to all cells on the board. The knight can revisit cells multiple times.

Q2
Knight's Tour Path Existence (No Revisit)
Data Structures & AlgorithmsHard

Modify the previous problem: Now, the knight cannot revisit any cell.

Q3
Low-Level Design of Chess Game (Partial)
System Design

The task was to implement a Low-Level Design (LLD) for a Chess game. Initially, the interviewer asked to write classes for the system, but later specified wanting only the Chess Piece class.

Flexport | SDE-1 | Interview Experience
flexport logo
Flexport
SDE-1Offer
February 11, 20253 reads

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)

Q1
IPv4 Address Validation and Formation
Data Structures & Algorithms

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.).

Q2
Design and Implement Splitwise
System Design

Design and implement a system similar to Splitwise.

Q3
System Scaling and Sharding Concepts
System Design

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?

Q4
Database Properties and NoSQL Differences
System Design

Discuss ACID properties and the CAP Theorem. What are the differences between MongoDB and DynamoDB?

Flexport | SDE-1 | Banglore/WFH | Feb 2024
flexport logo
Flexport
SDE-1Banglore/WFH1.9 yearsRejected
March 5, 20245 reads

Summary

I interviewed for an SDE-1 position at Flexport in Feb 2024, navigating through multiple challenging rounds including Data Structures & Algorithms, Low-Level Design, and a Hiring Manager discussion. Despite my strong performance across all stages, the outcome was ultimately a rejection.

Full Experience

Introduction Round

I started with an introductory chat with HR, where we discussed my expected salary and aspects of the company culture.

Round 1 (DSA Round) (1 hour)

After a brief introduction with the interviewer, I was presented with a problem:

  • Problem: Given a list of flights (e.g., BLR->DLI, GUR->MUM, MUM->CHN, CHN->DLI), and various queries like (GUR->DLI), I needed to determine if it's possible to reach one station from another.

Initially, I proposed a solution using Floyd-Warshall for precomputation, which was computationally heavy (O(N^3)) but allowed for O(1) query times. The interviewer engaged me with questions about Dijkstra and Floyd-Warshall, then asked for an alternative approach. I then presented a solution using BFS, which required no precomputation and processed each query in O(N) time. I coded this solution, and subsequently, I was asked to also print the path and the total number of flights involved. I further optimized by suggesting an initial iteration over all cities to pre-store reachability in a 2D array, leading to O(1) query time for subsequent queries. This round went exceptionally well, and I cleared it, receiving an invitation for the next round the very next day.

Round 2 (LLD) (1 Hour)

This round began with a thorough discussion about projects I had completed at my current company, including an in-depth look at their scalability. We also spent about 30 minutes going over my resume. The core of this round was an LLD problem:

  • Problem: Design a Connect 4 game. Two users can play, one with white coins and the other with black. Users choose a column to insert a coin, but cannot see the board. Coins fill from the bottom (row 1, then row 2, etc.) within the chosen column, and users are unaware of this internal board state, only interacting by dropping coins into columns.

I was given 25 minutes to conceptualize and write the solution. I successfully created the design and classes, accompanied by pseudocode. I cleared this round and received the link for the Hiring Manager round within two hours.

Round 3 (Hiring Manager) (1 hour)

The first 30 minutes of this round were dedicated to discussing projects from both my current and previous companies. Following this, I tackled a DSA problem:

  • Problem: Given an array of 0s and 1s, convert the maximum number of 0s to 1s such that no two 1s are adjacent. For example, if the input is [0,1,0,0,0,1], the answer is to convert one 0 to 1, leading to a structure like [0,1,0,1,0,1].

We also discussed my expected salary, my motivations for seeking a new role, and my reasons for wanting to join Flexport. This round also progressed smoothly.

Ultimately, I received a rejection email two days later. I reached out for feedback but have not yet received a response.

Interview Questions (3)

Q1
Flight Route Reachability with Path
Data Structures & AlgorithmsMedium

You are given a list of flights, for example: (BLR->DLI, GUR->MUM, MUM->CHN, CHN->DLI). You will be given queries, and for each query (source->destination), you need to tell whether you can reach from the source station to the destination station. Additionally, if reachable, print the path and the number of flights taken.

Q2
Design a Connect 4 Game
System DesignMedium

Design a 4-connect game. Two users can play, one using white coins and the other black. Users are given a 6x7 board but cannot see it; they can only choose a column to insert a coin. A user cannot insert a coin into a column that is already full. If a user inserts a coin into an empty column, the coin fills from the bottom (row 1, then row 2, then row 3, etc.) within the chosen column. Users are unaware of this internal mechanism; they only drop a coin into a column.

Q3
Maximize Non-Adjacent Ones
Data Structures & AlgorithmsMedium

Given an array of 0s and 1s, convert the maximum number of 0s to 1s such that there isn't any adjacent 1. For example: [0,1,0,0,0,1] -> ans: 1. An example of a valid final array structure is [0,1,0,1,0,1].

Have a Flexport Interview Experience to Share?

Help other candidates by sharing your interview experience. Your insights could make the difference for someone preparing for their dream job at Flexport.