Uber Interview Experience | L4 | Frontend #uber

uber logo
uber
Frontend Engineer, L44.5 yearsOngoing
October 16, 202535 reads

Summary

I recently went through the interview process for an L4 Frontend position at Uber, which included a screening round, two coding rounds focusing on DSA and UI, a UI system design round, and a manager discussion. The questions spanned from implementing interactive UI components to designing a concurrent task queue and a full-fledged calendar application.

Full Experience

I interviewed for an L4 Frontend role at Uber, bringing 4.5 years of experience. The interview process was comprehensive, covering various aspects of frontend development and problem-solving.

Screening Round

My screening round involved a UI component design and implementation task. I was asked to build a voting poll UI. The requirements were quite specific:

  • Display four voting options with buttons.
  • Dynamically update vote counts and percentage distribution upon a click.
  • Show a colored progress bar for each option, reflecting its current percentage, with smooth, real-time updates.

Optional features included distinct colors, animations, and total vote counters.

Loop Interviews

Coding 1 (DSA)

This round focused on Data Structures & Algorithms, specifically involving concurrency. I was tasked with designing and implementing a task queue in TypeScript. The queue needed to support controlled concurrency, executing up to K tasks in parallel, and queuing additional tasks until slots became available. Each task required a unique ID and support for success and error callbacks. An interesting design constraint was allowing a custom executor for logging, retries, or rate limiting.

Coding 2 (UI Coding)

The second coding round was another UI implementation challenge. I had to design and implement a modal component using any UI framework. The modal needed several features:

  • Primary and secondary action buttons (e.g., “Save” and “Cancel”).
  • An optional close icon ('X').
  • Configurable priority levels to manage modal stacking.
  • A mechanism to automatically close all other open modals when a new, higher-priority modal opens.

UI System Design

This was a more extensive design round where I had to design a calendar application similar to Google Calendar. Key features to cover included:

  • User authentication (sign up, log in, log out).
  • Event management (create, edit, delete, accept invitations), with events having title, time, date, participants, and description.
  • Multiple calendar views (Month, Week, Day) with seamless switching.

Manager Round (Zoom Collaboration)

The final round was with a manager, where we discussed leadership and collaboration. The questions were primarily behavioral, drawing from my past experiences to assess my approach to teamwork and leadership.

Interview Questions (4)

Q1
Voting Poll UI Component Design and Implementation
OtherMedium

Design and implement a voting poll UI component using any front-end framework (e.g., React, Vue, or Angular).

  1. The poll should display four voting options, each represented by a button.
  2. When a user clicks on a button, the corresponding option’s vote count increases, and the percentage distribution across all options updates dynamically.
  3. Each option should display a colored progress bar that visually represents its current percentage of total votes.
  4. The bars should update smoothly and in real time as users vote.

You may also include additional features such as:

  1. Distinct colors for each option’s bar.
  2. Animations or transitions for visual appeal.
  3. A total votes counter or percentage labels.
Q2
Task Queue with Controlled Concurrency in TypeScript
Data Structures & AlgorithmsHard

Design and implement a task queue in TypeScript that supports controlled concurrency. The queue should allow executing up to K tasks in parallel, while additional tasks are queued until slots become available.

Each task should have a unique task ID and support success and error callbacks. The design should also allow setting a custom executor to define how tasks are executed (for example, to add logging, retries, or rate limiting).

Q3
Modal Component Design and Implementation
OtherMedium

Design and implement a modal component using any UI framework of your choice (e.g., React, Vue, or Angular).

The modal should support the following features:

  1. Primary and secondary action buttons (e.g., “Save” and “Cancel”).
  2. An optional close icon (X) for dismissing the modal.
  3. A configurable priority level to control modal stacking or importance.
  4. A mechanism to close all other open modals automatically when a new modal with higher priority is opened.
Q4
Calendar Application System Design
System DesignHard

Design and implement a calendar application (similar to Google Calendar) using any front-end framework of your choice (e.g., React, Vue, or Angular).

The application should support the following core features:

  1. Authentication: Allow users to sign up, log in, and log out securely.
  2. Event Management: Users should be able to create, edit, delete, and accept event invitations. Each event should include details such as title, time, date, participants, and description.
  3. Calendar Views: Display events in multiple views: Month, Week, and Day. Enable switching between views seamlessly.
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!