Microsoft SDE Intern Interview Experience
💼 LTIMindtree Interview Experience (On-Campus) | Fresher | 2026
Salesforce SMTS | Interview Experience | Rejected
JPMC | SDE2 (Associate) - Java Backend - Interview Experience + Compensation
Microsoft - SDE2 - Coding Round
Urban Company | Platform Engineer | Sep 2020 [Ghost] | Gurgaon
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:
- As a backspace keystroke: it removes itself and the character to its left.
- 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:
- Jump Game (LeetCode 55)
- Jump Game II (LeetCode 45)
- Longest Substring Without Repeating Characters (LeetCode 3) - For this one, he also asked me to print the actual longest substring.
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)
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]
Design a URL shortener system.
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.