How to prepare for technical interview questions in 2023
In this video, "Aneeq Dholakia," co-founder of Edyst, talks about How to Handle Technical Interviews. He discusses what is a technical interview? What does an interviewer expect from freshers? MUST know technical concepts and What is the role of projects in technical interviews?
Overall, technical interview rounds are complex, and advice from someone experienced is essential; in this case, it comes directly from the co-founder of Edyst.
What is a technical round in IT companies?
Technical rounds in IT companies are typically a part of the job interview process in which the interviewer assesses the technical skills and knowledge of the candidate. This round is designed to evaluate the candidate's ability to understand and solve technical problems, as well as their familiarity with programming languages, frameworks, and technologies relevant to the job.
During a technical round, the interviewer may ask questions about the candidate's technical experience, their approach to solving technical problems, and their familiarity with certain tools and technologies. The interviewer may also give the candidate a technical problem to solve or a code challenge to complete, in order to assess their problem-solving skills and ability to write code.
Overall, the goal of a technical round is to determine whether the candidate has the technical skills and knowledge necessary to be successful in the role.
The specific questions asked in a technical round will depend on the job role and the technologies and tools used by the company. However, some common types of questions that may be asked include:
Questions about the candidate's technical experience and skills: These may include questions about the candidate's past projects, technologies they have worked with, and the specific roles and responsibilities they have had.
Questions about specific programming languages or frameworks: The interviewer may ask about the candidate's familiarity with certain programming languages or frameworks, such as Java, Python, or React.
Questions about problem-solving: The interviewer may ask the candidate to describe how they approach solving technical problems, or may give them a problem to solve as part of the interview.
Questions about technical concepts: The interviewer may ask the candidate to explain technical concepts or principles, such as data structures, algorithms, or software design patterns.
Questions about the candidate's interests and knowledge: The interviewer may ask about the candidate's areas of interest within the field of computer science, or may ask about their familiarity with recent developments or trends in the industry.
Overall, the goal of the technical round is to assess the candidate's technical skills and knowledge, and to determine whether they have the ability to understand and solve technical problems.
Difference between technical rounds at IT product companies and IT services companies?
Technical rounds at IT product companies and IT services companies may have some differences, although the specific nature of the technical round will depend on the job role and the technologies used by the company. In general, product companies may place a greater emphasis on the candidate's technical skills and knowledge, as these are crucial for developing and maintaining the company's products. The technical round at a product company may involve more in-depth questions about technical concepts and technologies, as well as problem-solving and coding challenges.
On the other hand, IT services companies may place more emphasis on the candidate's ability to understand and solve technical problems, as well as their communication skills and ability to work in a team. The technical round at a services company may involve more general questions about the candidate's technical experience and skills, as well as their approach to problem-solving.
Overall, the goal of the technical round at both types of companies is to assess the candidate's technical skills and knowledge and determine whether they have the ability to perform the tasks required for the job.
How do freshers prepare for technical rounds at IT companies?
If you are a fresher (a recent graduate or someone with little work experience) and you are preparing for a technical round of an IT company, there are several things you can do to increase your chances of success:
Review the job description and requirements: Make sure you have a clear understanding of the skills and knowledge required for the job.
Brush up on your technical skills: Review the programming languages, frameworks, and technologies that are relevant to the job. If you are not familiar with a particular language or framework, try to learn as much as you can about it.
Practice problem-solving: Solving technical problems is a key part of many IT jobs. Practice solving problems on your own or with friends to improve your problem-solving skills.
Be prepared to explain your projects: If you have completed any projects as part of your academic studies or as a hobby, be prepared to explain them in detail to the interviewer.
Research the company: Showing a genuine interest in the company and its products or services can make a good impression on the interviewer.
Overall, the key to preparing for a technical round is to be well-prepared and confident in your technical skills and knowledge. Practice and review beforehand will help you feel more confident and comfortable during the interview.
Why do most students dislike the technical rounds at IT companies?
There are a few reasons why most students may dislike technical rounds at IT companies:
Lack of confidence: Some students may feel that they are not knowledgeable enough or skilled enough to perform well in a technical round. This can lead to anxiety and discomfort during the interview.
Unfamiliarity with the technologies: If the student has not had much exposure to the technologies and tools used by the company, they may feel overwhelmed or unsure of how to answer questions about them.
Difficulty of the questions: Some technical interview questions can be challenging and require a lot of thought to answer. This can be stressful for some students who are not used to this level of difficulty.
Nervousness: Interviews can be nerve-wracking for many people, and technical rounds can be particularly intimidating for students who are not used to being quizzed on their technical skills.
Overall, technical rounds can be challenging for students, but with proper preparation and practice, it is possible to perform well and increase your chances of success.
What are some common technical interview rounds questions to prepare for an IT company?
Here are some common technical interview questions that you may encounter when preparing for an IT job at a company:
- Describe a technical problem you faced and how you solved it.
- Explain how a particular programming language or framework works.
- Write a piece of code to solve a specific problem.
- Explain the difference between two similar programming concepts or technologies.
- Describe a project you worked on and the technologies you used.
- Explain how a particular algorithm works and how it could be implemented in code.
- Describe how a database works and how it is used in software development.
- Explain the principles of object-oriented programming and give examples of how they are used in practice.
- Describe the steps in the software development process and how you would approach a new project.
- Explain the difference between a front-end and a back-end web application and give examples of technologies used in each.
It is important to note that the specific questions you will be asked will depend on the job role and the technologies and tools used by the company. It is a good idea to familiarize yourself with the technologies and concepts that are relevant to the job and to practice answering questions similar to those listed above.
What happens post technical rounds at IT companies?
After the technical round of an IT company, the interviewer will typically review the candidate's performance and decide whether they should move on to the next stage of the interview process. If the candidate performed well in the technical round and met the necessary technical requirements for the job, they may be invited to participate in additional rounds of the interview process. These rounds might include a behavioral interview, in which the interviewer assesses the candidate's fit for the company culture and their communication and teamwork skills.
If the candidate is not selected to move on to the next round of the interview process, they may receive a rejection letter or email from the company. If the candidate is selected to move on, they may be asked to come back for another round of interviews or to complete a test or other assessment.
Ultimately, the outcome of the technical round will depend on the specific needs and requirements of the company and the candidate's performance in the interview. If the candidate is able to demonstrate their technical skills and knowledge effectively, they may have a good chance of being selected for the next round of the process.
Video Transcript (How to Handle Technical Interview)
Now the other technical concepts that they ask in product
companies, this the next part that I'm going to tell
you would be a separate interview in itself.
In service companies, typically you just had one interview.
So you'll have 5 -10 minutes.
Hey everyone, let's discuss technical interviews today.
I'm getting a lot of questions on technical interviews
specifically for freshers, like what are the questions that
will be asked, what are the topics you need
to revise, what are the important topics, how the
interviews will be conducted and so on.
So this is more of a freewheeling conversation.
I'll tell you all of the experiences we've had
in the last four or five years running Edyst,
where we've got more than 10,000 students placed into
different companies and guided them with technical interviews in
different kinds of companies, both in services companies as
well as product based companies. All right?
So if you don't know the difference between
service and product based companies, you can check
out some other videos for that.
But let's just dive deeper into
this whole thing of technical interviews.
So technical interviews are generally
done after your coding around.
If you are going to take all of
the rounds that are there in an interview,
there are typically speaking about three to four
rounds depending on the company you're going for.
So let's say, for example, the first
a round is usually a coding round.
This could be a coding contest.
Like in services companies, you have your TCS NQT National Qualifier
test or TCS code beta or info NPC So like that
you may have given some kind of a test.
If it's an on campus placement, then you
may have given coding around over there.
Sometimes there are also aptitude questions over there.
This is called the written round.
We are not going to talk about that today.
Our major focus today is about
technical interviews, which is usually the
second round after you're written round.
So let's get into it.
So in your technical interviews, typically the
the interviewer wants to know two, three things.
First thing is the written round that you have written.
Are you actually aware of all the
concepts that you've implemented over there?
So let's say it's a coding around that you had earlier.
They want to know that the coding question that
you have written, the answer you have written, whether
you are able to explain it or not.
And this is why when we are teaching coding to
students, we always make sure to tell you that don't
just get the solution, but get the logic.
And when you're talking to your friends, always
try to explain the logic to them.
Can be in your local language also, it may
not be actually in English with your friends, but
make sure you are getting in the habit of
explaining the logic one by one, line by line.
Because what happens is when you go to the
interview, you end up talking about the code.
So first I wrote for loop, then I wrote while loop.
Then I wrote if condition the interviewer
can already read all of that stuff.
What they are asking for is can you explain your code?
Can you talk about your code?
So that when you join our team and
I ask you to explain what you have
written, you can explain in plain English what
you've actually written the logic that you've written.
So this is a major part of technical interviews.
That is they will either take your written
round code and ask you to explain that
or they will give you a new code.
Let's say if you are going for a
services company, it's going to be something as
simple as Fibonacci series or Factorial.
So they'll ask you to write that code
and they'll ask you to explain that code.
When I say write that code, it could be on pen
and paper or if it's online, then they could just share
a small window with you and you start writing the code
over there and then they'll ask you to explain that.
Now, the language, the programming language
does not matter so much here.
You can write it in C, C++, Java or Python whichever.
But the interviewer is more looking for are you
able to explain these concepts properly or not?
For example, if you are going to write the
code for factorial, I'm hoping that most of you
are aware of the code for Factorial.
Instead of saying sir, I will write a
for loop and then I'll calculate the product.
Instead of that, you say that I'll start with
the number one I'll incrementally go from one to
the nuclear factorial I want to find.
And as I'm going through each number,
I keep multiplying that into my product
and finally I'll print the product.
For example, I'll take one, then I'll take
two, multiply by one, it becomes two.
Then I'll multiply three into the previous
product, which is three into two six.
Then I'll take four multiply into my previous product,
which is four to 624 and so on.
So now, when you explain like this, it doesn't matter if
you did it in C, C++, Java or Python, the
logic remains same throughout for all of the coding questions.
So this is one major
component of your technical interviews.
They are going to ask you
about explaining your coding question.
Be that in the return round or they would have
given you a new coding question in the interview itself.
So that's one.
But it's not only this.
So if you have just been doing coding
practice, let's say competitive programming practice or just
data structure algorithms practice, it's not just related
to this, they will ask you more questions.
Also, just a side note here, for product companies you
will not get such an easy question as a factor.
Here you will get more difficult questions.
And it's always dependent on how you're
able to solve that in optimal time.
So one strategy to follow is show the
answer that you think is the right answer,
but you don't need to optimize it slowly.
You keep talking to the interviewer
and keep optimizing that approach.
So probably started with an order n square approach.
Then the interviewer says, okay, can we do better?
Then you go to an order n login, then an
order n and if the question has an even more
optimal solution, you can go even further over there.
So for product companies, the coding
the explanation is longer than this.
For service companies, typically 510 minutes
is going into code question explanation.
And product companies, sometimes the entire round
can be taken by one such question.
Now the other technical concepts that they ask in product
companies, this the next part that I'm going to tell
you would be a separate interview in itself.
In service companies, typically you just have one interview.
So you'll have five to ten
minutes of technical coding questions.
That is the coding question part explanation of
that and then you're going into technical concepts.
These are concepts generally related to
your syllables, your college engineering syllables.
These would be things like object oriented
programming, data structures, databases and OS and
networking depending on the company.
Some companies don't ask that much
of OS, operating systems and networking.
Some companies do ask that.
Very famous among most interviewers is Data Structures.
There are a lot of interview questions
that are geared specifically for data structures
like using stacks, cues, link lists.
These questions don't appear in coding around, but
They appear most often in technical interviews.
For example, take a given two stacks, or
rather given one stack, generate another stack, which
is the reverse of the first stack.
Now doing this using coding is fairly straightforward,
but when you're in an interview, the interviewer
will put up some specific conditions like you
can't use another stack or you can't use
another queue, or you can't use another array.
And so based on those restrictions, you
have to then answer the interviewer and
change your approach over there.
So Data Structures has a bunch of these questions.
Do check out some of our other
videos where we'll talk about that.
So Data Structure has some
of these interesting interview questions.
Object oriented programming is full
of such interview questions.
You know, your typical polymorphism, abstraction, encapsulation
and inheritance, all of these form a
lot of questions in object oriented programming.
Very specifically here they will go language specific, meaning
that if you are someone who is comfortable in
Python, you could explain Op using Python.
If you're someone who's comfortable in Java, you do that
in C, C++, Java or Python the same thing.
This is where C students generally have a disadvantage
because as a C student you don't really get
that much object oriented programming in your language because
there are not many features of that.
So make sure you are in an object
oriented programming language or Op language so that
you can actually answer these questions.
Now, if you are a non CSC student, this is mainly
the level of questions that you are going to be getting.
Now, since most of you are CSC students these
days, especially with the new branches and so on,
then you definitely need to know your databases and
your OS and networking as well.
But databases definitely.
So there's no excuse for not knowing.
Basics of SQL you definitely need to know the basics
of SQL for sure, and some DBMS concepts as well.
These all are typically what you will
get asked in your technical interviews.
And for services companies, this
is more than sufficient.
Another thing, the last thing that is
super important in technical interviews is projects.
Now, if you have a good project, this
can take up as much as 30 to
40 minutes of your technical interview time.
In many product companies, there is a
one round dedicated just to your project.
Now, this project could be a project you've
done in your college as a research project.
It could be something.
You've done in an internship, it could be something you've
done on your own completely an open source thing.
It's completely fine.
What needs to be there in the project is depth.
Means you can't just have a project
which can be assembled in two days.
If it's that simple, then the explanation
will also not have too many details.
The project needs to have a lot of details in it.
For example, if you're just creating a web app
that tells you the weather it's going to rain
tomorrow or not going to rain tomorrow and so
on, that's a very simple application.
It's a good application to create for your learning, but
it will take about two days for you to create
or even 3 hours for you to create.
Talking about that in an interview is not
going to set you apart from others.
However, if you create a proper web application with, let's say
a clone of Zomato or a clone of Airbnb, if you're
not heard of Airbnb, please do check them out.
But if you create a clone of something like that.
With login logout features.
With going through a bunch of listings.
Being able to comment on listings.
Being able to purchase some things.
Even if a dummy purchase.
If you are able to create such an application.
Then this requires you to create front end.
Create back end.
Credit database and if you're able to deploy it.
Actually run it online. That is.
You deploy it to the cloud. That's great.
Now you have all four or five of the skills
that are required to become a full stack web developer
and you can actually talk about that in an interview.
And it's not just full stack web development.
You can do the same thing with data science,
AI, machine learning blockchain, that's up to you.
But the point is, if you create a project that is
done in two to 3 hours or in two days, it's
not really going to work that well in an interview setting.
Meaning that you might still be able to answer some
questions, but it's not going to set you apart.
However, if you create something that took a month
for you itself to develop, then you will have
that much more to talk about in your interviews.
So just summarizing the entire thing.
In your technical interviews you're going to get
coding questions be that the one you've done
your written round, or the one you are
given in the interview, that's one you'll have
your core curriculum knowledge, that is things like
object oriented programming, data structures, databases, OS networking,
and also I forgot to mention things like
multi threading, exception handling and so on.
Anything that is not going to be asked in
your coding around, but it's still in your syllabus,
is possible to be asked in the technical interviews.
And finally technical projects.
That is the project that you have done.
And if you don't have any project please make sure
to go and at least do some free project something
because some project is better than no project.
So make sure that you have done some project out there.
If you have done an internship, then your
internship experience can also count as your project.
But the point is the interviewer should
have something to discuss with you which
is based in real life application.
So those are the important
topics for technical interviews.
Do subscribe to this channel.
We will cover each of these topics in
depth in the coming few days, but make
sure you subscribe to the channel for that.
Let me know in the comments below what other
kind of experiences you would like us to share
and we'll make videos on that as well.
Thanks a lot for watching everybody.
Do share with your friends who are appearing for
technical interviews and we'll catch you next time.
Thank you so much.