BrowserStack Interview Experience – Senior Software Engineer
Round 1 – On-site:
They called me directly for on-site round.
There were two assignments to be solved – one before lunch and one after it. Each assignment was of 2 hours.
- Implement a simple web service that allows one to interact with two web-browsers, f viz., Google Chrome and Mozilla Firefox. First browser can start other browser with a URL, stop it, cleanup cache, history, etc. and get the current active tab (assume one window). RESTful web service was to be implemented.
- Start: http://<server>/start?browser=chrome&url=http://example.com should start Google Chrome and open http://example.com in the same.
- Stop: http://<server>/stop?browser=<browser> should stop the given browser if it is running.
- Cleanup: http://<server>/cleanup?browser=<browser> should clean up the browsing session for the given browser if it has been stopped.
- Get Active Tab: http://<server>/geturl?browser=<browser> should get the current active tab URL for the given browser.
Implement a log watching solution (similar to tailf command of Linux) but log will be on remote. Use WebSockets for this. So basically, you have to implement tailf command on server and clients will connect to server. Initially client will see last 10 lines of the log. Then as the log gets updated, the client should see updates without refreshing the page (here websockets come into play).
The assignments were difficult for those who haven’t worked with technologies which are required. They allow to use net, so one can try looking up.
I got rejection mail two days later.