Thanks for your interest in the Game of Apps developer intern position! This repo contains a list of tasks for you to do, so we can get a gauge of your skill and passion for development.
You're expected to know the basics of the Git development workflow. If you don't know or you want a review, check out this tutorial.
The goal is to submit a pull request that accomplishes the following tasks. While the pull requests are public, don't blindly copy others. The follow up interview will involve questions on your submission.
Fork this repository to begin.
Commit your changes to your fork, then email the link of your fork to [email protected].
Your first challenge is to solve two algorithm questions. You'll be judged based on correctness, performance, and code readability.
Create a function that accepts an array of integers and a target sum. The function will print all pairs of integers in the array whose sum is equal to the target sum. Here's an example:
let testArray = [2, 4, 5, 1, 3, 5, 4]
let targetSum = 6
// Expected pairs are:
// (2, 4)
// (1, 5)
Here's a function signature to start you off:
func findPairs(in array: [Int], withSum sum: Int) {
// your code here
}
Create a function that checks if a string is a palindrome and returns true
or false
. A palindrome is a word that reads the same way even if you read it backwards.
Example palindromes:
- radar
- bob
- asdfdsa
Here's a function signature to start you off:
func isPalindrome(_ word: String) -> Bool {
// your code here
}
Your second challenge is to develop a small app from scratch. Here are the requirements:
- It should show a list of images.
- Tapping on an image should navigate to a new screen that shows the selected picture
-
If you're a bit rusty on your iOS skills, check out this tutorial.
-
A good developer tries to write code that is easy to understand. The industry has a set of best practices that focus on writing easy to maintain code. Here's a set of guidelines on these best practices: Swift Style Guide.