urban company logo

Urban Company Interviews

5 experiences270 reads21 questions0% success rate
Data Engineer interview at Urban Company with 2 YOE
urban company logo
Urban Company
Data Engineer2 yearsRejected
October 5, 202552 reads

Summary

I recently interviewed for a Data Engineer position at Urban Company with 2 years of experience. The process included an assignment and a domain knowledge interview, but unfortunately, I was ultimately rejected.

Full Experience

My interview journey with Urban Company started after I received a call from their HR department for a Data Engineer opportunity.

The first step was an assignment that I needed to complete within a day. It involved building a Lightweight MySQL ORM Layer with Dual Write Support. This task tested my practical coding and database interaction skills.

Following the assignment, I was invited for a 'Domain Knowledge Interview.' In this round, the discussion revolved around various data engineering concepts and systems. We delved into topics like Kafka, Change Data Capture (CDC), and real-time streaming architectures. There was no discussion about the assignment during this round.

Despite my performance in the interview, the verdict was rejection.

Interview Questions (4)

Q1
User Clickstream Data Pipeline Design
System Design

Design a user clickstream data pipeline. Explain how to fetch and store this data, clarify why direct writing to S3 is not feasible, and justify the use of Kafka as an initial data ingestion layer.

Q2
Exposing OLAP Data via API and Real-time Dashboards
System Design

Describe your approach to exposing OLAP data through an API for consumption by microservices. Additionally, explain how you would build and expose real-time dashboards based on this data.

Q3
Data Governance Practices
Other

Explain how your company manages Data Governance.

Q4
Kafka Architecture and Scalability
System Design

Discuss Kafka architecture and how you would handle increased data size and scaling challenges.

Urban Company On-Campus process (August 2025)
urban company logo
Urban Company
Rejected
September 27, 2025131 reads

Summary

I participated in Urban Company's on-campus recruitment drive, which included an Online Assessment, two Data Structures & Algorithms rounds, a System Design round, and a final technical discussion. Despite making it through multiple rounds, I was ultimately rejected without specific feedback.

Full Experience

I recently went through the on-campus interview process at Urban Company. The selection process began with an Online Assessment that lasted 90 minutes and consisted of three questions.

The first question in the OA was Rotting Oranges. The second one was Course Schedule II. The third problem was a unique challenge: 'Given a 2D array of size N x M, where each cell contains either '0' or '1', find the number of paths from the cell (0,0) to the cell (N-1,M-1) such that the sequence formed by the cells is a Palindrome.' A hint was provided: 'Meet in the Middle', with constraints N, M <= 15.

After clearing the OA, I proceeded to Interview Round 1. This was a 60-minute DSA round where I had to code two questions on Google Docs. I completely solved Decode Ways 2. For the second question, House Paint 3, I could only discuss the approach and provide pseudocode for the optimal solution.

Next was Interview Round 2, a 60-minute System Design round. My task was to design a Proctored Exam System. I worked on sketching out the ER Diagram and defining the necessary classes. The interviewer was friendly and offered helpful hints, which was very encouraging.

The final round, Interview Round 3, involved an in-depth discussion about my hackathon project, focusing on the design decisions I made. We also touched upon various concepts like CDN, DNS, GeoDNS, and the advantages and disadvantages of DBMS normalization.

Unfortunately, the final verdict was a Rejection, and I did not receive any feedback regarding my performance.

Interview Questions (6)

Q1
Rotting Oranges
Data Structures & AlgorithmsMedium

Standard LeetCode problem. Given a grid where each cell can be empty (0), a fresh orange (1), or a rotten orange (2). Every minute, any fresh orange that is 4-directionally adjacent to a rotten orange becomes rotten. Determine the minimum time until no fresh oranges remain. If it's impossible, return -1.

Q2
Course Schedule II
Data Structures & AlgorithmsMedium

Standard LeetCode problem. There are a total of numCourses courses you have to take, labeled from 0 to numCourses - 1. You are given an array prerequisites where prerequisites[i] = [ai, bi] indicates that you must take course bi first if you want to take course ai. Return the ordering of courses you should take to finish all courses. If there are many valid answers, return any of them. If it is impossible to finish all courses, return an empty array.

Q3
Palindrome Paths in Binary Grid
Data Structures & Algorithms

Given a 2D array of size N x M. Each cell contains either '0' or '1'. Find the number of paths from cell (0,0) to cell (N-1,M-1), such that the sequence formed by the cells is a Palindrome. Movement is restricted to right or down. Constraints: N, M <= 15. The problem provided a hint: 'Meet in the Middle'.

Q4
Decode Ways II
Data Structures & AlgorithmsHard

