I applied online. The process took 1 week. I interviewed at Ramp
Interview
Build an app with a table view that shows 100 cells - each cell should show the amount of time it has been on screen and should keep the value updated (interviewer said as often as the view updates in the system stop watch app).
This involves keeping track of when a cell goes off screen and when it comes back on screen. Additionally, the on screen time should pause when you tap on the cell, and resume when you tap again. There was a stretch goal to implement a pulsating red dot animation the the left of the time on screen label.
This felt very esoteric and trivia-based. From the feedback I received after the interview, seems like the interviewer was expecting me to not make any mistakes at all, and get the code perfect on the first try. In my defense, since the time for the interview was so short (45 mins), instead of trying to google something when I didn't know, I just asked the interviewer instead which he interpreted as me giving up. for eg. I didn't remember which API to use for a Timer object when you don't want the timer to be paused by user interaction, so I just asked the interviewer. IMO this is trivia, iOS developers aren't manually dealing with runloops everyday.
While I enjoyed the challenge of building this app, I don't think this is representative of the kind of day-to-day work that will be expected from this role. So a bit odd that they chose this as an interview.
Interview questions [1]
Question 1
Q. What is a good way to format a TimeInterval object for display?