Flexport Software Engineer Interview Questions
13+ questions from real Flexport Software Engineer interviews, reported by candidates.
Round Types
Top Topics
Questions
Flexport | SDE-1 | Interview Experience
I applied to Flexport on November 11 without refferal and received an assessment link on November 21. The assessment consisted of four DSA questions, all of LeetCode Medium/Hard difficulty. Technical Interview...
Flexport | SDE-2 | Offer
Experience: ~4 yrs HackerRank Round: 4 questions had to be solved in 90 mins. Question were medium to hard difficulty. On clearing hackerrank round, 4 coding rounds were scheduled. Round 1: Coding Round 2...
Flexport | SDE (2) | Bengaluru | April 2024 | [Reject]
Current experience: Education: 2021 Grad, IIIT College Position: SDE1 at Fintech Location: Bengaluru, IN Interview experience: Applied Position: SDE2 at Flexport Location: Bengaluru, IN Date: April, 2024 Round 1: Technical [1 hour] Question: Consider an infinite grid. There are two...
Flexport | SDE 2 | Rejected
Online Assessment # Round 1: 1. My Calendar 1: Leetcode - Solved this 2. Follow up on this: - Code not working as expected \t3. Merge events: \t\t \t \tmerge(10, 20) => [[10, 20]] \tmerge(40, 50) => [[10,...
Flexport OA
There were 4 problems to be solved in 120 mins. 3 DSA and 1 REST API based Problem-1 Given an array of n integers, we define score for a pair of indices...
Flexport | SDE-1 | Rejected
Experience: 2 years Online Assessment: Completed 4 medium-level coding questions, successfully solving all. Round 1: Coding Round Asked a problem similar to this Round 1 question. Round 2: Machine Coding Round Designed an LRU Cache, incorporating...
Part 1 Imagine you have a shipments, that can consist of following fields: weight volume crewSize and a rate for calculating shipment cost. Rate can be only applicable to the one of...
#299 Bulls and Cows
LeetCode #299: Bulls and Cows. Difficulty: Medium. Topics: Hash Table, String, Counting. Asked at Flexport in the last 6 months.
## Problem Find shortest or cheapest flight routes between airports, likely using BFS or Dijkstra on a weighted graph. ## Likely LeetCode equivalent Related to LC 787 Cheapest Flights Within K Stops. ## Tags graph, BFS, phone-screen
## Problem Simulate a flooding scenario on a grid, propagating water from source cells using BFS. ## Likely LeetCode equivalent Related to LC 542 01 Matrix / LC 994 Rotting Oranges. ## Tags matrix, BFS, graph, phone-screen
## Problem Restore or validate IP addresses from a string of digits, enumerating all valid dotted-quad forms. ## Likely LeetCode equivalent Related to LC 93 Restore IP Addresses. ## Tags coding, strings, backtracking, phone-screen
## Round 1 - Coding / OOD ## Problem Implement a token bucket rate limiter. Each bucket refills at a constant rate (tokens per second) up to a maximum capacity. A request consumes one token; if the bucket is empty the request is rejected. ```python class TokenBucket: def __init__(self, capacity: int, refill_rate: float): # capacity: max tokens; refill_rate: tokens added per second pass def allow_request(self, current_time: float) -> bool: # Returns True if a token is available (and consumes it), else False pass ``` ## Example ``` bucket = TokenBucket(capacity=5, refill_rate=2.0) # 2 tokens/sec bucket.allow_request(t=0.0) # -> True (tokens: 4) bucket.allow_request(t=0.0) # -> True (tokens: 3) bucket.allow_request(t=0.0) # -> True (tokens: 2) bucket.allow_request(t=0.0) # -> True (tokens: 1) bucket.allow_request(t=0.0) # -> True (tokens: 0) bucket.allow_request(t=0.0) # -> False (empty) bucket.allow_request(t=1.0) # -> True (refilled 2; consumed 1 -> tokens: 1) ``` ## Follow-ups 1. How do you make this thread-safe for concurrent requests? 2. How do you implement a per-user rate limiter using a dict of buckets with LRU eviction? 3. How does token bucket differ from a leaky bucket and sliding window algorithms? 4. How would you distribute this rate limiter across multiple API servers sharing state in Redis?
## Round 1 - Coding ## Problem A vehicle starts at station 0 with a full tank of `capacity` fuel units. Each station `i` has a fuel amount `fuel[i]` available and a `cost[i]` to travel to the next station. Determine the minimum starting station index from which the vehicle can complete a circular tour of all stations. If no solution exists, return -1. ```python def find_start_station( fuel: list[int], cost: list[int], capacity: int ) -> int: pass ``` ## Example ``` fuel = [1, 2, 3, 4, 5] cost = [3, 4, 5, 1, 2] capacity = 10 Output: 3 # Start at station 3: pick up 4, spend 1 -> arrive 4 # Pick up 5, spend 2 -> arrive 0 ... # Tank never drops below 0 throughout the loop ``` ## Follow-ups 1. How does the solution change if the tank cannot exceed `capacity` at any point (true fuel cap)? 2. What if some stations can be skipped but skipping costs a flat penalty? 3. How do you prove that there is at most one valid starting station when the total fuel >= total cost? 4. Extend the problem: the vehicle can refuel at any station proportionally — how does that change your greedy logic?
What Flexport Looks for in Software Engineer Interviews
Flexport Software Engineer interviews are calibrated against the level and scope expected of the role. Across 13+ verified candidate reports on LeakCode, the consistent signals interviewers look for: clear problem decomposition before coding, explicit complexity reasoning, structured handling of edge cases, and the ability to articulate trade-offs between two reasonable approaches.
The discriminator between candidates who advance and candidates who do not is rarely the final correctness of the solution. It is the path to the solution: did you ask clarifying questions, did you state your approach before coding, did you handle edge cases without prompting, and did you communicate your reasoning throughout. Reports tagged "no hire" frequently cite a working solution with poor communication; reports tagged "strong hire" cite clear thinking even when the final solution was incomplete.
How To Use This Question Set
Real interview reports are a calibration tool, not a memorization target. Companies update their question pools every 2-4 months; memorizing exact problems risks misleading you when the interviewer uses a variant. The high-leverage use: identify the patterns that appear repeatedly in Flexport Software Engineer reports, practice those patterns on similar (not identical) problems, and use the reports to understand the interviewer's typical follow-up depth.
Filter the questions below by round type, difficulty, and recency. Focus first on reports from the past 6-12 months; older reports may reference questions that have since rotated out of Flexport's pool. Reports tagged with quantified difficulty (e.g., "medium-hard") are higher-signal than reports without difficulty tags.
Round-by-Round Expectations
Flexport Software Engineer loops typically span 4-6 rounds across phone screens and on-site or virtual on-site interviews. The structure varies by company: some run 1 recruiter screen + 1 technical phone + 3-4 on-site rounds; others run 1 recruiter screen + 1 OA + 4-5 on-site rounds. The recruiter screen is logistics and culture-light; the technical phone screen is medium-difficulty coding; the on-site loop covers coding, system design (at L4+ levels), and behavioral rounds.
Each round is designed to surface a specific signal. Coding rounds: correctness, code quality, complexity reasoning, communication. System design rounds: requirements clarification, design judgment, operational thinking. Behavioral rounds: ownership scope, leadership, ambiguity tolerance, conflict navigation. Strong candidates explicitly hit each signal dimension out loud during the round; weak candidates focus only on solving the prompt.
Common Interview Mistakes At This Combination
Reports tagged "no hire" at Flexport Software Engineer commonly cite: jumping into code without clarifying requirements, coding silently for 10+ minutes without verbalizing approach, missing edge cases (empty input, single element, very large input, overflow), and producing a working solution that the candidate cannot explain or refactor when probed. Strong candidates avoid these patterns by following a consistent template: clarify, verbalize approach, code with narration, test with examples.
Behavioral and design rounds have their own failure modes. Behavioral: stories that use "we" instead of "I" diluting individual signal, stories with no quantified outcome, defensiveness when probed about failure. Design: not asking clarifying questions, not stating requirements out loud, designing for a single server when the prompt clearly implies scale, ignoring operational concerns (deployment, monitoring, rollback). These show up in roughly half of Flexport Software Engineer interview retrospectives on LeakCode.
See All 13 Flexport Software Engineer Questions
Full question text, answer context, and frequency data for subscribers.
Get Access