Interviewee - Pratyush Lokhande
AthenaSquare profile - https://athenasquare.org/pratyushlokhande
CTC - 17 base, 2000 unit ESOPS
6months - 50k/month
Online Assesment:
The Online Assesment consisted of two parts: a coding challenge and a series of multiple choice questions on operating systems and database management systems.
For the coding challenge, We were given a medium-difficulty problem involving trees.
Alongwith that we had a hard-difficulty problem based on Dynamic Programming.
The multiple choice questions on operating systems and database management systems were standard.
Interview Round 1:
The interview consisted of two parts: a coding problem and a series of theory questions.
The theory questions were challenging, but I was able to answer them by drawing on my previous knowledge and experience. Some of the questions I was asked included:
- How to detect cycles in a linked list
- How to find the junction point of a cycle in a linked list
- How to find the length of a cycle in a linked list
- How to determine if a cycle exists in a linked list
- What are the ACID properties of database management systems
- What are transactions in database systems
- What is context switching in operating systems, and can you provide an example?
I was asked to write code to solve a problem involving trees. The problem involved calculating the sum of the odd-level and even-level nodes in a tree and finding the absolute difference between them. I was able to come up with a solution.
I managed to progress to the next round.
Interview Round 2:
The interview was a design challenge, in which I was asked to design a system for quickly querying a large CSV file containing experiment results.
The challenge specified that the CSV file was 2 TB in size, and that the server I was given had 4 GB of RAM and 2 CPUs. The CSV file contained two columns: experiment number and result. The results were binary, with 1 indicating a successful experiment and 0 indicating a failed experiment. However, the number of failed experiments was extremely small compared to the number of successful experiments.
I was asked to design a system that would allow users to quickly query the CSV file by inputting an experiment number, and that would return the result of that experiment (i.e. whether it was successful or failed). The system had to be fast and simple to use on the server given to me.
In my design, I proposed that we could process the CSV file once and store only the failed experiments in a map, with the experiment number as the key and the status as 0. This would reduce the size of the data we had to store, making it possible to fit it in the 4 GB of RAM on the server. I also suggested that we could further optimize the system by storing the failed experiments in an array and using binary search to quickly find the results of a given experiment.
The interviewer was impressed with my design and asked me follow-up questions about how I would optimize it further. We discussed different approaches and trade-offs, and I was able to demonstrate my understanding of data structures and algorithms.
After the design round, the interviewer asked me some in-depth questions about object-oriented programming, specifically focusing on polymorphism and encapsulation. I was able to answer these questions and provide examples from my previous experience.
I further progressed to the next round:
HR Round
The final round was an HR round.
I was asked some standard HR Questions,
Standard HR questions for the interviews you should prepare for:
Tell me about yourself.
Why are you interested in this role/company?
What are your strengths/weaknesses?
Can you provide examples of how you have demonstrated certain skills or competencies in past roles?
Why do you want to leave your current job?
How do you handle difficult situations/conflict in the workplace?
Some Answers,
Where do you see yourself in 5 years?
In 5 years, I see myself in a leadership role within the company, where I can use my skills and experience to contribute to the success of the organization. I am committed to continuously learning and growing, and I believe that with hard work and dedication, I can achieve my career goals within the company.
If a fight happens in the organization, what will you do?
If a fight happens in the organization, my first priority would be to ensure the safety of all individuals involved. I would then try to calm the situation and diffuse any further conflict by listening to both sides and trying to find a resolution. If necessary, I would involve HR or a manager to help mediate the situation and come up with a solution. Ultimately, my goal would be to prevent any further disruption to the team and work towards creating a positive and productive work environment.
Some tips for you folks:
- Practice solving coding challenges on websites like Leetcode or HackerRank
- Review the basics of linked list and tree algorithms, as these are common topics in coding interviews
- Brush up on your knowledge of database management systems and operating systems, as these topics may be covered in theory questions
- Be prepared to write code on a whiteboard or online coding platform
- Take your time and think through your solutions carefully
- Be prepared to design a system or solve a problem, rather than just applying data structures and algorithms
- Think about the trade-offs and constraints of the system you're designing, and consider different ways to optimize it
- Be able to explain and defend your problem, and be open to feedback and suggestions from the interviewer
- Take your time and think through your answers carefully
Good luck with your interview preparations, and I hope these tips help you succeed!
Top comments (0)