Role: Software Engineer (Fresher)
College: Tier 3 College in Mumbai
Interview Date: Not Specified (experience updated Sep 2024)
Interview Type: Off-Campus (Referral)
Result: Selected (Implied by detailed HR round and positive tone)
Difficulty: Medium
Rounds: 6 rounds
Topics Asked: Data Structures, Algorithms, Low-Level Design, System Design, Operating Systems (Deadlock), DBMS, Networking (HTTP, HTTPS, HTTP Headers, Status Codes, User-Agent), Competitive Programming, Open Source, Projects, Behavioral Questions, MapReduce.
Experience:
The candidate was a final-year Computer Science student with competitive programming and open-source contributions. They were referred for a Software Engineer position.
Round 1: Online Round (HackerEarth)
- 2-hour coding test with 3 questions.
- 100 points: Design a reverse proxy with N servers and M endpoints. Requests go in round-robin. Handle server going down/up.
- 50 points: Given an array of numbers, return 1 if spirally sorted, else 0.
- The third question was not explicitly detailed in the snippet, but it was generally "Easy / Medium level".
- Scoring 120 points was considered, but the candidate scored 200.
Round 2: Machine Coding - 1 (Onsite)
- Problem Statement: Implement a log watching solution similar to
tail -f for a remote, append-only log file.
- Server-side program to monitor and stream updates.
- Web-based client (e.g.,
http://localhost/log) to display last 10 lines on load and real-time updates without refresh.
- Constraints: Real-time updates, only send updates (not entire file), handle multiple clients, no page reload, no off-the-shelf tailing libraries. Focus on code quality, testability, modularity, corner cases.
Round 3: Machine Coding - 2 (Onsite)
- Problem Statement: Implement a simple stateless web service to interact with Google Chrome and Mozilla Firefox.
- Endpoints:
/start?browser=chrome&url=http://example.com/ (start browser, open URL), /stop?browser= (stop browser), /cleanup?browser= (clean browsing session), /geturl?browser= (get active tab URL).
Round 4: Technical Round-1 with the Engineering Manager
- Favorite internship project discussion.
- Questions on a personal project: what if a change is made, how to handle it.
- Strengths and Weaknesses.
- Coding problem: Bring all zeros to the start of an array in O(n) time and O(1) space.
- Data Structure design problem: query everything in O(1) time.
- Huge file handling: count word occurrences in 1 TB file with 8 GB RAM (MapReduce algorithm was also mentioned in another similar fresher experience).
Round 5: Technical Round-2 with the Director of Engineering
- About projects, failed projects.
- HTTP vs HTTPS, HTTP error codes, User-Agent in HTTP header.
- Behavioral: What to do if asked to use C++ but prefer Python? How to solve a problem independently if manager is busy?
- System deployment considerations for production, types of logs for monitoring.
- "Walk me through your resume."
- "What one thing did you enjoy the most in the college?"
- "What do you do on weekends?"
- "What all parameters would you consider when you decide to use your piece of code into production environment?"
- "What are a few open source organisations you know or have contributed to?"
- "What is MapReduce algorithm?"
- "What is Deadlock? How to avoid it?"
- "How data has been stored inside DBMS?"
- "Why cannot private methods be overridden?"
Round 6: HR Interview
- "Explain work done at one internship."
- "How did you come to know about BrowserStack?"
- "Why BrowserStack?"
- "Do you use GitHub? Do you participate in Competitive Coding competitions?"
- "Anyone project you think you were failing but you envisaged and succeeded in it?"
- "How was your entire day?"
- "What do you think of our interview process?"
- "What is the value proposition of BrowserStack?"
- "How many contributions do you have on Github? Do you enjoy Open Source?"
- "What is your Codechef rating? Do you like competitive programming?"
- "Among the projects listed which is the most interesting project that you have done and why?"
Tips: BrowserStack focuses more on development skills than DSA (except for the online assessment). Machine coding is difficult and unique, so prepare beforehand. MapReduce algorithm is frequently asked.