iOS Dev Job Interview - Must Know Topics

Поділитися
Вставка
  • Опубліковано 9 лип 2024
  • I put together a collection of my best iOS Developer job interview topic videos to help you prepare for your interview. It's impossible to know what questions will be asked during an interview, but these topics are VERY commonly asked about:
    Topics covered:
    - Network Calls
    - Classes vs. Structs
    - Generics
    - Closures
    - Filter, Map, Reduce
    - Array vs. Set
    - Unwrapping Optionals
    - Unit Tests
    - Singletons
    - Dependency Injection
    - Delegates & Protocols (UIKit)
    - View Lifecycle (UIKit)
    - Concurrency & Threading
    - ARC & Retain Cycles (UIKit)
    My iOS Dev Courses:
    seanallen.teachable.com/
    Twitter:
    Sean Allen - / seanallen_dev
    Hired.com:
    hired.com/x/1n01g
    Book and learning recommendations that help out the channel if you decide to purchase (Affiliate Links):
    Paul Hudson's Hacking With Swift:
    gumroad.com/a/762098803
    Donny Wals - Combine:
    gumroad.com/a/909014131
    Mark Moeyken’s SwiftUI Books:
    www.bigmountainstudio.com/swiftui-views-book/fzc51
    Objc.io Books (Thinking in SwiftUI & Advanced Swift):
    gumroad.com/a/656585843
    Timestamps:
    0:00 - Network Calls
    24:56 - Classes vs. Structs
    31:22 - Generics
    41:01 - Closures
    54:31 - Filter, Map, Reduce
    1:07:15 - Array vs. Set
    1:15:57 - Unwrapping Optionals
    1:29:18 - Unit Tests
    1:45:56 - Singletons
    1:50:56 - Dependency Injection
    1:56:56 - Delegates & Protocols (UIKit)
    2:06:47 - View Lifecycle (UIKit)
    2:13:49 - Concurrency & Threading
    2:21:12 - ARC & Retain Cycles (UIKit)
    #swift #softwaredeveloper #iosdeveloper
  • Наука та технологія

