Panda Guru LogoPanda
Guru

USA | Brex | SWE II

Round 1: Recruiter Phone Screen

Questions: Typical chit-chat with recruiter and asking about my past experience and why Brex. Ask the recruiter for tips on the process so that you know how to stand out and succeed.

Candidate's Approach

No approach provided.

Interviewer's Feedback

No feedback provided.


Round 2: Technical Phone Screen

Questions: Implement a TaskScheduler system in an iterative way. Milestone 1: Add Task

Milestone 2: Introduce prerequisite task

Milestone 3: Completion plan

# scheduler = TaskScheduler() # coffee_task = Task("Brew some coffee") # print(f"coffee task: {coffee_task}") # scheduler.add_task(coffee_task) # next_task = scheduler.get_next_task() # Should be coffee_task # print(f"next task: {next_task}") # scheduler.complete_task(next_task) # print(f"completed next task: {next_task}") # scheduler = TaskScheduler() # coffee_task = Task("Brew some coffee") # scheduler.add_task(coffee_task) # toast_task = Task("Make a toast") # scheduler.add_task(toast_task) # brainstorm_task = Task("Brainstorm project ideas", [coffee_task, toast_task]) # scheduler.add_task(brainstorm_task) # print(scheduler.get_all_tasks()) # next_task = scheduler.get_next_task() # Should be coffee_task or toast_task # print(f"first task: {next_task}") # scheduler.complete_task(next_task) # print(f"first task update: {next_task}") # next_task = scheduler.get_next_task() # Should be coffee_task or toast_task # print(f"second task: {next_task}") # print(f"brainstorm task state: {brainstorm_task}") # scheduler.complete_task(next_task) # print(f"second task update: {next_task}") # next_task = scheduler.get_next_task() # Should be brainstorm_task # print(f"third task: {next_task}") # scheduler.complete_task(next_task) # print(f"third task update: {next_task}") scheduler = TaskScheduler() yoga_task = Task("Do morning yoga") scheduler.add_task(yoga_task) coffee_task = Task("Brew some coffee", [yoga_task]) scheduler.add_task(coffee_task) toast_task = Task("Make a toast", [yoga_task]) scheduler.add_task(toast_task) brainstorm_task = Task("Brainstorm project ideas", [coffee_task, toast_task]) scheduler.add_task(brainstorm_task) # Should be [yoga_task, coffee_task, toast_task, brainstorm_task] or [yoga_task, toast_task, coffee_task, brainstorm_task] plan = scheduler.get_completion_plan_for(brainstorm_task) print(f"completion plan: {plan}")

I was able to solve in full and interviewer was very chill.

Candidate's Approach

No approach provided.

Interviewer's Feedback

No feedback provided.


Round 3: Debugging

Questions: You are debugging a holiday calculator application: Context You have an application that takes in a date (Y-m-d format) along with a num_days (in business days) parameter and your goal is to calculate estimated delivery date. You will be working with the year of 2020.

The pieces are:

NOTE: The estimator skips over holidays, weekends because those DO NOT count as business days! You can also assume the calendar itself is working.

You have 5 unit tests that are failing. Your goal is to get them to pass. The bugfixes are small 1-2 line changes. DO NOT do any big refactor or alter the unit test in any way!

Candidate's Approach

I clearly walked through the business context of the problem before diving into code. I used a systematic method to add print/log statements to see how the data was flowing from function to function in order to diagnose the failing unit test. I debugged one test at a time and verified backwards compatibility. I was able to get all 5 unit tests to pass in the nick of time!

Interviewer's Feedback

The interviewer gave me a strong yes rating for my approach and behaviors during this round.


Round 4: System Design

Questions: Your goal is to design a system where you had to support points accumulation and redemption functionality when a consumer makes transactions on Brex card (think like credit card points). There is an existing transaction authorization service given to you and you can consume the transaction data via API request or event stream.

Candidate's Approach

This part went okay in my opinion and I leveraged the interviewer a lot for collaboration.

Interviewer's Feedback

No feedback provided.


Round 5: Hiring Manager Round

Questions: Typical Hiring Manager round for Growth team. Be prepared to talk about why Brex, a project you’re most proud of, critical feedback you received, disagreement, etc. typical behavioral interview questions.

Candidate's Approach

No approach provided.

Interviewer's Feedback

No feedback provided.


Status

I completed all the rounds and fingers crossed for an offer.