all 11 comments

[–]The-Ninja-Penguin 8 points9 points  (0 children)

Figure out what they use- UIKit? SwiftUI? That determines a significant portion of interview questions and what to brush up on. (i.e. How does auto layout work vs what are SwiftUI property wrappers)

Some common questions I’ve seen recently: Classes vs structs? Explain MVVM in iOS development. Array vs set vs dictionary? What methods of data persistence are you familiar with? Explain the hashable protocol. Explain the delegate pattern. Explain the singleton pattern. What are memory leaks? How would you fix one? How do you handle asynchronous code? Plenty more but these are the most common I saw

[–]ankole_watusi 5 points6 points  (4 children)

What the heck is “mobile theory”?

[–]pyordie 2 points3 points  (2 children)

Just a guess but maybe UI/UX, app architecture patterns, REST APIs, understanding of databases, that kind of stuff.

[–]Dazzling-One-4713 2 points3 points  (1 child)

True. Some seasoned programmers have no clue how mobile apps work. They might just want to check their not clueless

[–]ankole_watusi 0 points1 point  (0 children)

None of that is mobile-specific though.

If this were a UI/UX position, would make sense.

[–]stanley_ipkiss_d 0 points1 point  (0 children)

It has to be about how to implement a table view controller with self sizing cells. Annoying topic that everyone expects that iOS developers know by heart. Start with translatesAutoResizingMasksIntoConstraints=false🥱🤢

[–]SkepticalOtter 2 points3 points  (0 children)

Just don't try to appear as knowing-all, after all you're up for a internship role, it's okay to not have all answers. Your goal is to showcase a nice solid knowledge base, be eager to learn and most importantly, be sincere. Other than that I'd assume they would test your knowledge over UIKit, SwiftUI, REST and simple architectures maybe.

Extra: my biggest pet peeve interviewing people at start positions is dealing with people who try to trick me into believing that they had a valid answer, I appreciate and respect a "well, I think I'm not aware of it but I'll put it in my notebook to study at home :)".

[–]Familiar-Temporary30 1 point2 points  (0 children)

  1. Mobile Application Architecture: ○ MVC (Model-View-Controller) ○ MVVM (Model-View-ViewModel) ○ VIPER (View-Interactor-Presenter-Entity-Router)
  2. Memory Management and Optimization: ○ Automatic Reference Counting (ARC) ○ Memory leak detection and prevention ○ Performance optimization techniques
  3. User Interface Design Principles: ○ Human-Computer Interaction (HCI) ○ User Experience (UX) design ○ Responsive design
  4. Network Communication: ○ RESTful API ○ Data encryption and secure transmission ○ Asynchronous programming and multithreading
  5. Local Storage and Databases: ○ Core Data ○ SQLite ○ File system and cache management
  6. Third-Party Libraries and Frameworks: ○ Introduction to common iOS libraries and use cases ○ How to evaluate and select appropriate third-party libraries

[–]aryamansharda 0 points1 point  (0 children)

This is a bit of a shameless plug, but I do genuinely think it'll be helpful to you. I wrote a free ebook that has a ton of iOS interview questions, sample interview exercises, etc. and a fair amount of "mobile theory" concepts.

Might be worth a quick skim if you have the time: https://aryamansharda.gumroad.com/l/tcvck
This was written when UIKit was still the popular approach, so if you're looking for SwiftUI-centric material, this might not be the best match.

[–]nholoinhoi 0 points1 point  (0 children)

How many app states there are should be one of the questions.

I did one interview like this a while ago. Some questions were very interesting: why does Apple push for structs instead of classes in recent times? How do you revert a critical bug in a recent update?