BrowserStack | SDE 2 | Screening round

browserstack logo
browserstack
· SDE 2· Ongoing
February 6, 2025 · 92 reads

Summary

I interviewed for an SDE 2 position at BrowserStack, going through a screening round that heavily focused on my past projects, system design fundamentals, JavaScript/Node.js, browser internals, and concluded with a coding challenge.

Full Experience

I applied directly for the SDE 2 position at BrowserStack through their workday website, without any referral. The screening round commenced with a self-introduction, after which the interviewer delved into my projects, asking for a high-level design explanation.

I faced extensive questioning and 'grilling' based on my projects. This included inquiries such as, 'How does the current tech-stack fit the requirements of the XYZ project from your resume?' and 'Which tech stack would you choose to build the XYZ project?'. We also discussed comparisons like RabbitMQ versus Redis Queue, and I had to justify my choice of MongoDB over PostgreSQL or other SQL databases.

Subsequently, the discussion shifted to JavaScript, Node.js, and Express.js. Questions covered concepts like the Event Loop, the difference between `setTimeout` and `setImmediate`, and analysis of a provided JavaScript code snippet. I was also asked about the storage location of an image source (e.g., `img tag src=""`) and how browsers download images, specifically mentioning batches of 6 to 10 images.

A significant part of the interview focused on browser behavior when entering a URL. The interviewer expected a detailed explanation, including the TCP/IP protocol, the 3-way handshake, and the standard ports for HTTPS (443) and HTTP (80).

Towards the end of the round, I was presented with a simple coding problem.

Interview Questions (4)

1.

Project Tech Stack Justification and Design

System Design

Explain the high-level design of your projects. Discuss how your current tech-stack aligns with the requirements of a specific project (e.g., XYZ project from your resume) or which tech stack you would choose to build it. Compare RabbitMQ vs. Redis Queue, and justify your choice of MongoDB over PostgreSQL or other SQL databases.

2.

JavaScript and Browser Fundamentals

Other

Explain the JavaScript Event Loop. What is the difference between setTimeout and setImmediate? Analyze a given JavaScript code snippet. Where is the image source stored when using an <img> tag (e.g., src="")? How does the browser download images (e.g., in batches of 6 to 10 images)?

3.

What happens when you enter a URL in a browser?

System Design

Provide a detailed explanation of the entire process that occurs when a URL is entered into a browser. Your explanation should cover aspects such as the TCP/IP protocol, the 3-way handshake, and the standard ports used for HTTPS (443) and HTTP (80).

4.

Arithmetic Operations on Huge String Values

Data Structures & Algorithms·Medium

Given two huge values as strings, you need to perform an arithmetic operation. Assume that in an Integer, the maximum value that can be stored is 9999 (4 digits).

Function signature: Function perform(String a, String b, String action)

Test cases:
num1 = "12345678", num2 = "99999999", action = "compare"
num1 = "12349999", num2 = "99991111"

Discussion (0)

Share your thoughts and ask questions

Join the Discussion

Sign in with Google to share your thoughts and ask questions

No comments yet

Be the first to share your thoughts and start the discussion!