
Synthesized from 29 candidate submissions for ALL.
BrowserStack’s hiring process is highly structured, emphasizing practical implementation skills, problem-solving, and adaptability to real-world challenges. Candidates often face multiple rounds of machine coding, system design, and behavioral assessments, with a strong focus on automation, browser technologies, and scalable system design. Rejections frequently cite cultural fit, communication gaps, or mismatches in role-specific expectations, particularly for niche domains like QA/SDET or frontend roles.
The candidate had a positive experience with friendly and helpful interviewers. After completing all rounds, they received an offer letter within a week.
Discussion about current and previous projects, work experience, and technology stack.
Implement four web services in the language of choice: startBrowser(), stopBrowser(), getLatestURL(), and deleteAllHistory(). The last two required understanding how browsers store user-specific data locally (e.g., Mozilla Firefox uses places.sqlite). JDBC Driver was to be used for extracting/deleting data from .sqlite files, and Selenium or third-party automation tools were prohibited.
Implement four web services: startBrowser, stopBrowser, getLatestURL, and deleteAllHistory.
Implement functionality similar to 'tail -f' to fetch the latest logs from a file and send them to all clients. Subtask 1: Implement tail -f programmatically without using the tail command directly. The solution should display only the last changed data when the file is saved, and avoid reading from line 0 to handle large files efficiently. Subtask 2: Use WebSockets to send the data to all clients.
Implement functionality similar to 'tail -f' to fetch the latest logs from a server and send them to all clients: implement tail -f programmatically without using the tail command directly, and use WebSockets to send the data to all clients.
Discussion about current and framework architecture, core Java, JSP-Servlets, JSF-Managed Beans, Oracle ADF, and database ORM. Questions about career experiences, conflicts with managers, learnings, and Java frameworks. One question was based on Map-Reduce Framework and its modification to run in a multi-clustered environment.
Explain your current project architecture.
Discuss the framework architecture (Core Java -> JSP-Servlets -> JSF-Managed Beans -> Oracle ADF).
Explain any feature you are interested in from your current work.
How did you handle a conflict with your manager?
What did you learn from 1.5 years of professional life?
Questions on Java Frameworks.
How would you modify the Map-Reduce Framework to run on a multi-clustered environment?
General discussion about the candidate's background, college experiences, preferences between startups and MNCs, strengths and weaknesses, reasons for not applying for GSoC, reasons for leaving the previous organization, and reasons for choosing BrowserStack.
What one thing did you enjoy the most in college?
Startups vs MNCs: which one do you prefer and why?
What are your strengths and weaknesses?
Why BrowserStack?
Discussion about the candidate's journey, career goals, learnings from the current company, and preferences for the next job. The HR also asked about the most important thing in the candidate's career.
What did you like the most about the interview process?
What is the most important thing in your career?
What are you looking for from your next job?
What is one thing you love about your current company?
The candidate went through a rigorous interview process at BrowserStack, including an online coding test, two machine coding rounds, two technical rounds with senior leaders, and an HR interview. The process evaluated coding skills, system design, problem-solving, and behavioral aspects. The outcome is not explicitly mentioned.
Online HackerEarth test with 3 questions for 2 hours, totaling 200 marks. Questions were of Easy/Medium difficulty.
Online HackerEarth test with 3 questions for 2 hours, totaling 200 marks. Questions were of Easy/Medium difficulty.
Problem required implementing a log watching solution (similar to 'tail -f' command in UNIX). Tasks included: 1) Implementing a server-side program to monitor a log file and stream updates in real-time. 2) Creating a web-based client (accessible via http://localhost/log) that displays updates in real-time without page refresh. The client should show the last 10 lines upon initial load. Constraints included pushing updates in real-time, handling multiple clients, and avoiding retransmission of the entire file. Off-the-shelf libraries providing tail-like functionalities were not allowed.
Implement a log watching solution (similar to 'tail -f') with a server-side program and a web-based client that updates in real-time.
Problem involved implementing a stateless web service to interact with Google Chrome and Mozilla Firefox browsers. The service supported endpoints for starting/stopping browsers, cleaning up browsing sessions, and retrieving the current active tab's URL. Constraints included not using Selenium WebDriver protocol and ensuring the service runs on the server's machine.
Implement a web service with endpoints: /start, /stop, /cleanup, and /geturl to manage browser sessions.
Technical round with the Engineering Manager. Topics included discussing favorite internship projects, personal projects, strengths/weaknesses, and solving problems like bringing all zeros to the start of an array in O(n) time and O(1) space. Also included a data structure design problem requiring O(1) query time and handling a 1TB file with limited RAM (8GB) for word occurrence counting.
Bring all zeros to the start of an array in O(n) time and O(1) space.
Design a data structure that supports O(1) time queries.
How to count word occurrences in a 1TB file with only 8GB RAM?
Technical round with the Director of Engineering. Topics included projects, failed projects, HTTP vs HTTPS, HTTP error codes, User-Agent in HTTP headers, handling conflicts with managers, independent problem-solving, system deployment considerations, logging for monitoring, and database scaling.
HTTP vs HTTPS
HTTP error codes
What is User-Agent in HTTP header?
How to handle a situation where your manager asks you to use C++ and you prefer Python?
How to solve a problem independently if your manager is too busy?
What points to consider when deploying a system into production?
What kind of logs to send out for future monitoring?
Database scaling
HR Interview round.