A message containing letters from 'A'-'Z' can be encoded into numbers using the mapping: 'A' -> '1', 'B' -> '2', ..., 'Z' -> '26'. Additionally, the character '' can represent any digit from '1' to '9'. Given an encoded message containing digits and the '' character, return the number of ways to decode it. Since the answer may be very large, return it modulo 10^9 + 7.

Q5
Paint House IV
Data Structures & Algorithms

This is likely a variant of the 'Paint House' problem series. While the exact problem statement was not fully provided, these problems generally involve finding the minimum cost to paint a row of houses with specific constraints, such as no two adjacent houses having the same color, or achieving a certain 'target neighborhood' configuration.

Q6
Design a Proctored Exam System
System Design

The task was to design an online system for conducting proctored examinations. This involved creating an Entity-Relationship (ER) Diagram to model the database schema and defining the main classes for the system's architecture.

Urban Company 6M + FTE (Rejected)
urban company logo
Urban Company
Rejected
August 20, 202518 reads

Summary

Failed to secure a position at Urban Company despite solving some interview questions, with feedback highlighting poor code quality as the main issue.

Full Experience

Started with an online assessment (OA) containing two questions: one on topological sorting with greedy approach and another on bitmask DP. Managed to complete only 1.5 questions due to technical issues with the online compiler. In the first round interview, faced a hard greedy problem which I solved and coded, but encountered issues with the compiler taking 15 minutes to run. Also tackled a trie-based problem, solving it quickly and writing pseudocode on paper. The interview concluded with a rejection, citing poor code quality as the primary concern.

Interview Questions (2)

Q1
Hard Greedy Problem
Data Structures & AlgorithmsHard

A challenging problem requiring a greedy approach. The candidate was able to solve it and code the solution, but faced issues with the online compiler taking 15 minutes to run test cases. All test cases passed once the compiler was functional.

Q2
Trie-Based Problem
Data Structures & AlgorithmsMedium

A problem involving trie data structure. The candidate solved it quickly and was able to write the approach and pseudocode on paper within a few minutes.

Preparation Tips

Focus on improving code quality in addition to solving problems. Practice coding under time constraints and ensure that solutions are well-structured and efficient.

Urban Company | SDE2 | Gurgaon | May 2022 [Reject]
urban company logo
Urban Company
SDE IIGurgaonRejected
May 16, 202245 reads

Summary

I interviewed for an SDE2 position at Urban Company in May 2022 and was ultimately rejected after three rounds, which included DSA, Machine Coding, and Low-Level Design.

Full Experience

My interview process at Urban Company for an SDE2 role in May 2022 consisted of three rounds.

Round 1: Data Structures and Algorithms (1 hour)
This round focused on DSA. I was given two questions: one related to Trees and another involving the Sliding Window technique. I managed to provide optimal solutions for both problems, which I felt were of LeetCode Medium difficulty.

Round 2: Machine Coding (90 minutes)
The second round was a Machine Coding challenge. The task was to implement a basic Ride Booking Platform. The core requirements included registering users and drivers, implementing a comprehensive pricing strategy that accounted for factors like surge, car type, and distance (showing users prices for each car type), and enabling ride bookings if a driver was available within a specified radius. I successfully implemented the platform within the given time frame, utilizing various design patterns.

Round 3: Low-Level Design with Hiring Manager (1 hour)
My final round was an LLD discussion with the Hiring Manager. I was asked to design a payment aggregator with an optimal logic to ensure a high success rate of transactions. I implemented it based on my understanding and assumptions, but my approach diverged from the interviewer's point of view. Specifically, he preferred a callback mechanism instead of my proposed asynchronous call to the payment gateway.

Result: I received a rejection mail the very next day.

Interview Questions (2)

Q1
Machine Coding: Ride Booking Platform
System Design

I was asked to implement a basic ride booking platform. The requirements included:

  • Register user and driver.
  • Implement a pricing strategy including factors like surge, car type, distance, etc. The platform needed to show users the price for each car type to choose from.
  • Book a ride if a driver is available within a certain radius.

Q2
LLD: Design a Payment Aggregator
System Design

I was tasked with designing a payment aggregator, focusing on an optimal logic to achieve a high success rate of transactions. The interviewer had a specific preference for a callback mechanism instead of an asynchronous call to the payment gateway for certain operations.

Urban Company | Platform Engineer | Sep 2020 [Ghost] | Gurgaon
urban company logo
Urban Company
Platform EngineerGurgaonRejected
November 7, 202024 reads

Summary

I interviewed for a Platform Engineer role at Urban Company, which involved multiple rounds focused on Data Structures & Algorithms and System Design. Despite completing all rounds and solving several complex problems, I experienced significant scheduling issues and ultimately received no follow-up from the company, which I found unprofessional.

Full Experience

