Summary
I recently interviewed for the SDE Intern position at Hashedin by Deloitte, which involved an Online Assessment, two technical interviews, and an HR round, ultimately leading to an offer.
Full Experience
I recently had the opportunity to interview with Hashedin by Deloitte for an SDE Intern position. The interview process was conducted on-campus and consisted of four rounds: an Online Assessment, two Technical Interviews, and a final HR Round.
OA Round
My journey began with the Online Assessment, which featured three coding questions: one easy, and two medium to hard. I successfully solved all of them within the allotted time. Out of 135 students who attempted this round, 22 of us were selected to proceed.
Technical Interview 1 (~50 min)
This round started with a brief introduction, after which the interviewer delved into core computer science fundamentals, asking questions on topics like Inheritance, Polymorphism, and DBMS. Following this, we moved on to Data Structures and Algorithms. I was asked to solve the 'Reverse Linked List' problem, demonstrating both iterative and recursive approaches, and the 'Rotate Array' problem, which included several follow-up questions. Towards the end, I answered some SQL queries focusing on Joins, and the interviewer seemed satisfied with my responses.
Technical Interview 2 (~1 hr 45 min)
Next was the second Technical Interview, which was a comprehensive session. This round primarily focused on System Design. I was tasked with designing a comprehensive database schema for a Movie Ticket Booking Application, and I was encouraged to think of functionalities independently. The interviewer was very helpful throughout this process, guiding me whenever I encountered difficulties. This design discussion took up about an hour. After the system design, we transitioned back to DSA. The interviewer presented a series of 'Jump Game' problems, specifically 'Jump Game', 'Jump Game II', 'Jump Game III', and 'Jump Game IV'.
HR Round
Finally, I proceeded to the HR Round. This was, unfortunately, the least pleasant part of the entire process. I was quite surprised to be questioned and judged somewhat harshly regarding my CGPA, even though it was above the company's stated criteria. Despite this challenging HR experience, I eventually received an offer.
Interview Questions (8)
I was asked several SQL queries specifically focusing on different types of JOIN operations, such as INNER JOIN, LEFT JOIN, RIGHT JOIN, and FULL JOIN. The interviewer wanted to understand my grasp of how these joins work and their practical use cases for combining data from multiple tables.
I was tasked with designing a comprehensive database schema for a Movie Ticket Booking Application. This required me to identify key entities such as Movies, Theaters, Shows, Bookings, Users, and Payments, and then define their attributes, relationships, and appropriate data types. I also had to consider various functionalities like user registration, browsing movies, selecting seats, making bookings, and processing payments.
Summary
I interviewed with HashedIn after a previous rejection and successfully received an offer that was 70% higher than my current salary, but I ultimately decided not to join due to an interesting ongoing project.
Full Experience
I had previously been rejected by HashedIn, which fueled my determination to secure an offer this time, regardless of whether I accepted it. The interview process consisted of three rounds.
DSA Round
The first was a DSA round, which I found relatively easy. It involved an easy-level problem on linked lists, which I solved using the fast and slow pointer approach, and a second problem on binary tree traversal by depth. The interviewer was very good and polite, and also asked me about my projects and what motivates me.
System Design Round
This round was a classic food delivery system design problem. I was asked to design APIs and database tables, and discuss concepts like single points of failure, database scaling, and sharding. Honestly, I haven't worked on these topics directly, but I was able to answer effectively based on my preparation from videos and blogs. The system design round went well, and the interviewer gave positive feedback, saying I was doing very well for my level.
Managerial / Fitment Round
The final round was with a manager who had about 20 years of experience. He asked me to describe a challenging task where I had saved time and money for the company, what motivates me, and if I was okay with working from the office.
After one week, I received a mail stating I was selected, with an offer that was 70% more than my current compensation. However, I was recently involved in some interesting projects that I couldn't leave at that time, so I decided not to join.
Interview Questions (4)
An easy-level problem on linked lists, solved using the Fast and Slow Pointer approach.
A problem on binary trees requiring traversal by depth.
Design a classic food delivery system, including APIs and database tables. Discussion points included single points of failure, database scaling, and database sharding.
Describe a challenging task where I saved time and money for the company, discuss my motivations, and confirm willingness to work from the office.
Preparation Tips
I prepared for the system design round by watching videos and reading blogs to understand how to approach API and table design, and address topics like single points of failure, database scaling, and sharding.
Summary
I interviewed for a Software Engineer position at Hashedin as a fresher, applying directly from campus at G.L. Bajaj, Greater Noida. My interview process on September 8, 2019, involved a comprehensive written test and two subsequent technical rounds, which unfortunately concluded with a rejection.
Full Experience
As a fresher from the B.Tech CS 2020 batch, I went through the Hashedin recruitment process which started with a written test.
Round 1: Written Test (90 minutes)
This round was divided into two sections. Section A: This section comprised 8 questions, including 2 programming output questions, 2 time-complexity questions, 2 DBMS query questions, 1 programming MCQ, and 1 Computer Network MCQ related to subnets. The difficulty level ranged from very easy to easy. Section B: This section featured 3 programming questions where I was required to write full code, demonstrating well-defined time and space complexity. Out of approximately 600-700 students who took this test, only 9 of us managed to clear it.
Round 2: Technical Interview-1 (70-90 minutes)
In this round, the interviewers primarily focused on my resume, discussing projects I had worked on, and delving into DBMS concepts. Specific questions included:
- Designing a database schema for a fully automated restaurant food ordering system, accompanied by various related design questions.
- Explaining what a URL shortener is, which seemed to be an assessment of my problem-solving skills.
- Some operating system questions, specifically about Deadlocks.
Round 3: Technical Interview-2 (70-90 minutes)
This final technical round mainly focused on Data Structures & Algorithms and further DBMS theory questions. I encountered problems such as:
- Adding a given value to a range
[l,r]of an array multiple times and then returning the maximum value in the array after all updates. - Given a set of flight routes like
[[A,B],[A,C],[B,C],[B,D],[D,E]], determining if a route existed to visit all flights and, if so, listing all such routes in lexicographical order. - Comparing two sentences with space-separated words to determine if they were the 'same', even if the word order didn't match and words might not be exact.
- Finding four elements in an array that sum up to a given number.
- Explaining the ACID properties in database systems.
Interview Questions (11)
Given a string, I can delete characters as many as I want and displace characters wherever I want. I had to return the maximum length of a palindrome that can be formed.
Given a maze-matrix where every cell can have two values: 0 (blocked) or 1 (free). One cell has value 2 (starting point) and one cell has value 3 (destination point). I had to find if it's possible to find a way from 2 to 3.
Given an array of positive numbers, e.g., arr = [1,2,3,4,5]. I had to select the i-th element, multiply it with its (i-1)-th and (i+1)-th elements, and add this value to K. Then, remove this i-th element from the array. This process repeats until all elements are removed. For corner elements, 1 is considered as their side element. I needed to return the maximum K possible. For example, for arr = [1,2,3,4,5], the maximum K possible is 60+30+10+5+5.
I was asked to design a database schema for a fully automated system for ordering food at a restaurant, along with different questions related to the design process.
What is a URL shortener? They wanted to assess my problem-solving skills with this question.
I was asked some OS questions, specifically about Deadlocks.
Given an array of integers, I needed to add a given value to a range of [l,r] of the array many times. Finally, I had to return the maximum value in the array after all changes.
Given flight routes, for example, [[A,B],[A,C],[B,C],[B,D],[D,E]]. I had to tell if there was any route possible to visit all flights. If possible, I needed to give all routes in lexicographical order.
Given two sentences of space-separated words. Words in one sentence may or may not be exactly present in the second sentence. I had to tell whether these were the same sentence or not, where the order of words was not needed to be the same.
Given an array, find 4 elements whose sum is a given number.
I was asked what the ACID properties are.