Applied for a role online.
Heard back from a recruiter 1 week later regarding the position.
This was followed by an explanation about an online coding quiz.
The coding quiz, as of March 2017, consists of implementing a Battleship game in a pre-made Rails application. The effort is timed (2 hours maximum).
While the job application stated GitHub was open to hiring software engineers unfamiliar with Rails, the requirement of using Rails in the coding quiz proved otherwise.
For this coding challenge, you'll build a simplified version of Battleship. You'll have 3 ships that will be placed on a 10 by 10 grid, which is the battleground. Each cell in the battleground is identified by its space on an x,y axis, with [0,0] being the cell in the bottom-left corner.
Each ship is 1 cell wide and 3 cells long. On initial placement, each ship is oriented vertically.
To initialize the playing field, you'll receive a 2-dimensional array where each element in the array contains the x,y coordinates of each ship's topmost cell.
Your game interface will be a basic HTTP API. You should assume that you are implementing a spec that has already been published to clients, and they will use the spec to learn how to interact with the game.
We want you to flesh out the provided BattleshipsController so that the create action accepts a 2-dimensional array (represented as a string) that contains the topmost cell coordinates of ships to initialize the playing board.
The following metrics were computed from 4 interview experiences for the GitHub Senior Software Engineer role in San Francisco, California.
GitHub's interview process for their Senior Software Engineer roles in San Francisco, California is very selective, failing most engineers who go through it.
Candidates reported having mixed feelings for GitHub's Senior Software Engineer interview process in San Francisco, California.