Hashedin By Deloitte SDE - I campus hiring experience
Summary
I successfully navigated a campus hiring process for a Software Development Engineer I role at Hashedin by Deloitte, which included an Online Assessment, two Technical Interviews covering DSA, core CS concepts, and System Design, and a final HR round. I received an offer after clearing all rounds.
Full Experience
My interview journey for the SDE I position at Hashedin by Deloitte began with an Online Assessment. It was a 90-minute test comprising three coding questions: one easy and two medium LeetCode-type problems. A unique aspect was the absence of automated test cases; I had to code, generate my own custom test cases, identify edge cases, and then submit my solution.
Technical Interview - Round 1
The next day, I was shortlisted for the first technical interview. It started with a personal introduction, where they inquired about my passions and extracurricular activities. Following this, the interview delved into core computer science subjects like OOPS, C++, and DBMS. I was asked about topics such as diamond inheritance in C++, different types of Joins in SQL, and the concept of a virtual constructor. Additionally, I had to write an SQL query to find the second largest element in a table.
The coding questions in this round were to be solved on paper, though explaining the logic was also acceptable. I was given a problem related to Longest Palindromic Subsequence (LPS), specifically asking me to reverse a string and find its Longest Common Subsequence (LCS), a common approach for LPS. After successfully solving the optimal approach for this, they posed a challenging follow-up: to find the second largest palindromic subsequence. This was quite tricky; I took some time, asked for hints, and eventually managed to solve it, albeit not with the most optimal solution. There was also another DP question on array partition, which I was able to solve.
Technical Interview - Round 2
In the second technical round, the interviewers began with some fundamental coding questions. I was asked about detecting a cycle in a Linked List using the Hare and Tortoise method and how to implement a Stack using Queues. The round then transitioned into System Design. I was tasked with designing a high-level application similar to Flipkart, incorporating specific features they mentioned. I created API call flow diagrams and designed a database schema complete with foreign key references. They then guided me through the process of normalizing the database. I made significant progress but couldn't finalize it exactly as they expected. A SQL query based on the tables I had designed was also part of this discussion.
HR Round
The HR round was the most relaxed part of the process. We discussed projects from my resume, including my motivations for building them, their purpose, and technical details. There were also casual questions, like my preference between CR7 and Messi, inquiries about my family background and personal interests, and situational questions such as “What would you do if you received ₹10 crore today?”. I learned that reaching this stage often signifies selection, as everyone who made it to the HR round was offered a position.
Interview Questions (10)
Discuss the concept of diamond inheritance in C++.
Explain different types of joins available in SQL.
Explain the concept of a virtual constructor. Is it possible to have virtual constructors in C++?
Write an SQL query to find the second largest element in a given table.
Given a string, find its Longest Palindromic Subsequence (LPS). A hint was provided: reverse the string and find the Longest Common Subsequence (LCS) between the original string and its reversed version.
Given a string, find the second longest palindromic subsequence.
Explain and implement Floyd's Cycle-Finding Algorithm (Hare and Tortoise method) to detect a cycle in a linked list.
Implement a stack data structure using one or more queues.
Design a high-level system for an e-commerce application similar to Flipkart, incorporating specified features. This included creating API call flow diagrams, designing a database schema with foreign key references, and performing database normalization.
Situational question: What would you do if you received ₹10 crore today?
Preparation Tips
To prepare for this interview, I focused on several key areas:
- LeetCode Practice: I diligently practiced problems from the Striver Sheet, particularly concentrating on Dynamic Programming (DP), Strings, and Array problems.
- Core CS Fundamentals: I revised essential concepts in OOPS, DBMS, and practiced various SQL queries.
- System Design Basics: I studied fundamental System Design principles, focusing on API design and Database Normalization.
- Resume Accuracy: A crucial tip I followed was to only include technologies on my resume that I was genuinely confident discussing in detail.
Overall, the preparation involved a balanced approach covering DSA, core CS subjects, and basic System Design skills, which proved to be very effective for their well-structured process.