Skip to content

Jodel/Jodel-iOS-Challenge

Repository files navigation

Jodel

Hi there! So, you would like to apply to join the Jodel iOS Team? We're honored to have you here!

Your first assignment is to relax. Our goal during the interview process is to get you know you, and for you to get to know us. We want to make it a joyful learning experience for you and for our team. There are no "right answers", programming is all about solving problems through compromises. If you make a mistake, no matter how simple, don't worry, we make them all the time. Pssst... Don't tell anyone, but we use f****ngblocksyntax all the time 😜

Your second assignment is to provide us with some meaty code sample, so we have something to talk about during our delightful discussion. If you already have a project you'd like to show to us, please let us know. If you don't, no problem! We have a quite interesting task for you to solve.

JodelChallenge

JodelChallenge is an app for showing Flickr pictures in a Collection View. We've setup some boilerplate code for you 🙇 Your assignment is to improve the app and make it an enjoyable picture browsing experience. We'll give you some tips, but the requirements and specification are quite open. This directly represents how we work in the iOS team, we have guidelines, but every team member is open to introduce improvements to any area of the app.

Remember, our goal is not to compare and grade the projects, but to get to know you better. We care about the quality, not quantity, we don't want you to waste your precious time.

Interface

We don't "grade" projects based on how much time you've spent designing and polishing UI so don't waste time on that. All we care about is tidiness of the UI: equal margins, logical view hierarchy, logical layout constraints.

Use Auto Layout when possible.

Architecture

• The project should follow the SOLID principles.

• The current boilerplate code has some Objective-C code. You can rewrite it to Swift or keep it as it is.

• Support error scenarios by simply showing an alert view (or some toast view).

• Feel free to use any third-party libraries.

• The project should be very easy to unit test. The project should have at least one unit test.

Requirements

• The feed should be vertical, one picture per row

• Each cell should display the image and the image's title

• The app should implement pagination for the pictures feed

• User should be able to tap the pictures in the feed to preview them in fullscreen

• The app should show loading indicators when the feed is loading

• Main feed should be reloadable by pull to refresh control

Send us your work!

Right click (Ctrl-Click with a single button mouse) on the project's root folder and choose compress. A zip file will be created with the compressed contents of the project folder.

Just send us an email at [email protected] with attached .zip file.

Pssst... here's an amazing style guide for Swift

Good Luck!