iOS Dev Job Interview - Must Know Topics

แชร์
ฝัง
  • เผยแพร่เมื่อ 8 ก.ค. 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.

  • @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!

  • @akankshapakhale2965
    @akankshapakhale2965 11 หลายเดือนก่อน

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

  • @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!

  • @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

  • @ejolsson
    @ejolsson 8 หลายเดือนก่อน +5

    Thanks Sean! Keep up the great work!

    • @seanallen
      @seanallen  8 หลายเดือนก่อน

      Wow, I appreciate the generosity! Thanks!

  • @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!

  • @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!

  • @binhhuynh5005
    @binhhuynh5005 ปีที่แล้ว +3

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

  • @sarathkumarsankar5090
    @sarathkumarsankar5090 ปีที่แล้ว +2

    I am so grateful. thank you, Sean.

    • @seanallen
      @seanallen  ปีที่แล้ว

      You're welcome :)

  • @indianfyre
    @indianfyre ปีที่แล้ว +1

    Amazing resource right here, thanks Sean!

  • @ashok2089
    @ashok2089 9 วันที่ผ่านมา +1

    Thanks Sean, It's helpful!

  • @misran449
    @misran449 ปีที่แล้ว +1

    Man Sean!!! dude thank you!!

    • @seanallen
      @seanallen  ปีที่แล้ว +1

      Happy to help!

  • @nithinyel3836
    @nithinyel3836 ปีที่แล้ว +1

    the most awaited video !!

    • @seanallen
      @seanallen  ปีที่แล้ว

      Hope you enjoy!

  • @dawei84_dev
    @dawei84_dev ปีที่แล้ว +1

    This is awesome, thank you Sean!

    • @seanallen
      @seanallen  ปีที่แล้ว

      Hope it helps!

  • @rafaelfelipe2886
    @rafaelfelipe2886 ปีที่แล้ว +1

    this is gold!!! thnks!!!

    • @seanallen
      @seanallen  ปีที่แล้ว

      Glad you liked it!

  • @hao-bz
    @hao-bz ปีที่แล้ว

    super helpful stuff!!!

  • @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.

  • @TechRagh
    @TechRagh ปีที่แล้ว +1

    Thanks Sean! ❤

    • @seanallen
      @seanallen  ปีที่แล้ว +1

      You're welcome!

  • @theiosdeveloper555
    @theiosdeveloper555 ปีที่แล้ว

    great video, thanks for sharing!!

  • @indianstate14
    @indianstate14 7 หลายเดือนก่อน +1

    This content is Gold ❤

    • @seanallen
      @seanallen  7 หลายเดือนก่อน

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

  • @tracytim
    @tracytim 5 หลายเดือนก่อน +1

    Thanks, Sean. 👍🏼

  • @jasonjackson55
    @jasonjackson55 7 หลายเดือนก่อน +5

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

  • @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?

  • @mateo5677
    @mateo5677 3 หลายเดือนก่อน +1

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

    • @seanallen
      @seanallen  3 หลายเดือนก่อน

      😏

  • @steliostz2661
    @steliostz2661 8 หลายเดือนก่อน +1

    excellent video, thank you!

    • @seanallen
      @seanallen  8 หลายเดือนก่อน

      Glad you liked it!

  • @NomadicDmitry
    @NomadicDmitry ปีที่แล้ว +2

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

    • @seanallen
      @seanallen  ปีที่แล้ว

      Happy to help!

  • @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

  • @rohitozvlogs1617
    @rohitozvlogs1617 4 หลายเดือนก่อน +1

    Just wow! 👏🏻

    • @seanallen
      @seanallen  3 หลายเดือนก่อน

      Glad you liked it :)

  • @akashskumar6389
    @akashskumar6389 4 หลายเดือนก่อน +1

    soooo geateful for creating this compilation

    • @seanallen
      @seanallen  4 หลายเดือนก่อน

      Happy to help!

  • @ask1218
    @ask1218 5 หลายเดือนก่อน +1

    This is amazing

    • @seanallen
      @seanallen  4 หลายเดือนก่อน

      Glad you liked it!

  • @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.

  • @yisamulin5636
    @yisamulin5636 ปีที่แล้ว +1

    Nice vidio❤ thank you very much!

    • @seanallen
      @seanallen  ปีที่แล้ว

      Glad you liked it!

  • @miketechdev8866
    @miketechdev8866 10 หลายเดือนก่อน +1

    great video

    • @seanallen
      @seanallen  10 หลายเดือนก่อน

      Thanks!

  • @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.❤❤

  • @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 😀

  • @viveksehrawat36
    @viveksehrawat36 ปีที่แล้ว +1

    great

  • @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 TH-cam has playback speeds. Glad you enjoyed the video!

  • @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!

  • @recoveryhubapp
    @recoveryhubapp 10 หลายเดือนก่อน

    the BOSS

  • @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 TH-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.

  • @salibhaldar6568
    @salibhaldar6568 7 หลายเดือนก่อน

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

  • @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?

  • @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 ☺️

  • @bruhmoment3731
    @bruhmoment3731 2 หลายเดือนก่อน

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

  • @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.

  • @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!

    • @seanallen
      @seanallen  ปีที่แล้ว +1

      Lol, my dream car.

  • @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]).

  • @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.

  • @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.

  • @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 спасибо Денис 💪

  • @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 6 หลายเดือนก่อน

      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/