КОМЕНТАРІ • 121

  • @seanallen
    @seanallen  Рік тому +10

    Go deeper and build apps with my iOS developer courses at seanallen.teachable.com

    • @tb45g
      @tb45g Рік тому

      You should so some more portfolio reviews! They're super helpful, but some of your old ones are for websites that are no longer available (a couple portfolio sites are spam links now).

    • @JustFocus-xs1hw
      @JustFocus-xs1hw 8 місяців тому

      Sean, I have a big interview coming up tomorrow, and this was incredible, thank you so much!
      Would you be open to creating another video in a similar long-form format, that just goes through all of the available UIKit Views and ViewControllers, one-by-one going into detail with how to use them? And likewise, one for SwiftUI and each Views popular viewmodifiers, etc.?
      That would be super awesome to see all in sequence just like this, because then you can absorb the full context of what is available out of the box in each framework, without needing to get too lost in the docs.
      Thanks!

  • @browhocodes
    @browhocodes Рік тому +58

    As a ex-Facebook iOS engineer and content creator myself, I cannot enough of your videos, man. Succinct, informative, engaging. Keep it up brother!💎

    • @seanallen
      @seanallen  Рік тому +3

      I appreciate that! Glad you enjoy the content 😀

    • @clintonagyemangduah2000
      @clintonagyemangduah2000 Рік тому +2

      Bro. Does meta use SwiftUI or Objective-c?

    • @browhocodes
      @browhocodes Рік тому +4

      @@clintonagyemangduah2000 objective-c!

  • @laurentb6563
    @laurentb6563 Рік тому

    Beautiful! just when I am starting to look for a job again! Thank you Sean! After following you for so long I totally trust your insights on this subject :)

  • @mr__khan5251
    @mr__khan5251 10 місяців тому +1

    You are awesome man, you explain things so well.

  • @akankshapakhale2965
    @akankshapakhale2965 11 місяців тому

    Hey Sean video really helped me to understand the swift concept deeper and really appreciate your hard work for spreading knowledge

  • @wizard19900509
    @wizard19900509 6 місяців тому +3

    Great video! I used this to refresh myself before an iOS interview. One small issue I found is that the the delegate part, you didn't add weak to the delegate example. This could lead to reference cycle in classes (super easy mistake for beginners).

  • @samdiablo0
    @samdiablo0 10 місяців тому +2

    I have an interview coming up and this was exactly what I was looking for! Thank you for this detailed video!

  • @user-pu3gk1sy7r
    @user-pu3gk1sy7r 4 місяці тому +1

    I am glad I found this video in my life! The explanation of all the network calls async & away in one file was the peak! I watched numerous videos with different folders for each of them but the way you explained in on file I was able to understand after a long time.

    • @seanallen
      @seanallen  3 місяці тому

      Happy to hear it was helpful and you finally understood those network calls!

  • @ashok2089
    @ashok2089 10 днів тому +1

    Thanks Sean, It's helpful!

  • @jasongoodrow949
    @jasongoodrow949 5 місяців тому +1

    This is excellent! Just getting my feet wet and had figured out a bunch by typing but this vid really summed up and explained really clearly and efficiently. Good work!

    • @seanallen
      @seanallen  5 місяців тому

      Glad it was helpful!

  • @ejolsson
    @ejolsson 8 місяців тому +5

    Thanks Sean! Keep up the great work!

    • @seanallen
      @seanallen  8 місяців тому

      Wow, I appreciate the generosity! Thanks!

  • @nithinyel3836
    @nithinyel3836 Рік тому +1

    the most awaited video !!

  • @dk-sky3820
    @dk-sky3820 11 місяців тому +14

    I cannot express enough my gratitude for this video Sean.
    It is all the information I read over and over in million articles before all my interviews put into one concise video with demonstration that sticks in your mind.
    Now I don't even need to read my saved links anymore to refresh my mind.
    This video helped me so much before the interview today. I don't know the results yet but I already felt so much better during it because of the confidence this information gave me.
    Thank you!

    • @seanallen
      @seanallen  11 місяців тому +2

      Great timing then. Best of luck on the interview!

    • @favoritetroll9774
      @favoritetroll9774 2 місяці тому

      share your saved links just in case it can be useful to others like me etc

  • @binhhuynh5005
    @binhhuynh5005 Рік тому +3

    Nice video. I would add a bit on sync vs async in Concurrency session

  • @theiosdeveloper555
    @theiosdeveloper555 Рік тому

    great video, thanks for sharing!!

  • @sarathkumarsankar5090
    @sarathkumarsankar5090 Рік тому +2

    I am so grateful. thank you, Sean.

  • @TtnKolonyasi
    @TtnKolonyasi 2 місяці тому +1

    Thanks for being a great teacher and idol Sean. Learned a lot from your vids and landed a job. Working 1+ year and its time for a change so I’m having a technical interview tomorrow for a bigger, better company. So here I am once again learning from you 😁

    • @seanallen
      @seanallen  2 місяці тому

      I appreciate the kind words :). Best of luck in the interview!

  • @indianfyre
    @indianfyre Рік тому +1

    Amazing resource right here, thanks Sean!

  • @hao-bz
    @hao-bz Рік тому

    super helpful stuff!!!

  • @jasonjackson55
    @jasonjackson55 7 місяців тому +5

    41:06 who are we @escaping from 😂 this made my day 😂

  • @dawei84_dev
    @dawei84_dev Рік тому +1

    This is awesome, thank you Sean!

  • @mateo5677
    @mateo5677 3 місяці тому +1

    Sean subtlety flexing his Porsche 911 in his teachings is iconic 😅

  • @misran449
    @misran449 Рік тому +1

    Man Sean!!! dude thank you!!

  • @tracytim
    @tracytim 5 місяців тому +1

    Thanks, Sean. 👍🏼

  • @vicetbeki3734
    @vicetbeki3734 Рік тому

    Everything is great , you really know what you do , thanks for helping us 👌🏾
    I have a question , if I want to create an App switcher with SWIFTUI , what knowledge do I need , I’d like to know which course should I study in order to build it , thanks

  • @rafaelfelipe2886
    @rafaelfelipe2886 Рік тому +1

    this is gold!!! thnks!!!

  • @akashskumar6389
    @akashskumar6389 4 місяці тому +1

    soooo geateful for creating this compilation

  • @indianstate14
    @indianstate14 7 місяців тому +1

    This content is Gold ❤

    • @seanallen
      @seanallen  7 місяців тому

      Thanks for the kind words and I'm glad you enjoy it!

  • @TechRagh
    @TechRagh Рік тому +1

    Thanks Sean! ❤

  • @steliostz2661
    @steliostz2661 8 місяців тому +1

    excellent video, thank you!

    • @seanallen
      @seanallen  8 місяців тому

      Glad you liked it!

  • @rohitozvlogs1617
    @rohitozvlogs1617 4 місяці тому +1

    Just wow! 👏🏻

    • @seanallen
      @seanallen  3 місяці тому

      Glad you liked it :)

  • @clon-e6096
    @clon-e6096 Рік тому

    I'm a self-taught developer and to be honest I didn't even called for an interview once because I graduated from Business :) Also, I live in Turkey and there are like 20 job posts and they all look for seniors.

  • @adhamraouf6656
    @adhamraouf6656 6 місяців тому +1

    Hello Pro,
    Thank you for your awesome videos; I've learned a lot from them. If you could do us a favor and explain what we should focus on in problem-solving questions during interviews, we would be very thankful.❤❤

  • @yisamulin5636
    @yisamulin5636 Рік тому +1

    Nice vidio❤ thank you very much!

  • @NomadicDmitry
    @NomadicDmitry Рік тому +2

    I'm a Test Engineer, but I'm really interested into the iOS. Thanks!

  • @tommytexter4054
    @tommytexter4054 10 місяців тому +5

    I am having a iOS dev interview next Monday. I have been watching your videos this entire weekend! Hope I can do great tmr !🎉

    • @seanallen
      @seanallen  10 місяців тому

      Best of luck! Let me know how it goes.

    • @shubham-itachi
      @shubham-itachi 8 місяців тому

      Did it go well bro

    • @tommytexter4054
      @tommytexter4054 8 місяців тому +2

      @@shubham-itachi nah, the interviewer was a jerk but i am having another next week

    • @shubham-itachi
      @shubham-itachi 8 місяців тому

      @@tommytexter4054 Bro you learned iOS swift development so is Mac mini m2 16/256gb enough for hardcore xcode development. I get it in $800 education discount. Can I buy

    • @danielniels22
      @danielniels22 4 місяці тому

      @@tommytexter4054 how were all your interviews going? did you land an ios engineer role?

  • @recoveryhubapp
    @recoveryhubapp 11 місяців тому

    the BOSS

  • @LexicalNoScope
    @LexicalNoScope Рік тому +1

    Thank you so much. This is incredibly helpful. I’ve been on the fence about getting an iOS dev job or web dev so I have been learning both (SwiftUI and Next js mainly). There are basically 0 places hiring for either that aren’t government jobs within an hour drive of me so it would have to be remote. Does anyone who has experience with both (remote) have any advice?

    • @seanallen
      @seanallen  Рік тому

      Happy to hear it's helpful. Hope you enjoy it!

  • @ask1218
    @ask1218 5 місяців тому +1

    This is amazing

    • @seanallen
      @seanallen  5 місяців тому

      Glad you liked it!

  • @salibhaldar6568
    @salibhaldar6568 7 місяців тому

    While Creating Generic Fetch Data Function, what’s the use of “For” parameter? It was not used inside.

  • @zapakitul
    @zapakitul Рік тому +3

    I am not at all interested in iOS specific programming. I have a big distaste for modern programming languages (swift, rust, etc). Even so, your videos are really high value and full of knowledge to keep a 00’s coder up-to-date with the modern standards and practices.
    I wish I had access to resources like yours when I started programming in C89 or even C# back in the day. Thank you for teaching the next generation with so much care and detail.

    • @seanallen
      @seanallen  Рік тому +1

      Happy to hear you enjoy the content even though you aren't into iOS Dev 😀

  • @bruhmoment3731
    @bruhmoment3731 2 місяці тому

    how long until prompting becomes an important part of coding interviews?

  • @miketechdev8866
    @miketechdev8866 10 місяців тому +1

    great video

  • @karlostj4683
    @karlostj4683 Рік тому

    Here's one problem with converting incoming JSON from "snake case" to "camel case": Someone else looking to find where the REST API-based JSON "avatar_url" shows up in your Swift code won't find it and won't know to search for "avatarUrl" - and vice versa. You're converting from one arbitrary readability standard (either Python or JS) to another arbitrary readability standard (Swift). And yes, they are both arbitrary. This becomes a Maintainability issue: After you win Powerball and are never heard from again, someone else is going to have to be able to understand your code without you around to answer questions about it.

  • @ghreacts
    @ghreacts 6 місяців тому

    I have a quick question. It has been 6 months since you posted but i hope you would see this. In the generic example, if i was to use func createName(person1: Name, person2: Name){} ---> and i create a protocol for the type NAMe, will it still
    work?

  • @SlavisWolf
    @SlavisWolf 8 місяців тому +1

    Thanks for your content, I'm preparing for applying to english jobs and I find this video very handy. I am not an iOS beginner, I've been working in iOS programing the last five years but your video is being very useful to review some concepts. The only drawback I'd point out is that you speak very fast for me because I'm a non native english speaker and it's dificult keep up with your rhythm. But that is really my fault not yours 🤣 🤣

    • @seanallen
      @seanallen  8 місяців тому +1

      I've been told I speak fast and I've actually slowed down a lot over the years, lol. It's something I work on but can always improve. Luckily UA-cam has playback speeds. Glad you enjoyed the video!

  • @viveksehrawat36
    @viveksehrawat36 Рік тому +1

    great

  • @Tyheir
    @Tyheir 8 місяців тому

    Why does a network call take so many lines of code

  • @user-yl5ni9bs5g
    @user-yl5ni9bs5g Рік тому +1

    Me: I should stop wasting time on videos about sports cars and watch some useful tutorial instead
    Some useful tutorial: Porsche 911 GT3
    Thanks for your work, Sean!

  • @shreyanshmishra6613
    @shreyanshmishra6613 Рік тому

    Network calls are very intuitive if you have fundamental knowledge of how client server works. Its a cake walk for fullstack devs.

    • @seanallen
      @seanallen  Рік тому +1

      That's a pretty big "if" tho.

    • @shreyanshmishra6613
      @shreyanshmishra6613 Рік тому

      @@seanallen I don't know man. Knowing fundamentals are pretty essential to becoming a better developer. Understanding how computers work or communicate on a high level is necessary.

    • @seanallen
      @seanallen  Рік тому +1

      I didn't say it wasn't necessary. I was pointing out that most people watching this video and learning about network calls in Swift on UA-cam are not fullstack devs with a fundamental knowledge of client/servers.

    • @shreyanshmishra6613
      @shreyanshmishra6613 Рік тому

      @@seanallen You are doing a great job here. Love your videos. I'm just saying, if you are talking network calls you can also talk about client/servers. You said network calls are tough. But is that true? No. Will your audience find it tough if they didn't know the basics already? Yes. I don't know wheather you have videos teaching fundamentals but if you don't that's a gap to fill.
      Most people start by becoming a frameworkers, not engineers. Instead of learning UIkit, SwiftUi, jetpack, flutter, react, express, learn the principles of programming. Become software devs not ios devs.

  • @user-yd9xy3rb4x
    @user-yd9xy3rb4x 10 місяців тому

    Looks like a list for interns/juniors if you get rid of generics

    • @seanallen
      @seanallen  10 місяців тому +2

      That because it is. It’s meant to help people get their first iOS dev job.

    • @user-yd9xy3rb4x
      @user-yd9xy3rb4x 10 місяців тому

      @@seanallen that explains it ☺️

  • @ViktorJenei
    @ViktorJenei 11 місяців тому

    Nice collection of topics. However, I would have added a local storage related topic too. As an interviewer myself, it's a very important topic. (UserDefaults, KeyChain, File System usage and DB basics [coredata or even realm]).

  • @kstackz8249
    @kstackz8249 Рік тому

    Do you think CI/CD, jenkins, etc is needed? or a plus

    • @user-yd9xy3rb4x
      @user-yd9xy3rb4x 10 місяців тому

      A huge plus for a senior, even though it depends on a team you work on.

  • @spikesagal
    @spikesagal 8 місяців тому

    Are you sure that lookup complexity for Array is O(n)? It's O(1) in pretty much every language I've learned. In languages that have true arrays (like Java), it's just a memory pointer with total size and a block size. If you look up an element at n, it's address is just (array address + (n * block size)), which is O(1).

    • @spikesagal
      @spikesagal 8 місяців тому +2

      Oh nm I think I know what you meant: look up by value, not by index.

  • @nickpavlov4012
    @nickpavlov4012 Рік тому +1

    Hey Sean, please can you tell us is it possible to get a job today with only SwiftUI or you still have to know UIKit? Please give us an answer 🙏

    • @seanallen
      @seanallen  Рік тому +1

      Yes, it is possible. More of the jobs will be in UIKit, so it may be a little more difficult at this current time. But over time, SwiftUI will become more and more dominant.

    • @nickpavlov4012
      @nickpavlov4012 Рік тому

      @@seanallen Thank you so much for quick response!
      DO you offer private lessons or to help prepare for interview?

    • @seanallen
      @seanallen  Рік тому

      I don't outwardly offer private lessons but if someone asks and my schedule isn't crazy at the time, then I usually do it. Shoot me an email or a DM on twitter and we can discuss.

    • @user-yd9xy3rb4x
      @user-yd9xy3rb4x 10 місяців тому

      Just learn both, swiftui is super unstable for big projects it has a lot of bugs and it’s partly UIKit under the hood

    • @nickpavlov4012
      @nickpavlov4012 10 місяців тому

      @@user-yd9xy3rb4x спасибо Денис 💪

  • @kav04
    @kav04 6 місяців тому

    its now a ioS dev interview preparations , these are trivial tutorials

    • @seanallen
      @seanallen  6 місяців тому +1

      Disagree. These are fundamental topics & concepts that are always asked about in Jr. iOS dev interviews.

  • @dominicmm6
    @dominicmm6 Рік тому +1

    Combine videos please🙏🏼Edit: Buying interview course next week

    • @seanallen
      @seanallen  Рік тому

      Hey Dom! Hope you enjoy the job interview course! Combine seems to be a framework that Apple is leaving behind so I don't have plans create content about it.

    • @dominicmm6
      @dominicmm6 Рік тому +1

      @@seanallen good to know thanks!

    • @user-yd9xy3rb4x
      @user-yd9xy3rb4x 10 місяців тому

      @@seanallen why do you think that they are leaving it behind??? SwiftUI uses it a lot. It’s faster than RXSwift. I don’t think they are leaving it.

  • @Welcome_to_real_life_
    @Welcome_to_real_life_ 9 місяців тому

    1k . like is from me.

  • @user-lv8jm7bv9w
    @user-lv8jm7bv9w Рік тому +2

    To be honest, these are so simple that nobody even asks in China.

    • @link123triFoRce
      @link123triFoRce Рік тому +1

      What do they ask in China?

    • @user-yd9xy3rb4x
      @user-yd9xy3rb4x 10 місяців тому +1

      Agree.

    • @user-lv8jm7bv9w
      @user-lv8jm7bv9w 7 місяців тому

      such as, the source code of runtime(gdc, weak reference...), crash report, memory monitor, system design @@link123triFoRce

    • @kav04
      @kav04 6 місяців тому

      agree, primitive questions. useless for real iOS dev interview

  • @salibhaldar6568
    @salibhaldar6568 7 місяців тому

    While Creating Generic Fetch Data Function, what’s the use of “For” parameter? It was not used inside.

    • @seanallen
      @seanallen  7 місяців тому

      That's an argument label. It just helps with readability of the function at the call site, it's not used inside the function. You can read more about them here -docs.swift.org/swift-book/documentation/the-swift-programming-language/functions/