Skip to content
 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

11 Commits
 
 
 
 

Repository files navigation

Haiilo - Code Challenge

Position: iOS Developer

We're glad that you're considering a position here at Haiilo. Thank you for taking this code challenge with us.

About the app

  • It is working meaning It compiles and the unit tests pass.
  • The App loads Posts and Users from a sample data source on the internet
  • The UI is built using SwiftUI

The challenge

  • This app is purposely badly implemented and it has many quality and performance problems.

Your task

  • Find problems in the code or test quality.
  • Think about code smells "Smells are certain structures in the code that indicate violation of fundamental design principles and negatively impact design quality".
  • Modify the code or test to improve these problems.

What you can do

  • Modify, create or delete new files, variables or functions.
  • Modify, create or delete new test files or test cases.
  • Modify, create or delete new UI files.
  • Use the internet anytime to consult language syntax and documentation.
  • You can also add new libraries to show your knowledge but don't rely heavily on them

Deliverable

  • We need you to submit a PR with your proposed changes to make the app better.
  • Please also seend us an email with a short message explaining the reasoning of your changes.

Notes

  • We recomend to dedicate no more than 2 coding sessions 1-2h each for the challenge
  • We also recomend to not be extensive trying to catch all the pitfalls. Instead focus on showing examples on different coding areas or a coding area you are passionate and expert.
  • We like code that is simple, but simple is different from easy.
  • Keep in mind the SOLID principles when doing the project.
  • Testing is very important for us. Even if you don't write a single test (for instance, because of time constraints), your app should be easy to test.
  • Error scenarios should be taken into consideration and it should be easy to add them, even if you don't explicitly handle them.
  • You can use any third-party libraries you wish, but be prepared to justify why you did so (don't forget that we want to evaluate YOUR skills). If so, please use a dependency manager.
  • Be consistent in your code. We advise using something like GitHub's Swift style guide while doing the code changes. It's absolutely fine to use any other style, as long as you are consistent.

About

Code challenge for iOS positions.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages