Assessment tips
- Confirm the current BrowserStack pattern from the drive mail before practising old papers
- Finish one problem or section fully before starting the next
- Revise the fundamentals listed in the round table on this page
How BrowserStack’s engineering loop actually runs, synthesized from recent candidate reports and BrowserStack public hiring guidance. We reorganized rounds, added prep notes, and flagged team/track variance - treat this as a prep map, not a script.
| Round | Duration | What it tests |
|---|---|---|
| Online coding assessment | 60-90 min | 2-3 DSA problems, sometimes a low-level-design task |
| Machine coding round | ~2 hours | Build a real working feature/service from scratch |
| Technical / Engineering Manager round | 45-60 min | DSA follow-ups, web fundamentals, project deep-dive |
| Director of Engineering / culture round | 30-45 min | Resume, judgment, values fit |
| HR round | 20-30 min | Fit, logistics, offer discussion |
Profile: B.Tech CSE, tier-2 college, steady DSA practice, no prior internship at a product company
Online coding assessment
Machine coding round
tail -f clone - using websockets, with a ring buffer to cap memory use. About 2 hours, Google allowed, AI tools not allowed.Engineering Manager round
Director round
Result: Selected What helped: Treating the machine coding round like a real feature (readable code, a couple of tests) rather than a rushed prototype, and giving concrete answers about scaling the log viewer instead of guessing.
Takeaways
Profile: B.Tech IT, one prior internship, comfortable with Node.js and basic system design
What differed
Mistakes that hurt other candidates in the same hiring cycle
Result: Selected after the hiring-manager round
Takeaways
Profile: Referral from BrowserStack employee; HR screen → OA → two machine rounds. Source: public LinkedIn write-up (Sagar Pal, Feb 2025).
HR screen (~30 min)
Online assessment
Machine round 1 (~2 hours)
tail -f with live updates (WebSockets); internet allowed, LLMs disallowedMachine round 2 (~1 hour)
Result: Not selected after machine rounds Takeaway: Clearing round 1 is not enough - round 2 browser APIs reward prior practice with process spawning and OS quirks. WebSocket log streaming alone does not finish the loop.
Profile: HackerRank OA → 2.5h machine coding → Director round. Source: public LinkedIn/Medium-style backend reports (2025).
Machine coding
tail -f requirements: last N lines, rotation/truncation, efficient reads on large filesDirector / tech discussion
Result: Rejected after positive feedback on machine round in some accounts - director follow-ups on scale and networking decide the borderline cases
tail -f style), or a small stateless REST APIAfter technical rounds, BrowserStack usually closes with a shorter HR conversation covering fit, logistics, and offer details. Prepare those answers on the dedicated page rather than cramming them into this hub.
Use these as frames, not scripts - interviewers probe follow-ups.
Q. How do you traverse a matrix in spiral order?
A. Keep four boundaries - top, bottom, left and right - and repeatedly walk the top row left to right, the right column top to bottom, the bottom row right to left, and the left column bottom to top, shrinking the relevant boundary after each pass. The subtlety that breaks most attempts is the last two passes: before walking the bottom row you must check that top is still at or above bottom, and before walking the left column that left is still at or before right, otherwise a single remaining row or column is emitted twice. It is O(rows times columns) time and O(1) extra space beyond the output.
Q. How would you remove comments from a source file?
A. Treat it as a small state machine scanning character by character, with states for normal code, inside a line comment, inside a block comment, inside a string literal and inside a character literal. In normal state, two slashes enter line-comment state until the newline, and slash-star enters block-comment state until star-slash. The trap the interviewer is checking is that a comment marker inside a string literal is not a comment, and that an escape sequence inside a string must not end it early, so you need the string states and an escaped flag. Handle an unterminated block comment spanning to end of file, and remember that a block comment removed mid-line joins the surrounding code.
Q. How would you build a real-time log tailer over websockets?
A. On the server, open the file, seek to the end, and either watch it with an OS notification API such as inotify or poll the size on a short interval; when it grows, read only the new bytes from the last offset and push them to connected clients over the websocket. Buffer partial reads so a line split across two reads is not emitted twice, and handle log rotation by detecting that the inode or size shrank and reopening the file. Apply backpressure - if a slow client’s send queue exceeds a threshold, drop or coalesce lines rather than growing memory unbounded. On the client, append to a bounded ring of DOM nodes and auto-scroll only when the user is already at the bottom.
Q. How do you implement an in-memory cache with per-key expiry?
A. Store each entry as value plus an absolute expiry timestamp in a hash map, and check the timestamp lazily on read - if the entry has expired, delete it and return a miss. Lazy expiry alone leaks memory for keys never read again, so pair it with active cleanup: either a background sweep of a random sample of keys, or a min-heap or timing wheel keyed by expiry time so the soonest-expiring entry is always at the top. Bound the total size with an eviction policy such as LRU so the cache cannot grow without limit. Always store absolute deadlines from a monotonic clock rather than remaining durations, so a clock adjustment does not corrupt expiry.
Q. What actually differs between HTTP and HTTPS?
A. HTTPS is HTTP carried inside a TLS session, so the request line, headers, cookies and body are encrypted, while the destination IP and, without encrypted client hello, the server name in SNI remain visible. The TLS handshake authenticates the server through a certificate chain the client validates against trusted roots, negotiates a cipher suite, and derives session keys - in TLS 1.3 this takes one round trip, with resumption possible in zero. Beyond confidentiality it provides integrity and authentication, so an on-path attacker cannot silently modify the response. It is also a functional prerequisite now, since features such as service workers and geolocation only work on secure origins.
Assessment tips
Interview tips
HR tips
These links are research inputs we used to map round structure and recurring questions - not copied page mirrors. We reorganized reports into process tables, outcome notes, and prep takeaways for BrowserStack.
Round-wise notes on this page are curated from public candidate reports, then reorganized with prep takeaways and outcome context. Cross-check the current drive mail for timings. For OA practice, see BrowserStack placement papers.
Freshworks · Zoho · Atlassian