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