In the name of God,
Hey guys, welcome back to my blog.
In this series, I’m going to explain inside out of my immigration story, plan, and process. I hope it helps people or makes them think again.
In this episode, I’m going to explain everything about my interviews. How I prepared, what I was expecting, what was the material for my studies, and how I prepared.
Before anything else let me explain one important note about interviews. We have 2 types of interviews:
- Interview with a unicorn (Google, Facebook, Amazon, and …) that contains more than just your career background.
- Interview with small to huge size companies focused on your experience.
With a small search, you can easily see the difference between these two. If you are interviewing for the first type this might not be the blog you should be reading. All I can suggest about them is to read the Cracking the Coding Interview and read posts/repositories explaining all about this type.
I never aimed for these companies (yet) so the process I went through pretty much falls into the second type. Thus this post will be about the second type only. I still suggest reading those 2 sources to up your CS skills in general but you may not need them in your interview (or your whole life!).
Every time I want to go for a new role I usually go through a small process before applying.
//In this post, I’m going to explain exactly that process.
I’ll check every Android related website, newsletter, and blog that I can to see if I’m aware of what’s going on around me enough. I find something very interesting usually stop here and try to read and study more about it. But I don’t go too deep as it would be a waste of time. I gain enough info so in case they ask me about in the interview I can answer basic questions and also relate it with other topics that I’m more familiar with.
There are lots of posts and articles listing important topics and questions about each tech field. The way I read them is I first try to go through the questions and answer them off the top of my head. Then I look at the answers and check how much I got correct. Again I’ll dig deeper if I see something totally new or something I have forgotten.
I see people think they already know/studied every interview questions in their field and no need to re-study. The fact is, topics and questions in my field are quite easy to forget. So even if you know something by heart now you could forget it in a month. Honest suggestion: Don’t fool yourself with what you think you know.
For me, some of the basic concepts I forget easily about Android are Lifecycle, Handlers, Services.
I don’t want to rush now since most asked and important as well. So this step usually takes some time.
- Top 20 Java interview questions
- 10 Data Structure, Algorithms, and Programming Courses
- 20 Essential Android Interview Questions
- 50 Android Interview Questions & Answers
- Mindorks Android Interview Questions
- 40 Kotlin Interview Questions Android Devs Should Know
- Kotlin Interview Questions
To make the Interview more efficient, companies have created flows and steps. During my research, I figured there is some sort of a “standard” flow that everyone uses as their base and adjust parts of this flow to make it more compatible and fruitful for them. The flow is like this:
- Phone screening
- Technical Interview
- Cultural/Behavioral Interview
- HR and offer chat/Interview
I’ll talk about each step in greater detail in the following post.
Quite opposite of what most people think, Interviews are not one-sided and both Interviewers and Candidate can ask questions and deduce information. I have talked to many people most of them think they should just talk whenever they are asked and not to propose questions. I can’t say how much this way of thinking is wrong.
Let’s start with an example: Imagine we want to buy a Coconut, we don’t expect to go and pick the Coconut, pay for it, and come out. We usually ask questions about how fresh this is, how big is the coconut, how is it compared to other coconuts, how much should we pay for it, etc.
So now think of your next company as the product you want to buy. I think it is silly not to ask anything from them. There are tons of things you need to know about your next company starting from culture, goals, values, opportunities, plan, etc. Not just about the company but you should also talk/ask about people you are going to spend 8 hours of your everyday life with. This is serious, you need to know inside out of what you are going to invest your energy in. So don’t be shy.
But asking simple and straightforward questions will not help you either. For example, if you ask something along the lines of: Is your company good? , Do you have any plans for the future? , Do you respect people in your team?
You should expect not much benefit from these questions. Most of them can even be answered by yourself! On the other hand, you can not ask how much the interviewer is getting paid! even though the question is very important and the answer can be trivial to you, you should not expect an answer from them.
I’m not the expert in conversations and QAs but there are posts written just for this. make sure to give them a read before you even start applying. The more steps you loose the more you are going to regret it later.
Usually, I can make a decision when I have enough information, Job offers are no exception. I can only decide if this company suits me well if I have gathered enough info during the Interviews.
Don’t lose your next “So do you have any questions from us?” chance.
Practicing is the most important aspect of interviews. I think it’s overwhelming thinking you get only one chance to succeed especially if you have no idea about that chance.
Practicing interviews is hard but essential. It gets more important if you are going to do it in a language other than your native one. English is not my mother tongue so I had to find a way to make sure my language proficiency is enough for the interviews and won’t pull me back. Even though I had a good experience with English exams, Interviews, conversations, lectures, and presentations I felt overwhelmed when I thought about English Interviews. All of these are just to prove how important practicing is. But the question is how do we do it?
I can say there are different ways and tools for different aspects of this practice. What I did for my language was just to talk to different people about tech and not tech stuff to see how much vocab I can pick and how fluent I can sound. Next step was to explain the answers to top interview questions in English. It does not matter if you explain your answers to someone else or a mirror both worked well for me. I could easily see my progress as I repeat these two. From here on every practice was in English.
Next was how to get a feel of Interviews. I asked a fellow Android developer to have an Interview with me over skype. I gave him the questions and answers so he could also evaluate me. I did perform pretty well but was not convinced yet.
As I was searching through the web I found two websites offering mock Interviews just for the same reason.
So before you start Interviewing make sure you have the confidence required to continue.
Reading other people’s experiences is very helpful (probably that’s why you are here as well!). Reading about people going through exactly the same process as you will be a great guide. Finding an interview experience is not that hard these days. Just search the name of the company you applied for in Glassdoor and open the interview tab. This is like a one on one insight. Or you want to dig deeper google the name of the ex-employees and check if they have any more detailed written experience.
So that’s it for all the steps of my Interview preparation. Let me know if I missed anything or you have any other steps. Happy to hear different stories every day.
As always you can find me on Twitter.
Hope you enjoyed it. Thanks for reading.