DevChat: Top 20 iOS Interview Questions

Video Statistics and Information

Video
Captions Word Cloud
Reddit Comments
Captions
well it says we're live ah it's just the key to the youtube link to actually view it is not working so we can just hang out and talk to ourselves yeah until it says more than 0 viewers we're live so you probably don't want to just sit here live because it'll all get published later um well I'd I want to be here for when it starts if it ever gets up and running here you guys see my new shirt Evan I got one for you oh and by the way this this Bella canvas is amazing these are the shirts that like our super form-fitting and like we've really got a good quality shirt now awesome that's dope yeah glad they came out Evan gets one and I don't get along um well they were supposed to be for the udemy conference I do have an extra one for you though I don't even know if I want it anymore yeah he got it extra buff though so you're the only one that can fit it anyways they always put Nate's quads enough okay we have 24 viewers now hey everyone for those of you who are watching I don't know how you got in here but YouTube is down for us over here in California at least but you're here so we're gonna assume we're gonna assume that everything's working so Evan do you think we should wait a few more minutes or get get the show rolling let's wait 1 to 2 more minutes I'm just getting set up here yeah and yeah then we'll go ahead get started are we posting this link anywhere we're just gonna sit here in awkward silence yeah yeah you know Evan when I first saw this like obviously it's a comment but when I actually really thought about it this is actually like in Swift you know you can use emojis so if this was like a dev slopes Mountain emoji and DevOps would be a real comment it would like actually work in the compiler ooh would that be cool uh-huh so like when like you're saying like when you're typing and it like lights up you can click it and be like hypothetically if there was a Unicode character for it but yeah that's cool for those who are watching our about to get started here with the top-20 iowa's interview questions and answers but like I said just a few minutes ago YouTube is down at least for us here in California so that's really interesting but we'll get started here anyway Gary asks how does it get one of the new dev slope shirts they're actually on our website coder swag comm and you can buy them they're pretty cool there's other ones too yeah I got mountains one with double mountains oh cool and then oh this is a really cool one it's a white white one but it's like a it's like a code like bracket comment thing which is kind of cool as well - very cool they come in different colors different colors yeah let's try this a YouTube page one more time and YouTube is up so YouTube is back up everything taken care of Jason good okay YouTube's up so welcome everybody YouTube's back in business and Evan how are you doing over there I am good I'm ready to go let me go ahead and share my screen okay so this is what we're gonna do today it's gonna be really casual discussion but we're gonna we're gonna go over the 20 top ios interview questions and of course there are more questions than we're going to talk about today infinite amount more but these are some common questions that you'll get in interviews and what i want you to do as your fall along if you're an iOS developer is I want you to try and get the answer right okay mark down every time we ask the question I want you to try and guess it and if you get it right you know mark it down as correct or incorrect on the paper on your computer and then at the end you can calculate your score and see how see how well you did so um it's gonna be really cool huh yeah Gary's like a code bracket common thing he doesn't like how I describe the shirt all right so I'm gonna present Evon screen to everybody hi dev squad yo oh yeah let me get let me post this video in discord real quick Jake Jake already took care of it all right awesome awesome awesome cool so welcome again the top 20 iOS interview questions and by the way if you like this let us know we'll do more of these with different subjects and then maybe even some whiteboarding algorithms things like that as well too as time goes by we'll see how this one goes so um Evan so without further adieu oh okay yeah um so question number one explain what lazy stored properties are and when they're useful let's think about this for a second explain what lazy stored properties are and when they are useful okay and before we go on to the answer what I'm gonna do is I'm going to ask Jay Kapoor I'll answer myself these questions to see what his what his answer would be in an in actual interview and so Jacob why don't you go ahead and try and answer this question oh I've put these together this morning and I don't even remember what the real answers are you don't that's good answer what the real answer would be so lazy stored property would be like when you first initialize a VC that variable might not actually have a set property yet it could be set asynchrony or it could be set basically it could be nil until that VC or that anything until that view is loaded is like a it won't hold a strong reference to it either so when you leave it it doesn't create like a memory league okay so it's kind of like it's kind of like a weak reference except it's not actually loaded it's loaded lazily so it's a weak reference that's that's loaded the moment that it's actually needed like when the viewcontroller comes in the memory or or something like that is that what you're saying yeah cool cool Evan the answer the answer lazy stored properties are used for when a property whose initial values is not set until the first time it is used you can declare a lazy store property by writing the lazy modifier before it's declaration lazy properties are useful when the initial value for a property is reliant on outside factors whose values are unknown very cool now I will say discussion part of this as an iOS developer I think I've only ever used the lazy property modifier like once like ever feel like it's one of those get your questions you have to be prepared for things like this yeah yeah but let me say one more thing about this you know a good use case is when you have an app that is using tons of memory okay tons and tons of memory and you want to save every bit of memory that you can a lazy property would probably be good for that because it's only going to be initialized the moment that it's actually used which which is very which is very like I know it's really minut like managing memory like that but doing that a lot on a memory intensive app could help increase performance if you're having performance issues so cool next question awesome number to list out what the control transfer statements what the control transfer statements using Swift hold on list out what the control transfer statements using so I'm not sure is this weird at this funny but this is like like what a return would be or a break statement oh okay so list out what different control statements are used in Swift no interesting that's really interesting okay so okay we got a return let's see we got a I've seen the two key ones are return and break okay um how about ooh how about is there continuing Swift I can't remember it is okay so continue Wow there's one more one more okay hello so there's continued and repeat no while no that's a hmm do know they got rid of repeat here I think about it this way what if you had a switch statement oh and it's two criteria yeah default I'll fall through thought through default yeah well default would be if it doesn't hit any of the cases oh wait are you really are you work called fall through that you can write in Swift yeah I have never used it but I looked it up today and learned all about it that's really cool when when would you use that Jacob thought through let's pretend like you have a switch statement and you you're come your variable could match two of the cases right okay and you want to hit every case you could possibly match instead of just hitting the first one and then breaking out of it so you would hit the first one that you could fall through and it could continue checking cases okay awesome well that's good to know by the way for those of you who are actually in an interview this dialogue that means Jacob just had is it's very important for you to have with your interviewer they would be very impressed by your questioning and wanting to understand it so it's not about getting yes or right it's also about just really having a desire to learn and so I think an employer would have been very impressed having a dialog like this if you didn't know what the word fall-through was so and they also like it's like a pride thing like oh I know something that the interviewer doesn't so I can be their mentor and so when you when you don't know something and then you ask them they have a sense of pride like oh let me let me show you and then they like you so next question nice question 3 what is optional chaining ooh let me see if I can answer this these are good questions because it's like a really formal right so optional chaining well that would be basically let's say I have let's say I have a a class an optional an optional object of a type class let's say of type whatever type it is and I want to call a function that returns an optional value and I want to use that optional value you know it might it might be my class question mark dot you know my function parentheses question mark dot the value so basically I could be wrong but it's it's the notion of going through you basically accessing or attempting to access different optionals with these with the chain more or less and if one fails the whole thing fails and returns a nil of some kind what do you think Jacob I would agree with you okay so what's the answer all right optional chaining is a process of querying and calling properties multiple queries can be chained together and if any link in the chain is Neil then the entire chain fails yes all right cool what collection types are available in Swift ooh Nathan that's it let's make Nathan answer this Nathan come here boy okay Nate so Nate is our new junior iOS developer and what collection types are available in Swift what collection types mm-hmm it's it's not a trick question no but I probably just okay we'll see it use the formal way don't you sure you have so you have regular types data types like an int or a boolean so it likes a collection type like a dictionary dictionaries one array arrays the second one what else would it be you numeration or not ooh ooh I'm only aware of the the two you just said well there's a third one but there's a third the third one come on guys a set oh yeah set tuple oh is that one no I don't even know like it could be is a tuple of collection type somebody look it up it go to the swift look and look up the tuple and and see if it's a collection type I'm really curious I know there's a set and array in a dictionary is it at all we're all learning something today Swift book yeah let's see what the official word on a tuple is no one says a tuple is not a collection it's probably just a variable which it are you know it could be air will be it's a type it's a tight we know that or go to the collection types in the book and see see what's in a like that's about oh yeah so we're currently debating if there's more than three we have array dictionary and set but is there any more collection types in Swift we know there's multiple types of objective-c there's NS dictionary in this mutable dictionary and it's array and this mutable array NS set is there an NS mutable set probably probably what do you see Jacob all right I am array set and dictionary is edit I think that's it Jacob that's it okay array and dictionary alright question five question what are floating point numbers and what are the types of floating and what are the types of floating number in Swift what do you mean what are the types of what are the types of floating number in Swift so should I just start answering it yeah why don't you answer this question Jacob what are floating-point numbers and what are the types of floating numbers in Swift so a floating-point number is anything that is you know more it's more than an integer it has you know decimal it has fractions of a number right okay and the types of floating types would be a double and a float and a double is anything that's 64-bit and then a float would be 32-bit and here's another question in Swift what is the default float type floating-point number type is it a float or a double I believe it's a asking me asking you or anybody but yeah I believe it's a double it is a double it always defaults to double when using floating point numbers it always and in the Swift book it claims that you know swift manages its memory very well and so it the optimizations over using a smaller a smaller bit doesn't make a difference but you can use different float types like just like you can use an int 32 or you know in 64 you can do similar things but it's always a double by default cool floating numbers are numbers with fractional component 3.125 negative two point eight two one floating point types can represent a wider range of values and integer types there are two assigned floating point numbers double which represents a 64-bit floating-point number it is used when floating-point values must be very large and float represents a 32-bit floating-point number it is used in floating point values don't exceed 64-bit precision okay very good next question what is a dispatch group oh my gosh okay I'm gonna pretend I'm being asked this question so guys for those of you who are watching I honestly I don't know like I know but I don't know so I'm gonna answer how I've used it so a dispatch group okay at least what how I use it it's it's either a class or singleton of some kind or a service that's available in in the Swift framework or iOS I'm not sure which kid is in but basically it allows you to dispatch synchronous and asynchronous calls to to your app and you access it to the dispatch group aside from that I don't even know the answer what is the answer Jacob Oh read the answer okay Jacob Jacob Evan was saving Jacob there so allows for aggregate synchronization of work we can use them to submit multiple different work items and track when they all complete even though they might run on different queues this behavior can be helpful in progress can't be made until all the specific tasks are complete so that is that's kind of what I kind of mentioned asynchronous you know you can dispatch a circulars versus synchronously I am really curious we're not going to talk about this now but for those of you who are watching what I would recommend that you do is after this go look up a dispatch group see what it is is it a class is it a service what does it do exactly what does the documentation say it'll put you ahead in the interview because you'll be able to explain it a lot better than I just did right now okay dispatch group next question where do we use dependency injection ooh okay I'm gonna think about this the pipes I think you talked about this in your iOS 9 course really yeah yeah so chili bean not like multi-threading dispatch group it's kind of like that but it's more so running running asynchronous tasks in parallel it doesn't it could be on the same processor it might not be but it doesn't necessarily mean multi-threading dependency injection hmm now that's that's interesting this is a phrase that I hear in other languages aside from Swift it's it's interesting that we may want to you once you know what it is yo yo you'll relate it better ok it's not common phrasing for sure yeah so ok let me explain as best I can so depend see injection means that your class or with it your class or your struct or whatever you're creating relies upon a dependency in order to function properly and I could be wrong but let's that let's talk about for instance I'm building an app and I need to play a sound effect well I may I may need to use the audio service it's a it's a framework it's a dependency of the functionality that I need that's my best answer Jacob what's so well I kind of think what you're saying is right - but a really strong example that everyone can relate to is when you connect an IV outlet from the storyboard to your view controller an iboutlet is a property related to a view these are injected into the view controller when it is instantiated which essentially as a form of dependency injection there are forms of dependency injection constructor injection property injection and Method injection very interesting very very interesting this is another good point about interviews is sometimes we know the answer and know how to use something but we don't necessarily understand the the actual terms of phrases so this is important this is another important one to look up dependency injection look up constructor injection property injection method injection very good fine here next question explain the different types of notifications now that is really interesting that it's like the different types of notifications well so we know that we have a Notification Center in iOS or and you know a notification system is really just an observer pattern it's actually a programming design pattern that you can implement anywhere and so if we're specifically talking about the the iOS implementation of it or Apple implementation of it you know that's the Notification Center I worded this question really wrong really bad Oh how should we gather how should we were to otherwise but you should talk about Notification Center as a that's good and then I meant this as like remote and local Oh push notifications I should I should or out push yeah my bad okay so good uh well different types notifications so yeah we if it's coming to push do you do have pushed notifications that are there's a few different kinds so you can push locally which basically means it's it's on the system on the phone so like you can schedule notifications to pop up or in your code you could say hey if someone hasn't used the app in three days and the and you know you can send out a notification if the app still running in the background locally doesn't require a server and then there's push notifications which require like an apple certificate in order to be able to function you have to have a server and you can build your own or you can use a service like AWS or firebase or urban airship if it still exists and you would upload your certification and basically it does a handshake with with your app a secure handshake saying hey add this app has permission to receive notifications from the outside world and then it pushes them down onto the device and this is cool because you can build your own portal like you could say oh I want to send a message to all 10,000 users and you send it out through a server and it's a way to communicate with your users instantly or you can even schedule them when some type of event happens on a back-end server like okay they got a new high score or they just finished taking this course we can now send a push notification with us say hey congratulations on passing the course and that goes through the server down to the app that's it that's my best answer that is correct I apologize guys the number eight answer slide was not properly in the folder but Mark did nail it with local and remote notifications whoo awesome what is the difference between any and any object okay now this is interesting Jacob so if I was gonna answer this I'm surprised this is a question but if I was gonna answer this I had thought that any the keyword any basically replaced any object with Swift three from Swift two to Swift three because it used to use any object and now it's any but I know I guess I know they're still kind of there so the reason I asked this one is you're right with any but any object is what is limited so yeah what I would say is any object is probably related to reference types only whereas any could be a value type or a reference type so any object would have to be a class of some kind of custom class whereas any could be an int it's more like a generic almost but if it be any type it can be function type or optional types it can be um now if Fernando says any object doesn't exist anymore but I think it does I think they just the D used to be the default and then the default is now any instead of any object an e basically doesn't you don't have to use any object anymore but I still think it it was an interesting okay question great yep yep okay question ten what is continuous integration ooh I'm really curious to hear your answer on this Jacob but I'll do my best to answer it here so continuous integration is the notion of allowing automated automated builds and tests to run on your on your project and here's a perfect example let's say I'm building an app and it's getting lots of features maybe I have ten programmers on it and we want to make sure the code is always doing what it's supposed to do and that everything's testable sometimes us as developers we get lazy we forget to run unit tests we break code we do crummy put code reviews and then broken code goes in the app will what continuous integration will do and you can set this up as elegantly as you want but let's say I push a new build to github or bitbucket you can integrate that with or you can have a machine a computer integrate with bitbucket that it pulls down builds every so often and then it runs the test and all that stuff for you automatically and if it fails you can get notification saying hey the latest build didn't work and then that the engineering manager or you can go talk to the employee or the other program would be like hey man your code broke what's going on it's just another safeguard in having a clean codebase what do you think Jacob yeah I wrote like a very generic definition to it but obviously it's everything you just said okay oh and that's a good point here there's lots of tools available I think one of them is called like teen City that's a really popular one for continuous integration so they have services available where you can up like it's actually cloud-based services that will do this for you so you don't have to have your own server doing it cool is this isn't this like agile development um surely continuous integration could be a part of the agile process anybody can do it though I don't think you need to label as part of a process but I don't I'm not an expert I'm not a scrum master so I don't know what is encapsulation okay so this is really interesting and and I've received some recent enlightenment on this but I for a long time data hiding or data protection has been a really big thing I mean you go back to Java that was a language that heavily implements it c-sharp but basically basically it's the note the notion of making your data private and having public accessors meaning other classes can't just go say some class that property equals this and reset it you create getters and setters or accessors and mutators that that manages setting and a site setting and retrieving of data so it always is pure like no one's breaking it like you control it comes in and you control what's comes comes out it's really great for debugging now with that being said I've been seeing a lot more Apple documentation and other things that don't even use these anymore and so I really don't know if it's something that is going away if they're like it's it's really up for debate I think right now but that's that's that's what we've done historically Jacobs you are you not impressed I mean I think it's silly to not care about it at all because I think you do want to control how your objects can be mutated and changed just like a good example even like in a desk slopes project if we change anything with a model like let's say lesson if a user completes it everything that relates to mutating that calls a function from our from our you know our model and so everything within our model gets mutated in itself and they just get called from other places yeah I like that too because it's easy to track down problems you don't have to look in one place put a breakpoint there and you know exactly what what's causing the problem or like you know our user model if you collect a coin it calls our user model and it adds coins to it so everything gets done within its own object yeah I like that okay next question what is dependency management oh my gosh I have no idea Jacob I do Nate what do you mean dependency management like is this cocoapods like it's a dependency man yeah that is a dependency manager so it'd basically be a way to integrate you know third-party framework or reuse your code from multiple projects at a time just a way to manage it so like cocoapods would be an exam okay yeah Carthage yeah okay yeah dependency management that makes sense if we want to integrate open source project at a framework to third-party project even reuse code across their own projects dependency management helped us manage these relationships cocoapods and Carthage are good examples of this and I might also say for web development and node you've got NPM you've got Bower for front-end stuff and a whole bunch of other other things like that so cool what is the difference between bounds and frame ooh this is okay stop right there I want everyone who's watching to know this you will definitely be asked this in an interview every iOS interview I've ever had in my entire life they ask this question every single time now you may not know because you're so used to working with storyboards that you never even touched the frames of the bound but every view in iOS okay it has a bounds and it has a frame all right and the bounds is the width and the height okay or or more yeah the width the height the the frame is basically it's its coordinate position so for example you could have a big rectangle view and then have another view inside of it and the view inside of it would have its own bounce it would have a width and a height and you know an origin within its own coordinate space but then this frame would be the coordinates within its parents coordinate space so the frame is in relation to the width height and position in its parents coordinate space and the balance is the width height and position within its own coordinate space right on yep oh well yeah that's a really important one because it'd be really easy to mix those up and confuse them yeah I mean you wouldn't want to be like my view dot bounds and put a new position and it's not it wouldn't move right or it would it would give you unexpected results so mm-hm what is the question mark in Swift ooh Nathan hey Dad okay let's see if our junior developer knows what the question mark in Swift is the question mark is an optional what does that mean exactly good do your best okay so an optional would be the data is like not guaranteed to be there so like you have a class and maybe eat like somebody like a class of like a person and they have like a red shirt that could be an optional because maybe they don't have a red shirt and so if you force unwrapped optionals and it doesn't exist your app crashes yeah something like that that's great that's a great answer and what I also will say is sometimes developers will be a new developer to be like I hate the whole Swift optional thing right but actually it's a feature it's a big feature and it's amazing so this is what's so cool about it in other programs like c-sharp or Java okay you can have null objects and they may or may not be null and sure you can do try and catch blocks okay to try and catch airs but you can have crashes in your program for one reason or another what's cool about optionals is you're basically labeling a variable you're saying this may or may not have data at runtime okay so if you use an optional it means it might have data and it might not so you're basically saying be careful with this like it's like putting the word fragile on a box at UPS there may be something in here who could break so to handle it with extra care that's the exact same thing with optionals it may be null at runtime we're saying that in advance so you want to handle it correctly you don't want to force unwrap it you want to make sure something's in it first and then if you if you know that there's going to be data at runtime then you can use an implicitly unwrapped optional which is the the exclamation mark and you're saying hey there's going to be data in here no matter what so it's like a fragile sticker on a box that's what it really is and you can read this in the recording there we go all right 15 what is the use of double question marks whoo I know the answer does anyone know the answer well let Jacob answer this one okay so to go in line with the optional question this would basically allow you to provide a default value for something that might not have a value so like if you had an ill variable and you wanted just to print that value right all you could do is print it and instead of force unwrapping it and possibly getting a crash you can do two question marks after it and whatever your default value is after that so no matter what it prints something or you have a value that you would pass into a function or whatever you want to do with it yeah I find this really useful Jacob so if you're used to writing ternary expressions you know you know where you basically say you run a condition and then there's a question mark and if it's true use this value otherwise if it's false use this value well sometimes you just want the default value and and sometimes you have to write the information twice so I think this the double question works a great way to shorten that and basically say hey if it's if there's nothing there just use this value and so you'll write less ternary operations if you use the double question marks like a good example where I like to use them all the time are like table views and collection views for number of sections and rows if you have an optional you know array or dictionary account that you don't even know if you'll have data if you don't you know like if yeah just returns nothing back to you you can have a default to zero yeah yeah exactly so instead of saying like if let you know my data you know if let my day to dot count question mark and then doing the you know and then saying so if there's David I'll count then going heads and saying date account exclamation mark colon otherwise use 0 all you would do is use the double question marks and put and put 0 and it would you wouldn't have to write the tableview dot it's really like four lines of code yeah exactly very good next question what is the difference between let and var and Swift Oh Nathan made then I'm bringing on Nathan for the questions that every junior developer should absolutely know in an interview like a hundred percent so okay yes let in bar so a let is a constant the value of that doesn't change a var of course is a variable so like a for example like a bank account would be a variable it changes very good nice alright question what is a memory leak oh this is a good question you know what's important to know about this is a lot of new developers they just think everything's magical and works but memory leaks can't happen in your apps and they can be very bad on iOS especially with Swift it's a lot harder now it's a lot harder to get memory leaks but they still can happen and the mos common way or maybe the only way I don't know but the most common way is through a retain cycle and one example of retain cycle is let's say that I have a class called person ok and a person has a backpack so it holds a reference to a backpack it may or may not have a backpack but so we have an optional backpack so backpacks another class well in the backpack class I need to know some things about the person so my backpack class holds a reference a person so you know var person of type person and the backpack or in the and the person has var backpack of type backpack and they're both holding a reference creature well let's say that we have a school that is a class that is holding the person and then the person leaves school so it what it does is it gets rid of the variable well guess what the variable actually didn't actually disappear and why is that because backpacks still holding a reference to the person in memory and because it's holding the person in memory and it's been released by the school it's floating around and nobody can ever release it ever again so you've got a person and a backpack holding on to each other in memory space and that's eating up memory your application and it will always be there it will never go away it will always be there while your app is running because because you didn't make a weak reference so the solution would have been to make a weak reference from the person to a backpack so when the person is released from school the backpack is also released from the person more or less and memory leaks a type of resource leak that occurs when a computer program incorrectly manages memory allocations in such a way that memory which is no longer needed is not released okay and by the way this is a much more common problem in C++ as well as objective-c okay what is autolayout Nathan what is autolayout I would describe auto-layout as something I try to override and not let it help I I don't know how I would describe it it just it just lays out your views where do you use auto layout in the storyboard so you set up your constraints and that lays it out for different screen sizes yep I don't know all right so auto layout dynamically calculates the size and position of all the views in your view hierarchy based on the constraints placed on those views so I don't you know how I joke around in the courses you know Auto layout is hardly Auto because you have to do all this work but it really is so Auto if you set your constraints and if you manage your constraints from the top to the bottom of a view controller or any view they will automatically manage resizing okay based on the constraints that you said so you set a bunch of rules and then it morphs to those rules and before Auto layout before we had constraints or anything like that you know this was very difficult to manage we would either have to move things with frames and bounds and programmatically put them on the screen or we would have to use the auto resizing that is still available in Xcode but the auto resizing which basically moves expansive view based on just like two directions and more or less and it was you had a lot less flexibility so with constraints that you can pretty much design anything that a designer throws at you because auto layout and thank goodness for that because evan has true what does app thinning mean ooh now this is a good question I've never used this before but I saw that Apple announced it like as a feature like it's a I okay is this like when you they have this new thing where you can thin out your app and upload part of it to the app store and then it downloads dynamically when you when you load the app or I'm not sure what is this uh it basically allows you to have your you know a huge project right and that's why you have different image sizes 1x 2x 3x and all the different sizes as far as I understand just as long as you have your project setup right Apple does everything for you depending on what device your your app goes to so the store and operating system optimized the installation of iOS CBS and watch OS apps by tailoring app delivery to the capabilities the users particular device now this has happen automatically I think so ok oh you know what I you're right actually I remember this now this optimization called app tinting lets you create apps that use the most effective device features occupy minimum dissipates yeah I remember they announced this at one point as something new it was big in like iOS 9 or 10 I don't remember yeah yeah when is Swift for release it's coming out in September sometime I don't have an exact date yet I don't know next question what is the difference between viewdidload and viewed it appear which should use the load data from a remote server to display in the view all right then hey Dad this question will absolutely be on an interview or at least in most cases and it's incredibly critical to know so what is the difference between viewdidload and buted appear in which should you use to load data from a remote server to display in the view okay so in like kinda like let's say that like the order of operations one of view controllers being loaded the viewdidload is called first and viewed it appears called last so all the data and everything from the API I would say it needs to be done in the viewdidload anything else you wanna add how often how often are each of those functions called viewdidload I believe it's called just once when that controller the view controller is hit the first time and then mute it appear up here appears every time that you go back to the view that's right and let me add some more to this so instead you know you may be wondering well what what data should I had load inside of a constructor right like in it like in it what stuff should I put in there well an it is a good spot to load variables and data and value types that may be available but anything related to your views at all should always be done in viewdidload and I might also say viewdidload is called once when the view controllers loaded in memory but keep in mind if it goes out of memory let's say app iOS destroys it because it needs more memory okay when you go back to it let's say you're let's say you use a navigation bar and you went five view controllers in and now you're popping back up until you get to this new controller and it's no longer there viewdidload will be called again in this case because it was destroyed and it's gonna reinitialize data and whereas view did appear every time the view actually has visually appeared to the user it will be called and that's really good for refreshing UI or doing things that might have changed since the last session or when it went off the screen awesome thanks oh you got the last question that is all twenty okay um so last question last question is um Jacob why do you why do you think why do you think that you would be a good fit for this company what makes you special as a developer why would I consider hiring you last question oh well you would consider hiring me because I'm cool no I'm willing to learn anything I'm a fast learner I don't give up on a problem even if I'm struggling with it for hours or days on end and when I do run into a problem I make sure I end up understanding it you know all the way through not just I don't just get it working I want to understand why it's working now and I like to follow all the way through and actually make a good learning experience out of it okay now ask me the same question alright why do you think you're a good fit at this company so um yeah so I am willing to do whatever it takes to solve the problem so um you know when you what given you're not gonna know everything in programming and you're not gonna know all the answers right but I feel like I will take the extra time to figure out the problem whatever it is and go and research and study and hit the documentation and I do things right you know I don't just come up with hacky solutions but I go and look at the documentation and make sure it's following the best design principles the best patterns and I use the best algorithms and so I all the time like double-checking myself I'll write code and if you know if I feel like it could be better or I smell some code some code rot or the code is bad I'll go look and see if there's a better solution because you know it's all about refactoring and making code better and I also have a big focus on UI a lot of developers will just give minimal effort in the user interface and say that their job is done I will make sure that in addition to the code being cleaned that the user interface will be amazing for the design specs I'll put the extra touch and love and the animations I feel like an amazing user experience is both from UX and from the code and I like to handle both together so yeah so that's kind of my what I might say if everyone who's watching and Jacob gave a really good answer to your boss is gonna want to know they're not gonna they're not gonna want to know things that aren't important they want to know things that are important what is important Jacob said that he will do whatever it takes to get the job done he'll figure it out but he he's not just gonna copy and paste code from somewhere he's gonna make sure he understand what's going on because the more he understands the better engineering will be and that's what your bosses want to hear they want to hear how much of an engineer are you how good are you at solving problems and it and that's what's most important to them is knowing how you can help their code in fact the more you focus on code the better likely industry are to get a job instead of saying things like imma I'm a winner I'm a people person you know what they don't want a people person they want a a weirdo nerd who like is in his zone with his Red Bull and his headphones and his greasy pizza face skin because all the junk food he eats and that's what they want that's what they want to hire so the more of the story is the more junk food you eat and the less you workout the more likely you are to be hired I'm just kidding about that but I'm serious it's all about the code the more you focus on code in an interview the more likely you are to get the job versus demonstrating other skills it may be less relevant you certainly want to present those skills I'm good at this and this especially in a startup if you're in a start-up people want to know what you can do like Jacob he's an amazing coder but sometimes I'm hungry so I sent him to get lunch and he's really good at it so if you have other side never gotten Marc lunch once so if you're in a startup type environment you may want to demonstrate other skills but if you're in a big company it's all about the code trust me it's all about the code so but I do on a regular basis annoy everyone at 1:00 a.m. and I wonder why no one's around yeah that's it core you made it you got to be committed to so we all work a lot at dev slopes you may or may not believe this you may think that we skateboard all the time but we actually do work a lot of it like 60 plus hour weeks sometimes especially Evan that guy was like I don't know what he's doing but because he doesn't sleep I think he's like he's taken something I don't know at least I know when I'm tantruming that 1 a.m. Evan will respond yes yes like it's okay Jake oh I'm sorry half that's my fault yeah so ladies and gentlemen this broadcast is over if you'd like us to do more with different subjects we let us know you know we want to help you get jobs and of course don't forget to download our app at dev slopes comm slash platforms where you can you can start start taking lessons for free and then you can also download our courses for offline viewing the Mac App is amazing and our iOS and win or our Android and Windows apps are coming out soon which is also really cool and we're adding tons of more features and we also have a subscription with all kinds of features packed into it including pre-release courses and guess what if you're a subscriber you'll be able to get access to the Android course that is coming out in a few days we're gonna have the first section up and a pre-release course for Android so you can start taking that before it comes out on September 5th so you get all that stuff as being a dev slopes subscriber as well we're adding a lot more cool things for you so yep algorithm interview yeah we need to do those those types of things so that's good everybody good to have you here Evan do you have anything to say no this was great tune in every Wednesday for these cool live streams and email Evan to dev slopes comm with any ideas you have anything you want to see all right awesome guys thanks everybody
Info
Channel: Devslopes
Views: 36,091
Rating: undefined out of 5
Keywords: learn ios, learn programming, app development, ios development, #hangoutsonair, Hangouts On Air, #hoa, programing, learn to code, devslopes, computer science, how to program, mobile app development, development, software developer, software engineer, github, bitbucket, swift 3, iOS 10, angular, node, computer programing, code life, how to build apps, iphone apps, programing tutorials, programing for beginners, tutorials, code tutorials
Id: j0AvzWXBI4c
Channel Id: undefined
Length: 50min 40sec (3040 seconds)
Published: Wed Aug 09 2017
Related Videos
Note
Please note that this website is currently a work in progress! Lots of interesting data and statistics to come.