Atlassian P40 SDE Interview Experience | Bombed DSA round :(

atlassian logo
atlassian
SDE I3 years
May 19, 202521 reads

Summary

I interviewed for an SDE P40 position at Atlassian. The interview included a Karat Round, a Code Design round, and a Data Structures round. I performed well in the Code Design round but struggled with the Data Structures problem.

Full Experience

May 2025

Experience: 3+ Years Education: BTech Tier 3 Prior Experience: similar level at FAANG

Karat Round: 5 Design Rapid fire questions. 2 Coding questions. You are expected to solve min 4/5 design questions and 1.5 coding question fully working code for first and partial second with correct approach.

Round 1: Code Design Imagine we have a customer support ticketing system. The system allows customers to rate the support agent out of 5.

To start with, write a function which accepts a rating, and another function which will get all of the agents and the average rating each one has received, ordered highest to lowest.

Follow up question: Currently your solution does not account for what happens if two agents have the same average rating [adjust wording here if they have handled it in some way]. What options are there for handling ties and how can we implement that in code?

Round 2: Data Structures

Implement a function that given a list of tennis court bookings with start and finish times, returns a plan assigning each booking to a specific court, ensuring each court is used by only one booking at a time and using the minimum amount of courts with unlimited number of courts available.

An example of the booking record might look like:

class BookingRecord:

  id: int // ID of the booking.

  start_time: int

  finish_time: int

and our function is going to look like:

List<Court> assignCourts(List<BookingRecord> bookingRecords)

Coding Design round went well. Bombed DSA round :( Although I have solved similar interval questions in past, mind froze when thinking about assigning courts to bookings. Interviewer was giving sufficient hints, but not my day probably. Feel free to post solutions.

Interview Questions (2)

Q1
Customer Support Agent Rating System
System Design

Imagine we have a customer support ticketing system. The system allows customers to rate the support agent out of 5. To start with, write a function which accepts a rating, and another function which will get all of the agents and the average rating each one has received, ordered highest to lowest. Follow up question: Currently your solution does not account for what happens if two agents have the same average rating [adjust wording here if they have handled it in some way]. What options are there for handling ties and how can we implement that in code?

Q2
Minimum Tennis Courts for Bookings
Data Structures & Algorithms

Implement a function that given a list of tennis court bookings with start and finish times, returns a plan assigning each booking to a specific court, ensuring each court is used by only one booking at a time and using the minimum amount of courts with unlimited number of courts available. An example of the booking record might look like:

class BookingRecord:

  id: int // ID of the booking.

  start_time: int

  finish_time: int

and our function is going to look like:

List<Court> assignCourts(List<BookingRecord> bookingRecords)
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!