Most common Interview mistakes
If you are an engineer and have this question that why I always get failed in the interviews? Then you are at the right place.
If you are a well experienced developer and preparing for the interviews then you have increased your chances of clearing it.
If you are an average developer and looking for a job in one of the dream company then this article might give you some easy tricks.
This article is all about various experiences with the candidates who failed in interviews. All the examples in this article will be based on Android or Java.
It is indeed one of the proud moment when we get a job after our bachelor/Masters degree.
And then the rat race begins :). After getting some experience we tend to search for another job to get more exposure, challenges, increment etc, etc.. whatever is the reason. And this cycle continues.
But what next. Did you crack the interview in the company you wanted to join? If no why not? Did interviewer asked you something which you haven’t worked on? Or may be you didn’t prepared well. There can be several reasons.
I have interviewed several hundred engineers in my career and observed few common mistakes normally every candidate will do. So this article is not about pointing out the mistakes but to help you from not losing a good offer :).
In the end you will be in better position to analyse what went wrong and increase your chances of clearing the interviews.
Get your basics Strong:
The most important thing we learn before starting any development is basics. No matter in which language you are doing software development, if the basics are not strong you can’t progress much with anything. Surprisingly I have faced many candidates with very good experience in Android and Java but lack to answer the basic questions. Reason being is they never experienced those things or bothered enough to have an understanding of those concepts.
Few days back I interviewed a Sr. Software Engineer with good experience in Android and Java. I asked him a very simple question.
Example 1:
Please explain Lifecycle of Activity on paper?
So as an Android developer this is the most important thing to know before anything you start with development. So he managed to tell me the different methods called with lot of confusion around onPause() and onStop().
My next question was “What happens to the foreground Activity when you press the home button?”
This was just to test how much he understand the lifecycle flow and he failed to give the correct answer. Being the most basic thing in android and if you fail to answer correctly or with full confidence then it creates a bad impression on interviewer. One of the major reason for getting rejected.
So try to play with basics as much as you can before any interview. Otherwise it can be a major spoiler.
Example 2:
Asked this question to one of the developer with 4 yrs of experience in Java.
Tell me the primitive types in Java? :).
And he mentioned “String” as one of them. So you can’t expect much in this case from interviewer other than getting rejected.
If you don’t know something its always safe to say no than sorry.
Example 3:
My other question was “When to use ArrayList and LinkedList?”.
Now both the data structures have its own advantages and disadvantages. Interviewer would normally try to understand how good you are with data structures. This is very important because the performance can be impacted if you don’t know when to use which data structure.
Its always nice to have an understanding of data structures and its usage before any java interview. Try to get some hands-on if possible.
Don’t memorise but Understand:
There is a difference between what we learn and how much we understand.
Let me explain that with a real example.
One of the recruiter collected all the questions we normally ask in interviews and informed the candidates to prepare those.
So I asked the following questions:
Example 4:
What is Thread?
What is Runnable?
What is the difference between Threads and Runnable?
Till this point he answered everything nicely with all good definitions.
Then I asked him what is MessageQueue?
I asked him another question What is the use of Looper?
He failed to answer both. In fact he was blank. Reason being is if he would have got some understanding of how thread, handlers work he could have definitely answered those. So the spoiler here was your memorisation of answers to the most likely asked questions. This will always put you in trouble if you don’t know how it works. If you are unable to understand try to create a sample app and use these things. This will give you more clarity.
I would suggest to understand threading and other java concepts like where and how to use them in Android before any interview.
Example 5:
Interviewer many times will ask you to solve some algorithm in f2f interviews. But somehow you get this information that there is a list of algorithms from which questions will be normally asked.
So I asked him to Reverse the String “Hello World” . He did it in no time. I was quite impressed as he was pretty fast than other candidates. This was one of the previously asked question. Then I asked him to do it using recursion and it took him 15 min to think and change the same code.
Interviewer can easily find out sometimes how much you know or don’t know. So memorising the algorithms will never help you. Practise is the only way to become a master.
Big O Notation:
I have seen many engineers are afraid of this name :) especially if you are not from Computer Science background. But it is not that difficult seriously.
The moment you get this thought that I can’t do this then you are blocking your mind from everything related to this concept. As an engineer I believe if you can read whole syllabus in whole night before an exam then nothing is difficult to understand :)(Except wife or girlfriends :D)
Big O Notation really helps you in writing a concise and memory efficient code.
If you are applying for companies like Facebook, Google, Amazon, Microsoft..etc then this is the must.
Without its in-depth understanding you can’t solve algorithms properly and hence we end up writing brute force solutions.
Read it, understand, practise it and become a master.
You must be wondering why it is required for Android Application development. Well, it all depends on where you are applying for the job, the product you will be working on and most important the interviewer himself. I have seen many companies won’t ask any questions in this area. So it’s up to you how much you need to prepare.
Don’t Pretend if you don’t know something:
Many times I have seen if you don’t know the answer still we pretend as if we know and give a wrong answer. In this case it is completely fine if you mention that “Sorry I have never used this or didn’t get chance to explore much on this” Interviewer can very well understand or excuse you on that because it is not necessary that you will know everything what he/she asks. It is always good to stay safe then giving wrong answer and increasing your chances of rejections.
Practise on Paper and Whiteboard:
Many times if you are going for a f2f interview then interviewer might ask you to write some code on paper. We developers are too lazy because of IDE’s we work on. We seldom right anything on paper apart from meeting notes. And this is one of the reason we are unable to write any code properly at the time of interview. We tend to make silly mistakes even while initialising the arrays or HashMaps. Even though you know how to do the things but unable to show it on paper then you might fail to impress the interviewer.
Not only code, but practise about your project architecture as well. Many times you will face this question”Please explain the project architecture you are working on currently”.
Interviewer here basically is not interested in your project architecture but checks how much understanding of project you have got based on time spent on the project. How good you are with explaining the things. Can you be fitted in their working environment…etc.
Most important never be afraid of interviews. Its easy to say I know but from my personal experience I can tell you, the more you go with the free mind the more you will perform good.
Nervousness takes away all the confidence and you end up giving silly answers or forget the things.
Consider it as a healthy discussion between two professionals and you have to just tell what you know. Get plenty of sleep before an interview and most important don’t starve.
I hope this article will help you in preparing well for the interviews. If you find it useful please forward it to others.
All the Best! and please comment about your experiences as well. Would love to hear it back.
Some references for preparation: