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

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!