I ask this question to every Backend Engineer I interview

Video Statistics and Information

Video
Captions Word Cloud
Reddit Comments
Captions
what's going on guys my name is hussain and uh i thought i'm gonna make a little a little bit of a lighter weight video for you guys today taking a break from deep research of backhand engineering right those are can exhaust your mind when you watch these videos and keep learning and learning so i thought i'd talk about talk to you about my interviewing uh techniques and uh by no means it's not perfect and i don't think there is a perfect interview question that you need to memorize to get any job you want uh those might be shortcuts where uh you learn certain thing and you know how what the what the interviewer will ask and based on that you can guess or answer and memorize these things but i don't think this is this is a good strategy in general but that being said my approach is instead of asking oh solve dicastra algorithm or do a a quick sort i'll go to them which can be easily memorized if you think about it right and and as a result you if if you ask these kind of questions and the candidate just memorized them and happened to you guys read or do take these courses right these algorithm courses and come to an interview and nail the interview yeah how do you know they are good they they might have been able to solve these algorithms but it doesn't prove that they have the capability to think on themselves they have the abilities to to have another analytical thinking so that's how the question i uh the question i ask is i'm gonna tell you in a minute but it's a very open winded question span and and it's it's i taylor this question specifically to the back end but i tweak it a little bit based on how how the interview is going and the reason i make it so open-minded is the the the candidate will not be able to kind of give one answer and this is the right answer because guess what that that question doesn't have an answer it's just it it just have a it has like multiple thousands of answers and as a result you can just gauge your your interviewee you can gauge your candidates skills you can gauge how much they know you can gauge uh how willing are they to s to be pragmatic on their solutions all right so three minutes and we didn't ask that question the question is as the following giving given an architecture or system there is a database and there is a back-end web application right the database could be postgres sql server it could be mysql anything you want there is a database there is a web server that is consuming this database right at the back end could be node.js could be django java anything you prefer and there's in front of that there is a reverse proxy that does uh load balancing this thing and i don't specify details if you notice i just say very high level details all right and then this reverse proxy uh could be nginx would be asia proxy could be caddy i just give them examples right and then finally there's this application right this the client application could be a desktop application could be a web browser and the reason i don't say one thing is just to confuse them even more because there are there are just if you pick a web versus desktop the branch first of all that candidate will go to the branch they are most comfortable which which is something i want to know second thing is they if they go to the web that's not wrong it's just i would i want to know where where they're going after that right it's just fascinating to have a discussion after that so this is the stack right and i told them i told the candidates hey you're responsible for the whole stack uh i don't like the word uh full stack engineer uh just because i don't think there is someone who's who can be adept in the whole stack yeah you can you can you can know about the whole thing but to be very well a master on certain thing you have to pick one thing and dive deep into it there's nothing wrong with being a full stack engineer i'm just saying you you will not you'll be a generalist at best right that's that's my idea right but yeah so you're responsible for the whole stack and now i just say here's what happened here's the problem my user is have this application all the way here and they're clicking on a button right and this button when they that the moment they click on this button the application freezes for 60 seconds exactly 60 seconds and then the response comes back and a table is displayed with the results so this button is a is responsible to display the results so i say this is the question where where where what do you do to identify the performance problem in the whole stack and i just let them run with it obviously there is no right or wrong answer the problem right could be in the front end application could be in the reverse proxy there is the reverse property could be choking on something that the the web server could be processing this stuff and it could be that at the database could be just a slow database query that doesn't have indexes or could be we're retrieving too much information or could be we're doing something any anything in this stack right and and based on that it is fascinating for the past 16 years from of my career the different answers i get on these questions and based on that i i have a gut feeling so okay let's hire this guy or gal it's just a gut feeling at the end of the day because oh all right you you will notice that if someone is is really interested in databases they will spend so much time here all their times like okay i might do this i might do this i might go do database tuning i might i might actually uh enable uh database tracing and see how this queries look like i i'm gonna see there's been a lot of time and if they're they're really passionate about front-end engineering you will see most of their time spent on the front end and this is okay i'm gonna look at devtop the devtops dev tools and i do all that stuff i'm gonna check all these networking i'm gonna check the javascript stack i'm gonna stick the event loop and see if i'm doing something wrong and and and sometimes they say stuff i don't even know like uh i'm gonna check react components which i don't underst i don't know anything about right so so yeah it's just it's so and as they took through the stack i see their eyes light up in certain areas and this is where i know this guy or a gal is really passionate about this area right because they're spending a lot of time just discussing this stuff right and if they gloss over this thing doesn't mean they are bad they just they're not interested and that's absolutely fine right so some people spend a lot of time in the reverse proxy and my god i met one gal she was so good she broke down she spent almost like 25 minutes talking about the reverse proxy and how she can optimize it i was baffled she was so good yeah she ended up accepting another offer though but uh yeah so that's that's fascinating uh all this stuff is fascinating to me that's the question i asked guys an interview again it doesn't give you it doesn't give you any it gives you some indication but i don't think there is a question that you can ask yourself that's the gal i want or that's the guy i want i don't think they exist there's there's no way way to find if this person fits your job you can ask them technical question all you want it's like oh what is and sometimes i do that's like if they they uh sometimes i like to make the candidate uncomfortable a little bit like if they spend a lot of time in their front end i know they don't know much about backing so i asked them very very stupid questions that i know they're not gonna answer but i just want them to feel a little bit unease right it's just it's just an move from me and i was like okay what what what is uh talk to me about repeatable read isolation level for example in databases and when we're going to use it obviously this is a little bit of a very technical question and specifically to the relational databases right but i i like to ask this question but they if they didn't answer that does not mean they don't get the job or they are bad not at all right and most engineers that interview for a long time understand this thing there's there's no way it's always a gamble if we hire someone it's always about how you feel gut feeling and gary vee actually says that sometimes says okay i i if i look at someone he's even at the extreme end it's like he looked at someone and said okay you're hired because he quickly fires someone if it doesn't if they they don't perform he doesn't have a problem with that right so this is his approach so he hire hire her and he doesn't have problem with firing so he doesn't have a problem with hiring and he doesn't have problems it's like he joins the trial and based on his gut feeling right and uh yeah so that's the idea of the interview i hope it gives you some some sort of a idea if you're interviewing for a job just be yourself and if you're truly to yourself you're enjoying engineering there is a job out there for you that it just fits you and just be kind be nice be be down to earth and if you know something if you if you don't know something just say i don't know that's absolutely fine it doesn't mean anything right if that the the interviewee if the interviewer asking you difficult questions just just for the sake of they showing their skills then i don't think that's a good interviewer either so it's it's a balance i don't know so i don't think there is a way to to pass an interview right a sure thing way to pass an interview yeah you can memorize all the algorithms you want but i do i never ask any any algorithm question in my job or even my previous jobs for that matter but yeah guys that was that's a quick video today uh i hope you have a wonderful wednesday today's wednesday and uh i'm gonna sing another anything and then i'm gonna see you in the next one i had to head back to work it's around six the morning just uh so that i'm gonna make a video for you guys guys see you in the next one you guys stay awesome goodbye
Info
Channel: Hussein Nasser
Views: 209,842
Rating: undefined out of 5
Keywords: hussein nasser, backend engineering, backend engineers interviews, software engineering interviews, back-end interview
Id: bDIB2eIzIC8
Channel Id: undefined
Length: 11min 44sec (704 seconds)
Published: Wed Aug 12 2020
Related Videos
Note
Please note that this website is currently a work in progress! Lots of interesting data and statistics to come.