Got a coding challenge where I was supposed to build an application from scratch. App should receive commands for creating a canvas, drawing lines, rectangles and Bucket fill.
I used 1 1/2 day on this.
This was apparently not enough since this was the feedback:
* readme has design discussions
Well, I have to convey my thoughts to you somewhere don’t I?
Is that a MAJOR problem?
* some validation working
* reverse lines/rectangles work
* (some) graphical acceptance tests
* readme has no run instructions
Is that a MAJOR problem?
* easy to cause crash with incomplete/invalid commands: 'C' or 'L -1 -1', 'C 10 -1’
Sorry should have tested for negative values, easy to fix in one place.
* can't refill or fill lines
Is that a MAJOR problem?
* test named: '"App" should "have tests"' with implementation: true should === (true)
* no test coverage apart from acceptance tests (which don't exercise full set of commands)
Is that a MAJOR problem?
* control loop logic intermixed with parsing
* canvas operations return an array of strings instead of the canvas.
Sorry, this is unnecessary since I use toStringArray() later anyway so toStringArray is executed twice.
* sealed class with "getters" used instead of case class
Is that a MAJOR problem?
* no encapsulation of fields or private methods within classes (Canvas/Cell)
Obviously these was major concerns. ALL tests should be done and ALL possible errors should be catched.
I think is is VERY much to demand for a initial coding challenge. Should you put one week of work to be able to talk to the company?