At CodeGround, our recruitment philosophy is simple. Make the recruitment test as closely aligned with the actual job as possible.
The best way to filter candidates for a Software System Architect role is by asking candidates to architect a software system.
You should test for basic coding ability to ensure that the candidates can write code. But, questions like the one below, truly test the candidate’s Software Architecture skills.
Facebook has an array of servers behind a load balancer for handling requests from users connecting via Web, Mobile etc. A logged in Facebook user will be connected to a specific server which is assigned by the Load Balancer. Whenever a logged in user clicks on the ‘like’ button, a log statement is generated in the log file of the corresponding server.
Assume that a new log file is generated from each server after 15 seconds and made available in a shared storage (like Amazon S3).
You need to build a system by which the log files from all Facebook servers are parsed once they are made available. The objective is to create a Dashboard refreshing every 15 seconds that shows the top 100 most liked pages.
How will you design such a system? Please attach a Presentation which details the Architecture of this system that satisfies the requirements stated above.
A reasonably good Software Systems Architect should be able to come up with a presentation answering the sample case detailed above within 3 hours.
CodeGround enables you to hire the best Software Systems Architects for your openings by optimizing the recruitment funnel.
See the Getting Started Guide for more details on creating your own online tests.