Transcript for:
Embedded Systems Interview Preparation

embeded systems interview needs a focused and a different kind of approach it's neither code Electronics nor code computer science it's a perfect blend of both and that's what we need to understand while we're preparing for Ned systems interview hello everyone my name is pun bansil I did my master specializing in embedded systems and I've been in the industry for around 2 years now I have been through this process numerous amount of times um and I know how daunting this process can be I received lot of questions from Juniors on LinkedIn as to you know I've got this dream interview call that I want to crack but I don't know what to prepare how to prepare and specifically there's lot of information uh available in the market uh and so much so that it gets overwhelming um and the same things happened for me as well uh so this is my attempt uh to give it back to the community with all the things that worked out well for me with the things I felt are very important to crank these Ed systems coding interviews um and whatever worked for the people I've helped through Linkedin so let's get started firstly let's get started with the process so an emerit systems interview typically will consist of one to two phone screens followed by a technical um virtual on-site interview um each of these interviews will essentially test your embedded systems Concepts followed by you know coding problems and yes you will be required to provide compilable code and perform Hands-On coding thanks to co con are the days of white boarding to solve a coding problem we will have to you know get your hands dirty um and get those coding problems uh solved at that specific time and and you know needless to say all of these things only after you know each and everything mentioned in your resume so I've already talked about how an embedded systems in interview will be basically divided into Concepts and coding so firstly uh I'm going to talk about the concepts now uh I wanted to give this disclaimer that this by no means is going to be an exhaustive list of Concepts you know which is definitely going to be asked in every interview but I can say this with utmost confidence that this is something that you should at least know before you are going to you know go for that uh dream job interview of yours and at least it'll provide you a direction as to to what all things you need to research on what not what all things you need to work on and what all you know it will open up your mind I'm I'm I'm very sure about it okay so uh as an embedded software engineer a firmware engineer applications engineer Call It Whatever You're supposed to know basics of edit systems operating systems as well as C programming Concepts and best practices to write the most efficient C code all right so firstly getting into the C programming uh con Concepts and best practices you should be aware about static volatile what's a const uh you know um memory layout of a c program what happens when you compile a c code pointer manipulation uh you know what happens uh with post increment uh stuff like that so a pro tip here is geks for geks all these concepts are available on Geeks for geks go and give it uh you know a 5 to 10 minutes read for every topic make your notes get done with it second thing let's talk about embedded Concepts now these are this is something which I'm really passionate about you should be knowing what happens when you turn on a microcontroller what happens you know what an interrupt occurs you know what's the process of you know when an interrupt is going to happen you shouldn't have a knowledge of architecture I'm architecture and uh stuff like that what happens when you call a function what's a calling convention right so this is some of the things which should Intrigue you and this are some of the very commonly asked questions there then coming to operating system Concepts now there's free Arts there is Linux what is the difference between the two when do you use it you know uh stuff like that what are system calls virtual memory what is virtual memory you know uh we should have a very good understanding of the concept similarly for caches you know what are the different sorts of caches cash coherence stuff like that everything should be um uh on your you should have great knowledge about it and knowledges of semaphores new Texas and and when and how to use them great resource that worked for me YouTube go out like for me the things that worked out is that any concept I wanted to know I just watched videos for that I found out that watching 10 minutes of video I was able to grasp more information than 30 to 40 minutes of reading about the same topic operating systems there is the nptel uh IIT kakur or khur video I'm not too sure but uh there's a video of n pel on operating systems if you you have no idea about anything and you would like to have a very good idea about what operating systems um does and what are the various Concepts around it go for that video it's it's it's a great it's a gem talking about embedded Concepts everything is available on YouTube just uh uh you know type in these Concepts to see whatever good videos are there Mak notes and then keep them handy for all sorts of interview preparations now let's talk about coding this is the most fun part but sadly this is the part where most of the aspirants gets confused what should we be preparing should we be doing data structures and algorithms should we be doing hashmaps and since there is no answer directly that they will ever get a lot of time gets wasted in preparing for things that's not even needed um and then they fail to answer even the basic old school Straight Out of the Box questions the only purpose of making this video is to make sure that this does not happen is to make sure that you're able to streamline your interview preparation process that you know the things that matter um and then if you have time go ahead and do whatever you want to do right firstly let's cut to the Chase and answer a question should we be doing data structures and algorithms the straight out answer is no this is not a software course software engineering uh interview uh the skill set required for the these kinds of positions is different companies are aware about it and they test accordingly now let's delve into what all coding questions do you actually need to prepare for first and foremost bit manipulation I can't stress this enough you should know bit manipulation most of the phone screen interviews will ask bit manipulation questions you should know the power of logical operators uh and or exor nor now coming forward to pun step go to Geeks for geeks search for uh bit manipulation tricks there will be two articles for it you should know all that then go to Google and search for commonly asked bit manipulation questions do 15 of those questions you will have so much confidence that you will be able to tackle any sort of bit manipulation questions that's all you need coming forward to the next topic which is link list another favorite topic for the interview preparation is link list and there's a good reason for it the this helps to test pointer con Concepts as well as logical thinking might start with preparing uh creating your own link list now do that with all possible combinations do it with a global head do it with a double pointer get the full feel of the concept right this is very important this will just make you very comfortable with pointer manipulation you know and how to deal with any sorts of pointer questions it will you will love it right and once you're done with it work on concepts of lingl reversing you know and S just to be very honest you should know linkless reversal even if you know somebody wakes you up in the middle of the sleep and it's like hey how to reverse the linkless you should know how to do that all right now let's talk about string manipulation and array manipulation now you should do enough questions to make sure that you're very comfortable uh with the with the entire concept my tip is to start with the brute force method just Traverse the array an amount of times just to get to the solution once you are able to get that basic solution that you KN do you basically then know okay what the question is how to get the solution to it then work towards optimizing it now a pro tip for preparing for string uh questions is that any sort most of the string questions uh if you're asked for an optimization solution for it could be solved through a hashmap now don't get scared on just uh listening to the word hashmap it's basically just an array of 256 characters where each character um basically each index represents an asky index and you can store the occurrences of each of these characters through their indexed by the asky numbers that's it that's all you need to know um the other major thing is STX and hes implementation now one thing I would uh like to tell you is that this list in no way is like going to be a comprehensive list uh you know that okay this is the thing that is going to be definitely as in an interview and this is the only thing you should be doing once this is the least that you should be doing to put forward uh in a good way then once you're done with this what you need to do is go to lead code now uh again don't get scared by the term lead code because it's generally used for software engineering interview questions don't worry about it just go and search for commonly there's a there's a playlist for commonly asked interview questions um and then there is tabs for easy medium hard go to easy section and then do the question after you're done with all this uh go and practice uh the questions for all the topics that I mentioned today um through on the in the easy section then that will give you a numerous amount of confidence to you know crack that coding question which will you will be basically getting in your interviews and do it Hands-On coding uh do go to online C compiler and just try to you know write the code prepare for that aspect as well because you know otherwise you will freeze when you are actually doing it in the uh interview so create a temperament for that aspect as well so I hope this video was useful um for for you for you and you know you're not now not scared at least in terms of looking at the syllabus you know what to prepare what not to prepare um again this is what worked well for me I hope this works uh out for you as well if there are any questions please feel free to add a comment I'll try to um uh reply to those comments and yeah thanks a lot for watching this video and I'll try to make more videos um to help out uh the people in this uh Community thanks a lot