Online Assessment: Three Sections
Interviews (Offline): I had 3 technical rounds, while others had varying numbers of rounds.
Round 1: (Duration: 1 hour and 15 minutes)
The interview started with the Interviewer asking me to introduce myself. I gave the pre-prepared answer. Then they directly jumped to DSA questions. They presented three DSA questions, all of medium difficulty, which can be found at the following links:
3. Find the Smallest Number Whose Sum of Digits Is N
I successfully solved all three problems and explained the approaches to the interviewer. Subsequently, I was tasked with transcribing pseudo code onto paper and conducting test-case-based dry runs. The interviewer also inquired about my strategies for handling edge cases.
Following the DSA segment, the interviewer presented a puzzle for me to tackle:
Puzzle: The Shopkeeper and the Lady Who Made a Purchase of Rs. 200 with a Fake Note
Although I required a hint to arrive at a solution, I ultimately cracked the puzzle.
The discussion then shifted towards the projects listed on my resume. The interviewer requested a brief overview of each project and posed several standard questions, such as why I chose specific features and tech stacks. One of my projects involved working with APIs, prompting a query about my understanding of APIs.
Towards the end of the interview, I had the opportunity to ask the interviewer questions. I inquired about the typical daily routine for a MyKaarma employee.
Round 2: (Duration: 1 hour and 15 minutes)
The second round commenced with the interviewers introducing themselves and then requesting me to provide an introduction about myself. Following this, they presented two puzzles for me to tackle:
1. Puzzle: Find Ages of Daughters
2. Puzzle: Maximize Probability of White Ball
I successfully solved both puzzles. Next, they posed four Data Structures and Algorithms (DSA) questions. This phase of the interview emphasized a quick understanding of the problem, sharing my initial thoughts, and then writing the code. Notably, I was required to write the code on paper with a focus on proper syntax, rather than pseudo-code. The questions included:
1. Generate Parentheses
2. Product of Array Except Self
3. Kth Smallest Element in a BST
Unfortunately, I don’t recall the specifics of the fourth question. Out of these, I successfully solved three and explained the approach for the BST question using an inorder traversal method. However, the interviewers prompted me to discuss Morris traversal, though they did not ask for a code implementation.
Similar to the previous round, we then delved into a discussion about my first two projects, focusing on React features. They asked me to explain the concept of APIs as if we were 9th-grade students, and I used the analogy of a restaurant waiter to illustrate the idea.
The interviewers also inquired about the distinctions between a “set” and an “unordered_set,” along with the underlying principles of these data structures.
To conclude, I had the opportunity to ask questions of my own. I sought clarification on a topic mentioned in an offline presentation.
Round 3: (Duration: 1 hour)
Once again, the interview began with introductions. Following this, I was presented with a puzzle: determining the number of solutions for the equation x + y + z = n, where all variables (x, y, z, and n) are integers. I attempted to discern a pattern and successfully solved it.
Subsequently, the interviewer inquired about my familiarity with sorting algorithms. I listed several algorithms I was acquainted with and was asked to explain and write the code for merge sort.
Consistent with previous rounds, I discussed my projects and their details. Furthermore, I was asked to describe the JavaScript code I used to fetch data from an API in one of my projects. While I couldn’t write the code down, I provided a verbal explanation of how the process worked.
I mentioned that my favorite data structure was graphs, which led to a series of questions about graph traversal algorithms. I explained Breadth-First Search (BFS) and Depth-First Search (DFS) to the interviewer.
Following this, I was challenged to explain the concept of backtracking without the aid of written notes. Subsequently, I was asked to write code to determine whether a given string is a palindrome.
Given my background in the physics department, the interviewer delved into some physics-related questions, asking me to define fusion and fission. Additionally, I shared my academic status, including details about my undergraduate program.
The interviewer then probed my knowledge of software engineering concepts by asking for the definition of encapsulation and requesting an example class illustrating this concept. I was able to provide satisfactory responses to both queries.
To conclude, the interviewer inquired if I had any questions, and I requested feedback on my interview performance and ways to enhance my skills.
Verdict: Selected 😎 along with four other students.
Tips
Maintain a positive attitude and high energy level throughout the interview.
Craft a strong and engaging “Tell me about yourself” to make a good first impression.
Be thorough with the details on your resume. Only include projects you are confident about and accurately represent your skills and experience.
Stay calm and composed during the interview; if you’re stuck on a problem, taking a moment to drink water can help.
Prepare for puzzles by solving problems on platforms like GeeksforGeeks.
Pay close attention to code quality, use clear variable names, and aim for error-free code.
When faced with a problem you’ve seen before, don’t jump to the solution immediately; demonstrate problem-solving skills and thought processes.
All the best cuties!