Avalara | SDE1 | 2024 | Interview Experience
Summary
As a fresher from a Tier-2 college, I successfully navigated a four-round interview process at Avalara for an SDE1 role, culminating in a performance-based offer that included a 6-month stipend and potential full-time conversion.
Full Experience
I recently interviewed at Avalara for an SDE1 position as a fresher. The hiring process was structured into four distinct rounds.
Round 1: Aptitude Test
This round consisted of 40 MCQs, which I had to complete in 20 minutes. The questions covered areas like pattern matching and missing numbers in series. Approximately 220 students participated, and 160-170 cleared this round. The key here was to maintain both accuracy and speed.
Round 2: Online Assessment (HackerRank)
This assessment featured 3 coding questions, with each student receiving a different set. I was able to pass all test cases for the first two questions, but only 3 out of 15 for the third.
- Question 1: I was given an array, for example
[a,b,c,d,e,f], and needed to return a permutation where(a-b) + (b-c) + ... + (e-f)is maximized. If multiple permutations yielded the maximum sum, I had to return the lexicographically smallest one. My approach involved sorting the array and then swapping the first and last elements. - Question 2: This problem was similar to binary search on answer type questions. I recalled problems like Minimum Time to Complete Trips (Leetcode - 2187) and Koko Eating Bananas (Leetcode - 875) being good examples.
- Question 3: This was a hard graph problem. The objective was to visit a specific set of cities and calculate the minimum cost for a cyclic trip, starting from city 0 and returning to it after visiting all required cities.
Round 3: Technical Interview
After my self-introduction, the interviewer asked me to design an LRU Cache. I managed to solve it, though it took me a considerable amount of time. I made sure to communicate and explain my thought process throughout. He was satisfied with my approach. Following this, he inquired about ACID properties, the Pillars of OOPS, and some fundamental Computer Network questions. I then had to explain my project and make some changes to CSS properties. Since my project used browser storage, he asked questions related to it. I couldn't answer every question, but he seemed understanding. Finally, he delved into JavaScript concepts like hoisting, closures, prototyping, let vs var, and global and block scope.
Round 4: Hiring Managerial Round
This round also began with my introduction. The manager asked about the weather in the city and my willingness to relocate to Pune, which I confirmed. He then presented the "Valid Anagram" problem, and he appeared satisfied with my solution. We then discussed threads and multithreading, followed by a general conversation about the company's hierarchy and various senior positions. He then opened the floor for any questions I had for him. I felt optimistic after this round, and the results were announced the next morning. Out of 5 selected students, I was one of them.
Interview Questions (11)
Maximize Sum of Differences in Permutation
You are given an array (e.g., [a,b,c,d,e,f]). You need to return a permutation of this array such that the sum (a-b) + (b-c) + ... + (e-f) is maximized. If there are multiple such permutations, return the lexicographically smallest one.
Binary Search on Answer Type Problem
This question was similar to problems that can be solved using a binary search on the answer technique. Similar LeetCode problems include Minimum Time to Complete Trips (Leetcode - 2187) and Koko Eating Bananas (Leetcode - 875).
Minimum Cost Cyclic Trip to Visit Cities
This was a hard graph problem. The objective was to visit a specific set of cities and calculate the minimum cost for a cyclic trip that starts from city 0 and returns to it after visiting all the required cities.
Design LRU Cache
I was asked to design an LRU Cache.
Explain ACID Properties
The interviewer asked me to explain the ACID properties of database transactions.
Explain Pillars of OOPS
I was asked to explain the fundamental Pillars of Object-Oriented Programming (OOPS).
Basic Computer Network Questions
The interviewer asked some basic questions related to Computer Networks.
Browser Storage Mechanisms
I was questioned about different browser storage mechanisms, likely due to their usage in my project.
JavaScript Core Concepts
I faced questions on various JavaScript core concepts, including hoisting, closures, prototyping, the differences between let and var, and global vs. block scope.
Valid Anagram
The hiring manager asked me to solve the 'Valid Anagram' problem.
Threads and Multithreading Concepts
The discussion included questions about the concepts of threads and multithreading.
Preparation Tips
My main takeaway was that consistent practice with LeetCode questions is sufficient for excelling in coding rounds. Additionally, I focused on clearly communicating my thought process and approach during problem-solving, which proved crucial for technical discussions.