I had a one-hour Zoom call with an iOS developer from DoorDash. I was emailed a zip file containing an Xcode project. This project included a README, a JSON sample file, and a struct with a getItemData() function that had three lines of code to load the JSON file from disk.
My task was to deserialize the JSON into native Swift objects and then build a UI that displayed the item as specified, including downloading images from URLs.
I was able to deserialize the JSON into native Swift objects without issue, but I got hung up on creating the UI. Although I have many years of UIKit experience, I have been working with SwiftUI for the past few months. When I tried to switch the project to SwiftUI, I first encountered a deployment target issue. I changed that to iOS 15 but then forgot how to integrate SwiftUI into a UIViewController.
By that time, I decided to create a new SwiftUI project and simply drag the resources into it. Unfortunately, I ran out of time and could not get the UI built.
I feel like many of these Silicon Valley companies conduct interviews but don't actually hire. They seem to be looking for engineers who have memorized what's needed to pass a one-hour coding interview.
While building a simple native iOS app is an improvement over LeetCode problems, I am not a fan of this timed method of evaluating skillsets.
Consume the data API by deserializing into native types.
Use your types to populate a UI as specified.
The following metrics were computed from 6 interview experiences for the DoorDash iOS Developer role in United States.
DoorDash's interview process for their iOS Developer roles in the United States is extremely selective, failing the vast majority of engineers.
Candidates reported having very negative feelings for DoorDash's iOS Developer interview process in United States.