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.
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. …