Summary
I am a 2024 B.Tech graduate with 6 months of internship experience who interviewed for AIHIFusion Technologies Pvt Ltd (Celeb AI) in Delhi NCR. I successfully passed the aptitude test and the first two technical rounds, but struggled significantly and likely failed the third round, which heavily focused on in-depth C++ OOPs concepts and manual data structure implementation, particularly memory management in a set-like erase function.
Full Experience
Hello Leetcode Community,
I hope you all are doing great and enjoying your journey!
I am a 2024 B.Tech graduate from a tier-3 college with 6 months of internship experience at a small service-based startup.
I applied for AIHIFusion Technologies Pvt Ltd (Celeb AI) through a LinkedIn post where they mentioned an email. I sent my resume via email at the end of February or the beginning of March. They offered a salary of 4-5 LPA with a 1-year bond.
After around 15-20 days, the hiring process started. Many candidates, including me, were invited to a Zoom video call, where the company introduced itself. They then conducted an aptitude test with 30 questions, requiring a cutoff of 15 or 18 marks to qualify.
My Interview Rounds:
✅ Aptitude Test: Passed
✅ Technical Round 1: Passed (held on the same day)
✅ Technical Round 2: Passed
⏳ Technical Round 3: Appeared but likely failed
Interview Experience:
All rounds were conducted online. Each technical round started with a short introduction, followed by C++ or Python OOPs concept questions (depending on your choice).
They focused heavily on OOPs concepts in every round, asking in-depth questions on C++, OOPs, and DSA, such as:
- Implement a function similar to erase in set in C++ without memory leaks
- Static functions, static classes
- Overriding with and without virtual functions and their differences
- Why virtual functions?
- Why use namespaces in C++?
- Why use std::? If we use std, why do we still need libraries?
- Why or why not use const and global variables?
- Implementing recursion inside a class
- Implementing linked lists
- Writing code without STL
- Finding duplicate elements in a given array in constant space
- OOPs basic concepts
- Some more questions I can't remember
Technical Round 3 - The Toughest One
They asked:
💬 "You are given a container that stores values in sorted order upon insertion. What data structure does it use, and what is its time complexity?"
➡️ I answered: In C++, it's a set, which uses a balanced binary search tree (BST).
Then they asked me to implement an erase function similar to erase in set, where:
- I am given the head of a tree and a value to delete.
- After deletion, the container must remain sorted, just like in a set, where deleting any value maintains the sorted order.
I attempted it, but after some back and forth, they clarified that "delete" meant deleting the node without memory leaks. At this point, I struggled, as I had never implemented such deep C++ code beyond solving DSA problems.
Final Thoughts:
I believe I am going to be rejected. But I wonder—for a fresher, is it reasonable to ask for such detailed C++ implementations (like manually re-implementing set::erase(), ensuring no memory leaks) when the salary is just 4-5 LPA with a 1-year bond?
I didn’t have any issues with the other questions, but I felt this one was particularly difficult due to the need to handle things like memory management and avoiding leaks.
Interview Questions (12)
Implement a function similar to erase in std::set in C++, ensuring no memory leaks. This involves deleting a node from a balanced binary search tree while maintaining its sorted order and proper memory management.
Explain C++ static functions and static classes, including their purpose and usage.
Explain method overriding in C++ with and without virtual functions, detailing their differences and implications.
Explain the purpose and benefits of using virtual functions in C++.
Explain the purpose and benefits of using namespaces in C++.
Explain the use of std:: namespace in C++ and differentiate between the std namespace and broader C++ libraries.
Discuss the pros and cons, and appropriate usage of the const keyword and global variables in C++.
Explain how to implement recursive functions within a C++ class.
Implement a basic linked list data structure in C++.
Discuss or demonstrate writing C++ code without relying on the Standard Template Library (STL).
Given an array, find duplicate elements using constant extra space.
You are given a container that stores values in sorted order upon insertion. What data structure does it use, and what is its time complexity?