One of the senior-most engineers at Urban Company reached out to me on LinkedIn, asking about my immediate availability for interviews the following Saturday. I requested to reschedule for the Saturday after, but they mentioned no panel would be available then. I agreed to give at least two rounds, primarily focusing on Data Structures and Algorithms.

Round 1

The recruiter initially sent me an invitation for a 10:30 AM slot on Saturday. However, just 15 minutes before the scheduled interview, I received a call informing me that the interviewer was sick and we needed to reschedule. Later, the recruiter got back to me with a new slot: 11:45 AM-12:45 PM.

The interviewer was helpful. We discussed two standard LeetCode medium questions. I had to write functions, and we covered standard complexity analysis and test case discussions.

Question 1:

I was given an input string containing [a-z] and # characters. The # character had two possible functionalities:

  1. As a backspace keystroke: it removes itself and the character to its left.
  2. As a no-keystroke: it just removes itself without affecting other characters.

The task was to output all possible string outputs based on these functionalities. For example, for ab#c, the possible outputs were [ac, abc].

#include<bits/stdc++.h>
using namespace std;

vector<string> ans;

void solve(int ind, string inp, string res) { if(ind == inp.size()) { ans.push_back(res); return; } if(inp[ind] != '#') solve(ind + 1, inp, res + inp[ind]); else { // inp[ind] = # solve(ind + 1, inp, res); // doing nothing if(res != "") solve(ind + 1, inp, res.substr(0, res.size()-1)); // acting as a backspace } }

int main() { string inp; //input string inp = "ab#c"; solve(0, inp, ""); // corrected function call }

Question 2:

I was asked a question related to Binary Tree Maximum Path Sum (LeetCode 124).

Round 2

After my first round, I immediately received an invitation for the next round, scheduled just 30 minutes later from 1:15 PM-2:15 PM. Shortly after, I got another email stating this invite was canceled, followed by yet another email for the same time slot but with a different interviewer. Then, within the next 10 minutes, this invite was also canceled without any further updates.

At 1:46 PM, I received a fifth invite for that day, scheduling my next round from 2:30 PM-3:30 PM. Until 2:29 PM, I honestly wasn't sure if this round would even happen.

The interviewer was friendly, but this time, he didn't provide any online editor link, so I had to write all my code on Google Docs. He asked me two questions and expected proper code, test cases, complexity analysis, and areas for improvement. He specifically asked me to think in terms of API calls rather than asymptotic complexity.

The questions were:

Round 3

The third round was scheduled for the following Tuesday with the senior person who initially reached out to me on LinkedIn. We primarily discussed two questions:

  • Design a URL shortener.
  • Sort a large file with limited memory (something like sorting a 10GB file with only 1GB RAM).

That concluded my interview process. I emailed the recruiter for an update on my candidature but received no response. I also pinged the senior person on LinkedIn; he viewed my messages but provided no reply. My two cents to Urban Company: before focusing on hiring new people, strive to be a professional organization. Only then should you think about growth and bringing in new talent. The management was very poor, and the behavior was highly unprofessional. I might have been rejected, or the position might be on hold, but they should at least have the professionalism to respond and inform candidates about their status. I would rather work for a professional organization with less salary than an unprofessional one with better pay.

Interview Questions (7)

Q1
Backspace String Combinations
Data Structures & AlgorithmsMedium

Input string containing [a-z], # characters. # has two functionalities: 1. backspace keystroke - removes itself and a char of left 2. no keystroke - removes itself. Output all possible string outputs. Example: ab#c -> [ac, abc]

Q2
Binary Tree Maximum Path Sum
Data Structures & AlgorithmsHard

Calculate the maximum path sum in a binary tree.

Q3
Jump Game
Data Structures & AlgorithmsMedium

Given an array of non-negative integers nums, you are initially positioned at the first index, and each element in the array represents your maximum jump length at that position. Determine if you are able to reach the last index.

Q4
Jump Game II
Data Structures & AlgorithmsMedium

Given an array of non-negative integers nums, you are initially positioned at the first index, and each element in the array represents your maximum jump length at that position. Your goal is to reach the last index in the minimum number of jumps.

Q5
Longest Substring Without Repeating Characters
Data Structures & AlgorithmsMedium

Given a string s, find the length of the longest substring without repeating characters. The interviewer also asked me to print the string as well.

Q6
Design a URL Shortener
System Design

Design a URL shortener system.

Q7
Sort Large File with Limited Memory
System Design

Sort a large file with limited memory (e.g., sort 10GB file with 1GB RAM).

Preparation Tips

The post does not explicitly state how I prepared, but the questions covered suggest a strong foundation in Data Structures and Algorithms, particularly dynamic programming and graph/tree problems, along with experience in System Design principles, would be essential.

Have a Urban Company Interview Experience to Share?

Help other candidates by sharing your interview experience. Your insights could make the difference for someone preparing for their dream job at Urban Company.