AfricasTalkingTalent / BackendCodeChallengeSeptember2018

Code Challenge for interns looking to join the Africa's Talking Backend team

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

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:

  1. Write a function that takes an int n and returns a list of all prime numbers between 0 and n
  2. Write a function that takes an Int n and returns a List of all the factorials of the numbers between 0 and n
  3. Using Pattern Matching to match a case of List of either of the following types Int, String and Float.
  4. 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)
  5. 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

Submissions later than 1800 HRS EAT on 12th September 2018 will not be considered

About

Code Challenge for interns looking to join the Africa's Talking Backend team