How to pass a coding interview |Interview tips for software developer |Cracking the coding interview

Video Statistics and Information

Video
Captions Word Cloud
Reddit Comments
Captions
are you someone who is not having a success in passing a coding interview in this video i am going to share with you five step approach that you can use to crack any coding or programming interview and this will be applicable for the position of software engineer either fresher or experienced and using these tips you can pretty much pass any coding interview it can be at big companies like amazon and google also if you are looking for a data scientist position nowadays most of the companies ask on programming so it will be helpful for data scientist position as well now this is based on my own experience of interviewing so many people in last 15 years so please watch till the end coding interviews are usually one hour and first 10 to 15 minutes is always spanned in talking about your resume it is all about you so step number one is how you can make this initial conversation very effective and live a very good first impression there are three tips that i would like to share here the first one is your resume will have projects if you're applying as a fresher you would have college projects or if you are applying as an experienced developer you would have projects that you have done in your past companies so interviews will discuss on those projects so when you have mentioned those projects make sure you are comfortable talking about them for example you did a project as an experienced programmer in your past company where you used mongodb they will ask you why did you use mongodb why nosql compared to sql and you should have your reasoning sometimes people work on these big projects and they have done like a small contribution and they will write a lot of things in their resume just to impress the interviewer but remember the interviews are usually fairly smart people so do not bluff you should also be able to draw a technical architecture diagram for the project that you worked on or you should be able to talk about different technologies that you used in that project as an experienced programmer let's say you use radish memcache then you should be able to talk about what is uh in memory cache you should have those that basic knowledge one of the most commonly asked question during initial conversation is why you have applied with our company let's say you applied in a company called blackhawk network they will say why do you want to work with blackhawk network to answer that you first need to know the products or services that that company is offering and the best way is to go to their website explore what kind of products and services they have and also know little bit about their clients too the second aspect you want to know is the culture of the company and the best way is to go to glassdoor website on glassdoor you can type in name of the company the location here in the location i typed in bangalore for example and here you can look at the reviews of that company these are the reviews posted by the employees who are working in that company so for example here some employees are saying that work life balance is pretty good and it is good for single parents and there is a car allowance if you know about all these aspects then it will prove that you are sincere about this company you are detail-oriented you have done enough research it's not just like you are applying a job applying for this job just to earn money but you are sincere about your career and it will live a very positive impression on interviewers mind one other way to know more about the company is to network with the employees of that company via linkedin here i typed in blackhawk network bangalore and i'm seeing the employees who are working in bangalore office and there are some senior software engineers what i can do is i can try to connect with these people send them connection request or a message saying that hey i'm trying to apply in your company and i would like to know more about this company can we have you know like a quick chat or maybe quick phone conversation now when you're trying to uh network with these people uh you need to be very careful that you need to admire their support you need to be thankful basically don't be annoying tip number three is very commonly asked question which is tell something about yourself and you should be able to describe your achievements your interest as an answer of this question sometimes people contribute to open source or they have achieved a specific success in the past company maybe an award or something you should mention it usually you'll mention it in your resume and an interviewer would have read it but just in case if they missed it it's important that you highlight that during this initial conversation the second step which is the most important is competitive programming you need to master competitive programming it is a must for pretty much any companies and especially if you're targeting big companies like amazon and google their entire focus is on competitive programming now what is competitive programming they will ask your programming question which will be little complex and they want to know how well you can solve this problem using different data structures and algorithms and different problem solving techniques there are different websites that you can use to master competitive programming such as lit code career cup hacker rank and so on if you google gig for gigs interview questions you will find this link where you have top 25 programming into your question and when you go there you will see all of this question there are so many of them so it's all about practice practice practice you need to practice all these questions you can also practice the interview questions by company so here there is a company interview corner link where they list all the questions by company these are the questions which are being asked in the real interviews in those companies and then candidates come back and they uh share these questions on platforms like gigs for gigs so i'm looking for amazon questions let's say here i will find so many questions i can look at one question here let's say this is the question that they ask and this was some question about some mathematical equation and you had to do something you have to write maybe some code so when you look at this question do not try to look at the solution directly you should try to solve that problem on your own first this is extremely important if you're looking at solution directly you will fail trust me it will not work you will have to try that yourself and have to go through that mental struggle in order to conquer any programming question another website that i like is careercup.com here when you click on questions on the right hand side again you see questions specific to a company so let's say if i applying for microsoft interview you can click on microsoft all the questions are asked in microsoft interview this will be coding as well as non-coding question for example here this is a design question design database schema with entity in relation to store family tree of a person more like a design question where you have to draw different architecture or family tree schema on the whiteboard whereas this question is looks like it's a coding question you might have to code or you might have to talk about the big o complexity big o complexity is extremely useful in software coding interview so you need to have a very good understanding of that the third website is lit code on this website you can create a login for free and you can explore the questions in the similar way if you click on explore here here for example i have top interview questions so now when i click on that the questions are listed based on data structures here on the left so let's say you're practicing linkedin question you just click here and you will see different questions here and those questions will have the description as well as you can write a code and you can submit you can run the code here so this is very useful because then you know you can just practice on this platform itself you can also uh sort this questions based on the difficulty level for example i am looking for medium level question you click here and it will be your medium layer questions related to again different data structures when they ask you a question on competitive programming make sure that you understand the question properly many times people don't understand the question they jump onto writing code which is very bad because sometimes purposefully the interviewer will ask you a very vague question because when they hire you and when you start working in that company many times business managers will give you a very vague statement of a problem and as a software engineer it is your responsibility to clarify the requirements they are not going to spoon feed you so you should have that mindset that you clarify the requirements before you start working on a solution so ask a smart question and that will prove that you are a thoughtful person and you don't jump into the solution right away another important thing is how well you use data structures and algorithm to solve a given problem for example they're asking you a programming question the same question can be solved using an array or a hash map but maybe hash map improves the speed or the memory utilization of your program so you should be able to talk in terms of big o complexity etc now if you don't know about data structures and big o complexity etc i have a very good playlist on data structures in python where i have described various data structures along with their python implementation and that has some exercises as well which can help you in your coding interview so the link is below please watch that you should have a sound understanding of data structures and algorithms because they are the heart of any program doesn't matter what your programming language is could be python java doesn't matter data structures and algorithms are at the core of any program and they do not change so you need to master those things rather than mastering the syntax of any programming language they will also check how clean your code is so that goes back to your clean coding practices where are you able to write a compact code and are you able to use proper names for the functions or variable name sometimes people use this you know tmp as a variable name that gives a very bad impression so if you are writing let's say program for any domain like use a proper name for the variable or a function or a class and if you're writing a program where you have a need of doing object-oriented programming make sure you are writing uh proper classes etc to solve your given problem for clean coding practices also i have another video and i have created a github page where i have shown a bad code and a good code version or sometimes you write let's say 10 line of code same can be written using one or two line in a more compact way and i have given so many examples so again the link of all that resources is below so please follow it and when you are practicing the competitive coding from all this website lit code and such make sure you follow this clean coding practices because it's all about developing that habit and once you have that habit that habit will show up during your coding interview the third step is mastering non-coding type of questions such as computer architecture and design if you are an experienced programmer they will ask you a lot of design question such as design a facebook or design a messenger and they want to know your class design how you put different classes together they also want to know how you design different software component you have your ui your middleware your databases you might have different components like a caching system so they want to know your design skills especially if you're an experienced programmer if you are a fresher they will not ask you too many design questions so do not worry but still if you are fresher they might ask you general data structure and algorithm questions like why one shorting technique is better than the other or they will ask you how do you compare you know like array on hash map and how do you uh how do you describe the inner workings of it so sometimes they will not ask you to write code around it but they will ask you to verbally describe those things and you should be able to verbally talk about those concepts now for this as well you can use various websites such as lit code career cup glass door etc when you are being asked a design question they want to know uh if you can use lesser caching for a given problem how do you take care of scalability are you able to use a distributed system to solve a given problem so they they want to cover a lot of areas in the field of software architecture or a computer architecture they want to also know about design patterns can you use event-driven programming can you use micro services and so on you can read martin flowers blogs if you want to master uh software architecture this will be very useful if you are appearing for an experienced a programmer interview i have a link of his blog below he has a great article on for example microservices he he's generally a big name in the field of software architecture so do proper reading of these blogs before you go for an interview step number four is communication confidence and body language you should be extremely confident you should look straight into interviewers eyes and you should have a proper loud voice so that it shows that you are confident and for a given problem you can approach it with a lot of confidence when you appear for an interview please maintain your self dignity the interviewer will give you a job and he is not going to do you any favor if you are capable then only that person is going to hire you so it's not like someone is doing you a favor and that's why you should compromise on your dignity you should have a higher dignity whatever knowledge you have whatever skills you have just have a very high self esteem if you are rejected then you use that experience and you learn those skills and appear again for an interview it's not bad to be rejected friends failures is very important if you want to become successful eventually and if you don't know about anything do not feel guilty about it it's okay not everyone is knowledgeable in all the areas and if you don't know about a specific topic that they're asking you for just say that i do not know but i have some vague idea but i am ready to learn they want to measure your ability to learn things okay so constant learning is essential uh if you want to become successful in any carrier and that's the skill that they look for also in the previous step when you are writing a code or a program they want to know your approach they are often not looking for the best or the perfect solution right so they they are measuring you based on how many diverse set of solution you can come up with in your coding question so you should be able to offer variety of solutions because once they hire you up in your the real life in corporate environment you will have a situation because of resource constrained because of client requirements you might have to offer like different solutions to your business manager and then one of those solution might work so you should have this creative ability to come up with new solution using new software components or new design skills so that's what they want to measure you on often you solve a problem using one approach and they'll say no i don't like this approach can you solve this problem using a different approach and then you should not feel like okay this is the base approach why is this person asking me to solve it using a different approach you should be constantly churning out you should be constantly giving new and new solutions okay so they want to measure that and they also also want to measure whether you give up or not they will give you hard time sometimes purposefully so you should not give up and just keep on trying keep yourself very calm at the beginning of the interview have some water if you want to use restroom for example in between just feel free like you don't want to stop yourself that should not become a reason that you are not performing at your best capability step number five is often towards the end of the interview they will ask you do you have any question for us now this is the best opportunity for you you to know more about the company because uh taking a job is more like a marriage it's not one-way relationship it is two-way while the company is selecting you you are also selecting to work for that company understand this you will probably spend 40 hours in your week or in that company so you are spending probably more active time with the company then with your family or with your wife right so just think about that that that uh understanding is very crucial it's like marriage and therefore you should not just join any company for the money you should join a company which gives you growth opportunity where you enjoy working and you are overall happy for that reason in this last section ask thoughtful questions such as what type of technology stack your team is using for example okay ask some questions on culture do i have uh an opportunity to contribute to open source for example if i choose to work for your company so that way you will get to know more about this company and it will also prove to an interviewer that you are not just looking for any job you are a very thoughtful mindful person and you are very serious about your career so i hope you like this five-step approach for cracking any coding interview please follow this next time when you have any interview and see if it works or not it will work for sure also i want to do one exercise where if you have appeared for programming interview before i want you to post the most favorite question that you had in that experience in the video comment below and i'll try to respond i will try to give my thoughts on that question so that other people can also benefit also if you think that you have any other tip that you would like to share in order to crack a programming interview please share that below if you like this video please give it a thumbs up also share it with your friends who are trying for to get a software engineer or a programmer job you can share this video on facebook whatsapp different mediums and hopefully they will find it useful thank you very much for watching
Info
Channel: codebasics
Views: 101,999
Rating: undefined out of 5
Keywords: coding interview tips, programming interview prep, programming interview tips, programming interview preparation, software engineer interview preparation, software engineer interview tips, interview tips for software developer, Tips to crack a coding interview, how to crack coding interview, coding interview, coding interview preparation, how to pass coding interview, coding interview tips and tricks, prepare for coding interview, tips for coding interviews
Id: K_oJLQx2ySY
Channel Id: undefined
Length: 20min 34sec (1234 seconds)
Published: Wed Aug 26 2020
Related Videos
Note
Please note that this website is currently a work in progress! Lots of interesting data and statistics to come.