Uber - Software Engineer(Data)

uber logo
uber
Software Engineer(Data)
October 4, 20240 reads

Summary

I interviewed for a Software Engineer (Data) role at Uber and was asked to design a flight booking system that handles both user and admin functionalities.

Full Experience

During my interview for the Software Engineer (Data) position at Uber, I was presented with a system design challenge. The interviewer asked me to design a comprehensive flight booking system that could manage various operations for both end-users and administrators. I had to consider user interactions like searching and booking flights, as well as admin tasks such as adding new flights and reviewing existing bookings. The discussion also involved outlining the core entities and their attributes required for such a system.

Interview Questions (1)

Q1
Flight Booking System Design
System Design

Design and implement a flight booking system that allows users to search and book flights, and enables administrators to add new flight details and show bookings for a given flight.

User functionalities:

  • flightSearch
  • bookFlight
  • addUser

Administrator functionalities:

  • addFlight
  • showBookings

Proposed entities and their attributes:

  • User: user_id, name, phone, email_id, identity_card, userType
  • Admin: admin_id, name, phone, email_id, identity_card
  • Flights: flight_id, no_of_seats, src, desc, time_duration
  • Bookings: flight_id, user_id, seat_number, src, desc
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!