BrowserStack SDET intern Selected ✨✨✨
Summary
I recently landed an SDET Intern role at BrowserStack in Mumbai after a rigorous selection process. The interview journey included an Online Assessment, a challenging Machine Coding round, two in-depth technical interviews covering DSA, OS, networking, projects, and a logical puzzle, culminating in an HR discussion. After 8 months and more than 30 interviews, I was the only candidate selected for the position.
Full Experience
1. Resume Shortlisting
My resume was successfully shortlisted, which led to an invitation for the online assessment.
2. Online Assessment (OA)
I completed the online assessment on an internal test platform. It consisted of 3 Data Structures and Algorithms (DSA) questions, and I managed to solve 2 out of 3. While one was a standard DFS traversal, the other involved designing a basic OOP booking system.
3. Machine Coding Round
Approximately 20 days after the OA, I had my Machine Coding round. The task was to build a simple web service that could interact with two specific browsers: Google Chrome and Mozilla Firefox. The key challenge was to implement functionalities like launching a browser with a URL, killing its process, clearing session data, and retrieving the active tab's URL, all without using Selenium or any other web drivers. I approached this by utilizing child processes to manage browser interactions directly.
4. Interview Rounds
All three subsequent interview rounds were scheduled on the same day.
Round 1 – EM Round
This round was conducted by an interviewer with over 10 years of experience. We discussed my resume and previous internship in detail. Technical questions covered Operating Systems and general development concepts. A significant portion was dedicated to a deep dive into my personal project, where I had to explain its workings comprehensively. I was also asked about my favorite subject, which is Computer Networks (CN), leading to questions about DNS, the OSI model, and the lifecycle of a data packet across layers. The interviewer also explored the differences between HTTP and HTTPS, prompting me to explain TLS, digital signatures, and Certificate Authorities (CA). Towards the end, I was given a DSA problem: to maximize the product of numbers in an array.
Round 2 – EOD Round
My second technical interview was with a person boasting over 20 years of experience, including more than 15 years at Oracle. The conversation began casually, covering my background, interests, daily routine, and previous interview experiences. We then delved into my project, "InterviewInsight," where I explained its purpose – allowing college students to post interview experiences and use a chatbot for data extraction, insights, and resource recommendations. I highlighted how this project assists juniors in preparing for company-specific requirements. We also touched upon my past internship experience. Finally, I was given a logical puzzle: how to divide a square into 2, 3, 4, and 5 equal parts.
Round 3 – HR Round
The HR round was brief and straightforward. I was asked about my overall interview experience and the standard "Why BrowserStack?" question.
Verdict
After a wait of three days, my Training and Placement (TnP) coordinator informed me that I was the only candidate shortlisted for the role. This news brought an immense sense of relief, as it marked the end of an 8-month-long journey that included over 30 interviews.
Special Thanks
I must extend a special thank you to the HR person. She was incredibly helpful throughout the entire process, calling before each round to offer motivation, advise on what topics to prepare, and remind me to stay confident. She truly was the best recruiter I’ve ever interacted with.
Takeaway
My biggest takeaway is to believe in myself and in a higher power. It reinforces the idea that the best thing about time is that it changes, and perseverance eventually pays off.
Interview Questions (4)
OOP Booking System Design
Design and implement a basic booking system using Object-Oriented Programming principles. The system should include methods like book(), cancel(), and other necessary utility methods within a class structure.
Browser Control Web Service (No Selenium)
Develop a simple web service to programmatically interact with Google Chrome and Mozilla Firefox browsers without using Selenium or any other web drivers. The service should expose API endpoints for the following functionalities:
- Start: Launch a specified browser with a given URL (e.g.,
/start?browser=chrome&url=http://example.com). - Stop: Terminate the specified browser process (e.g.,
/stop?browser=chrome). - Cleanup: Clear session data (history, cache, cookies) for the specified browser (e.g.,
/cleanup?browser=chrome). - Get URL: Return the active URL of the specified browser's tab (e.g.,
/geturl?browser=chrome).
Maximize Product of Numbers in Array
Given an array of integers, find the maximum product that can be obtained by multiplying elements within the array.
Divide Square into Equal Parts
Explain how to divide a perfect square into 2, 3, 4, and 5 equal parts.