On iOS interview exercises

Today I saw this Tweet:

It spawned a great discussion on Twitter and thought I’d share my perspective on this.

Although this may seem like a dull exercise to ask an interviewee to do, in my experience I’ve found it to provide a great amount of insight into how the one doing it thinks about solving a problem.

By revieweing this exercise’s deliverable, I can know…

  • How they think about data modeling
    • Are the models structs or classes?
  • How they reason about data flow
    • Did they create a manager for the data layer?
    • Whose responsability is to download the data and parse it?
    • How should changes be bubbled up to the UI?
  • How they feel about using dependencies
    • Did they use Alamofire to consume the API?
    • Did they use a library to parse JSON?
  • How they approach API design
    • Are closures used intellengtly, or at all, where they would become handy?
    • What’s the “no-data” state, nil or []?

I could go on.

What’s best, is that many interesting conversations that provide even more useful information can be spun-off from any of those questions above.

In my experience, I’ve found this very exercise to have a different outcome every time I use it to interview someone.


Oscar Eduardo Cisneros Larios, Sr. iOS Software Engineer

Download PDF version.

+52 312 171 0694 | oscar@swanros.com | @swanros

Oscar is a self-taught iOS Developer with more than 6 years of experience and a passion for education and turning hard technical problems into readable text that anyone can comprehend. Living in Colima, Mexico, Oscar has been working remotely for the past few years for various companies in the U.S., specifically in the San Francisco Bay Area, such as OneLogin, michelada.io, and CloudApp.

As an iOS Developer, Oscar focuses on the app’s core architecture, using his expertise to look into the future, and give the application in question the ability to be resilient to changes that may come down the road.


  • Swift and Objective-C programming for iOS and macOS.
  • Elixir programming, mainly used for web APIs and implementing tooling for iOS and macOS app deployment.
  • Framework-oriented architecture design.
  • Service design and implementation using Elixir/Phoneix.
  • UI/UX design using Sketch.


  • Teaching & Education. Oscar comes from a lineage of teachers that have marked the life of generations in his hometown. He learned from a young age the importance of being up to date on what it is that interest him, and the value of helping others building up knowledge and confidence. One of his goals is to make programming more accessible to Spanish-speaking audiences — to that end, he has done free workshops, written blog posts, and given talks in Spanish about iOS programming and industry best practices. aprendeios.com is his current endeavor in this area.
  • Music. Before settling for Systems Engineering as a major for college, Oscar was seriously considering pursuing a career on music. He learned to play piano at age 6, played guitar through elementary and middle school and settled for drums, which remain his favorite instrument. You can often see Oscar playing air drums or air guitar in while the code is compiling, or whenever a breakdown is about to happen. Oscar apologizes in advance if you’re with him at a public place and a band is playing — he’ll be watching them.
  • Technology. From very early age, he demonstrated a fascination for technologies and its different applications — from small, quirky utility clocks, to phones and software. One of the projects Oscar is the proudest, is an online community he built while on high school that was comprised of a news site and YouTube channel built around Apple news. SwanrosTech, as it was named, took off slowly but steadily, getting almost 10k daily visits to the webpage and more than a million views on YouTube, right before Oscar decided to shut the project down to focus on college.

Notable Experience

Sr. iOS Software Engineer, CloudApp. Oct 2016 — Current.
At CloudApp, Oscar worked on rebuilding the foundation for the CloudApp macOS application, with the goal that the iOS and macOS clients for the service shared a unified code base. One of his main focus was helping the Apple Platforms team to establish standards and best practices across working areas, such as code review, release process, and architecture. Oscar also worked closely with the backend team to create new micro-services with the goal of automating the team’s Continuous Integration and Continuous Delivery goals.

Sr. iOS Software Engineer, michelada.io Apr 2016 — Oct 2016
Oscar joined the michelada.io team to help with some short-term client projects that needed iOS components. Through constant communication and feedback, the michelada.io team was able to cater to company’s clients necessities. Oscar worked closely with the michelada.io team to help clients transform their ideas into working products on iOS devices, guiding them through the idea, design, and implementation processes.

Mobile Software Engineer, OneLogin Mar 2014 — Jul 2015
While working at OneLogin, Oscar rebuilt the iOS application that the company’s clients use to access their secure infrastructure and applications. He also helped design and implement OneLogin’s NAPPS architecture, which enables secure communication and authentication between native applications on both iOS and Android.

Oscar started working professionally as an iOS/web developer in 2013 at a local marketing firm doing apps for local clients. Today, when time permits, Oscar also works with different clients and companies as an aide to help them revamp their mobile offering. These endeavors are often carried on on a per-contract basis. Most of the contract work that Oscar has carried out has to do with taking UI design to implementation and helping review architectural decisions.


Oscar started college at Instituto Tecnológico de Colima with the intention of majoring in Systems Engineering. However, he soon realized that the academic and technical level of the institute’s offering was not what he was expecting, and was not going to help him accomplish his objectives.

Being a natural autodidact learner, Oscar has been focused on learning topics and mastering tools that actually matter to him ever since dropping out of college.

What Oscar looks for in a company

  • A platform to do work that impact people’s lives in a positive way.
  • Working on interesting problems related to his passions.
  • Working with people that are aligned with his vision.
  • For it to enable self growth, both on a personal and professional level.