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
Avalara | SDE1 | 2024 | Interview Experience
Summary
I successfully navigated a four-round interview process at Avalara for an SDE1 role, culminating in an offer for a 6-month internship with a performance-based conversion to a full-time position.
Full Experience
I started my interview journey at Avalara as a fresher from a Tier-2 college. The hiring process was structured into four distinct rounds.
Round 1: Aptitude Test
This round consisted of 40 multiple-choice questions to be completed within 20 minutes. The questions covered areas like pattern matching and identifying missing numbers in a series. Out of approximately 220 students who appeared, about 160-170 cleared this stage. I focused on maintaining both accuracy and speed to pass this round.
Round 2: Online Assessment
The second round was an online assessment hosted on HackerRank, featuring three coding questions. Each student received a unique set of problems. For the first question, I was given an array and asked to return a permutation that maximizes the sum of adjacent differences while also being lexicographically smallest if multiple solutions exist. My approach involved sorting the array and then swapping the first and last elements. The second question was a binary search on answer type problem, similar to LeetCode problems like 'Minimum Time to Complete Trips' or 'Koko Eating Bananas', though the specific problem statement isn't provided here. The third question was a hard graph problem, where I needed to find the minimum cost for a cyclic trip starting and ending at city 0, visiting all particular cities. I managed to pass all test cases for the first two questions but only 3 out of 15 for the last one. My takeaway from this round was that LeetCode questions are sufficient for preparing for coding rounds.
Round 3: Technical Interview
In this round, I was first asked to introduce myself. Following that, the interviewer posed the 'Design LRU Cache' problem. I was able to solve it, explaining my thought process throughout the solution, even though it took me a considerable amount of time. The interviewer seemed satisfied with my approach. Subsequently, we delved into theoretical concepts, including ACID properties, the Pillars of OOPS, and some basic Computer Network questions. I then explained my project in detail and was asked to make some minor CSS changes on the spot. Since my project utilized browser storage, I was questioned about it, along with JavaScript concepts such as hoisting, closures, prototyping, and the differences between let and var, as well as global and block scope. While I couldn't answer every question perfectly, the interviewer was understanding.
Round 4: Hiring Managerial Round
This was the final round. It began with my introduction, followed by a casual chat about the city's weather and my willingness to relocate to Pune, which I confirmed. The manager then asked me to solve the 'Valid Anagram' problem, and my solution appeared to satisfy him. We then discussed threads and multithreading, followed by a general conversation about the company's hierarchy and various senior positions. Finally, I was given the opportunity to ask any questions I had for him. I felt quite optimistic after this round. The results were announced the next morning, and I was among the five students who received an offer.
Interview Questions (4)
Given an array, for example [a, b, c, d, e, f], you need to return a permutation of the array where the sum of absolute differences between adjacent elements, specifically (a-b) + (b-c) + ... + (e-f), is maximized. If there are multiple such permutations that yield the maximum sum, return the lexicographically smallest one.
This was a graph problem where I needed to visit a set of particular cities and return the minimum cost for visiting all of them in one cyclic trip. The trip must start from city 0 and return back to city 0.
Design and implement a Least Recently Used (LRU) cache. The cache should support the following operations efficiently: get(key) which retrieves the value of the key if the key exists, otherwise returns -1. put(key, value) which inserts or updates the value if the key is not already present. When the cache reaches its capacity, it should invalidate the least recently used item before inserting a new item.
Given two strings, s and t, write a function to determine if t is an anagram of s. An anagram is a word or phrase formed by rearranging the letters of a different word or phrase, typically using all the original letters exactly once.
Preparation Tips
My preparation primarily involved solving problems on LeetCode, which I found to be highly effective for the coding rounds. Consistent practice was key to clearing the online assessment.