Note: Google can be replaced by any major Tech company. Interviewing at Apple, Facebook, Microsoft, Twitter, Uber etc. will be a similar experience.

I’m an iOS Engineer and I love what I do. Apple sets the bar very high, and other companies set this bar even higher. So I feel like building iOS apps forces us to focus on the very small details (UI, UX, Architecture, Design Pattern). I have a classic “Computer Science” background, which means that some more than 10 years ago; I studied graph traversals, Dynamic Programming, NP-Complete problems… And like 99% of iOS engineers I didn’t use those in the past decade. …


I love GCD, and dispatch_once is a terrific API: You have the guarantee that your code is gonna be executed once & once only, and on top of that with thread-safety.

I’m learning Swift and the other day, I had to deal with NSNumberFormatter. NSFormatter are great but expensive to instantiate, so you should reuse them as much as possible.

So when I started typing NSNumberFormatter, my Obj-C developer mind told me to use dispatch_once.

Image for post
Image for post

I’m greeted with 2 errors:
“Cannot assign to immutable value of type ‘dispatch_once_t’” -> Easy, I’ll just use a var.
“Static properties may only be declared on a type” -> This one is annoying, because I need my variable to be static. …

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store