Skip to content
A tech test that any potential applicants should complete and return.
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Type Name Latest commit message Commit time
Failed to load latest commit information.

Frog Developer Tech Test

Thanks for your interest in applying to join Frog's development department. To try and gauge your technical level in relation to our existing development team, we'd like you to carry out the following technical test in either PHP or Javascript: the choice is yours, based on whichever you'd feel more comfortable with.

If you already have a portfolio of work where code sources are available (such as your own Github/Bitbucket profile) then you do not need to do this test to support your application: this test is for those people who do not have work to show us already.

Once you're done, send us a link to your work - whether this is a fork, hosted on your own server, or a sandboxed online version (like jsfiddle or jsbin) - but please note that we would like to see the source code, so this should be made available if hosted.

The Exercise

The exercise within should not take you any longer than an hour.

Within both versions, there are skeleton classes to model a Pond, which is to contain Frogs. Initially, there will be two Frogs in the pond: a male named Frank, and a female named Georgia.

Assuming that this forms part of an existing wider framework, extend these models in such a way so that:

  • New Frogs can move into the Pond
  • Frogs can die
  • Frogs can breed with each other, to allow new Frogs to be born

In the case of the Javascript version, these actions should be attached to the buttons provided. In the case of the PHP version, please duplicate the example.php file as many times as you need in order to fully demonstrate any combinations of actions you wish within the middle section.

Please also submit with your code a list of assumptions. This can either be an accompanying .txt file, or within a commented section of code within your submission.

If you complete these actions, feel free to extend the exercise as far as you wish.

Things to note

  • Please read all of the instructions and act accordingly.
  • Don't overthink, but don't underestimate, the task.
  • Yes, the instructions are brief and open to a great deal of interpretation. That's on purpose.
  • Code you have written to debug is interesting to us, but please try to isolate it. ie. Show us your workings!
  • Writing test cases, pseudo- or otherwise, is a Good Thing.
  • Be prepared to discuss and justify decisions you have made during this test.
  • If you do enough on this test to progress to the next stage, we'll discuss what you've done.
You can’t perform that action at this time.