Taro Logo

iOS Engineer Interview Experience - Tallinn, Estonia

June 1, 2023
Neutral ExperienceNo Offer

Process

My interview process had 5 steps:

  • Initial screening
  • Technical interview
  • Live coding interview
  • Algorithmic interview
  • Team fit interview

In total, it took around one month. In the end, I was rejected with some strange explanations.

It seems like Team Fit was the most important one, so it's a good question why they don't start with it instead of a long technical interviews chain.

Questions

During the technical interview, I was asked about Swift and iOS topics:

  • Generics
  • Generic protocols
  • How Swift Optionals work
  • The difference between closures and functions
  • How memory is allocated for closures
  • Capturing values in closures
  • The difference between structs and classes
  • How memory is allocated for structs and classes, including edge cases (struct in heap, class in stack)

After that, I was shown different code samples and tasks:

  • A DispatchQueue "spaghetti" task (to determine execution order)
  • An execution order task
  • A Unit-Testing sample task (to improve code and create a proper test)
  • A retain cycle task (to find the cycle or prove there were no problems)

During Live Coding, I had a small app to write. The purpose of this app was to parse a local JSON file with geo points and place these points on a MapKit map. The solution needed to be clear, testable, scalable, and support later migration from a local file to a remote data source. Things to consider included architecture and error handling.

During the Algorithmic interview, I was first asked about common Computer Science concepts:

  • What happens when a user inputs a query in a browser and presses Enter. This led to discussions about DNS, the 7 OSI layers, HTTPS/HTTP, TLS, TCP/UDP connections, and JSON/XML.
  • How a HashMap works and its time complexity for adding/getting an element. This led to discussions about hash functions and collisions.
  • OOP, inheritance, and composition (advantages and disadvantages).

The second part was the algorithmic task itself: "You are given an array A of non-negative numbers and a target sum S. Write an efficient function that finds one continuous sub-sequence of elements which sum up to precisely S. The return value should be a pair of array indices or an empty array."

Was this helpful?

Interview Statistics

The following metrics were computed from 1 interview experience for the Bolt iOS Engineer role in Tallinn, Estonia.

Success Rate

0%
Pass Rate

Bolt's interview process for their iOS Engineer roles in Tallinn, Estonia is extremely selective, failing the vast majority of engineers.

Experience Rating

Positive0%
Neutral100%
Negative0%

Candidates reported having mixed feelings for Bolt's iOS Engineer interview process in Tallinn, Estonia.

Bolt Work Experiences