Awesome
Backend Code Challenge
This challenge is due at 1800 HRS EAT on 12th September 2018
Simple Unchanging Rules
The code challenge is and will always be judged using the following criteria:
- A Correct fork, branch and pull request
- Using the GitHub Pull Request Time Stamp and correct code quality & structure, the first developer whose code runs successfully wins
- Code quality and structure will be evaluated
- The order for pull requests will be followed, first come first win basis!
- Do not share any code that you cannot opensource on the Git Repository as its open source and Africa's Talking will not be liable for any breach of intellectual property (if any) once shared on the platform.
Terms and Conditions
You can participate on as many challenges as you wish:
- Do not share any code that you cannot opensource on the Git Repository as its open source and Africa's Talking will not be liable for any breach of intellectual property (if any) once shared on the platform.
- Code Challenges are time bound - the time restriction is specified on the challenge
- Additional rules MAY be provided on the code challenge and will vary for each challenge
- You are free to use all manner of tools
- Successive interviews for projects MAY be run to satisfy participating Africa's Talking Partners
Code Challenge Bounty:
- A chance to work with some of the most brilliant minds in Africa
Task
In this code challenge you will be required to work on several challenges:
- Write a function that takes an int n and returns a list of all prime numbers between 0 and n
- Write a function that takes an Int n and returns a List of all the factorials of the numbers between 0 and n
- Using Pattern Matching to match a case of List of either of the following types Int, String and Float.
- Using scala's Regex expression pattern find whether a String "7th floor Galana plaza, Kilimani" contains a Integer. (your function should return Some(7) as the result)
- Write a case class Person(name: String, age: Int) that enforce the age value must be a positive value.
Working on the Code Challenge
1.Fork the code challenge repository provided.
2.Make a topic branch. In your github form, keep the master branch clean. When you create a branch, it essentially will be a copy of the master.
Pull all changes, make sure your repository is up to date
$ cd BackendCodeChallengeSeptember2018
$ git pull origin master
Create a new branch as follows-> git checkout -b [your_phone_number], e.g.
$ git checkout -b 25472XXXXXXX master
See all branches created
$ git branch
* 25472XXXXXXX
master
Push the new branch to github
$ git push origin -u 25472XXXXXXX
3.Make changes to the fork following the Code Challenge provided.
4.Commit the changes to your fork.
5.Make a pull request to the BackendCodeChallengeSeptember2018 Repo.
Get Support from Africa's Talking
In case you have any questions, reach out Roina Ochieng or Anthony Kiplimo