Open In App

Uber Interview Experience for SWE Intern

Last Updated : 03 Aug, 2023
Improve
Improve
Like Article
Like
Save
Share
Report

Introduction:

Joining Uber as an intern had always been a dream of mine. The company’s innovative approach to solving real-world problems and its commitment to pushing the boundaries of technology made it an ideal place for someone passionate about making a meaningful impact. Little did I know that the journey to becoming an Uber intern would be both challenging and rewarding, testing my technical skills, problem-solving abilities, and adaptability. In this article, I will share my comprehensive Uber internship interview experience, from the Online Assessment (OA) to the final Hiring Manager round.

The Online Assessment (OA):

The process began with an Online Assessment, which comprised three diverse questions that assessed various aspects of my technical knowledge. The three questions encompassed a diverse range of topics, including dynamic programming, linked lists, and basic number base conversion.

  1. Dynamic Programming: This question tested my ability to optimize solutions by breaking complex problems into smaller, solvable subproblems. Dynamic programming data structures like memoization arrays were employed to store and retrieve intermediate results efficiently.
  2. How can we find the maximum number of boxes that can fit into another box, given a list of boxes where each row represents the height and width of the given boxes and a box can be placed inside another box only if it is smaller in both height and width? Link
  3. Base Conversion: The final question delved into number systems and required me to convert a given number from base 2 to base 6. Simple data structures like arrays or strings were used to represent the numbers during the conversion process. Link

Technical Interview Round 1 – Data Structures and Algorithms (DSA):

The first technical interview round centered on Data Structures and Algorithms (DSA), wherein I faced an intriguing scheduling problem. The task was to manage the schedules of multiple individuals and find a suitable time for them to meet when they were all available. Similar to this.

After solving and coding the problem I was asked to solve a similar problem with a slight modification that I had to search for times when at least one of them was available. I was able to propose an optimal approach for that but was not able to code the solution due to time constraints.

Technical Interview Round 2 – Low-Level Design (LLD):

the second round focused on Low-Level Design (LLD), where I was tasked with creating a design to handle various actions like insertion, updates, and more while adhering to specific requirements. I discussed multiple implementations using arrays, linked lists, Binary Search Trees (BST), and Priority Queues (PQ). The interview explored the intricacies of Priority Queues, including their working and possible implementations like Binary Heap, Fibonacci Heap, and Pairing Heap, while considering time and space complexities. This round provided an opportunity to showcase my problem-solving skills and proficiency in data structures’ practical applications.

The LLD round of my Uber internship interview was an enlightening experience that challenged my ability to design efficient and scalable solutions. We explored the intricacies of implementing Priority Queues using various data structures and discussed trade-offs between array and linked list approaches. Additionally, we delved into the working of heapify and deheapify functions. This round allowed me to demonstrate my versatility in handling complex design challenges and showcased my expertise in Low-Level Design.

Throughout the LLD round, I navigated through multiple data structure implementations to optimize time and space complexities. From array-based designs to tree-based structures like BST and Priority Queues, I explored the strengths and weaknesses of each approach. The in-depth discussion on Priority Queues and their variations helped me understand their importance in real-world scenarios where efficient handling of priorities is essential. I am grateful for this enriching experience and eagerly anticipate the opportunity to apply this knowledge during my Uber internship to contribute effectively to the company’s innovative projects.

The Hiring Manager Round:

During the HR round of my Uber internship interview, we explored core subjects like OS, DBMS, and OOPS, with an emphasis on their real-world applications in software development. I was asked to code for semaphores (OS). I shared insights from my past internships, highlighting my problem-solving skills and adaptability in various scenarios. Ethical considerations were also discussed, underscoring the significance of open communication and collaborative problem-solving within a team. The HR round served as a reaffirmation of my enthusiasm to join Uber’s dynamic and innovative team, where I was eager to contribute my skills and passion to their groundbreaking projects.

Throughout the interview, I had the opportunity to showcase my technical knowledge and professionalism. The discussions on core subjects and ethical aspects provided valuable insights into Uber’s work culture and values.

Conclusion:

My Uber internship interview experience was a transformative journey that tested my technical knowledge, adaptability, and problem-solving capabilities.

Securing the Uber internship is a tremendous achievement for me. The experience has strengthened my belief in continuous learning, and I am eager to embark on this new chapter, where I can contribute to Uber’s mission of transforming the way the world moves.


Like Article
Suggest improvement
Share your thoughts in the comments

Similar Reads