As we are having more and more experienced interviewers in Gainlo, we realized that we can help our users in many ways besides mock interview. That’s why we started our first AMA from experienced interviewers last week, which allows anyone to ask us questions regarding code interview preparation tips and we’ll collect and organize answers from several our most experienced interviews.
Now it’s time for us to share all these answers and we found many of them quite general, so I believe a lot of people will have the same question.
1. How do you differentiate in an interview the difference between a junior, mid tier, senior and lead developer?
This is a really good question. In an interview, it won’t be hard to differentiate between them for experienced interviewers. And here are few common criteria:
- Technical skills. It’s not about knowing more advanced data structures or algorithms. Instead, experienced engineers are more proficient in knowing when and how to use each of them and are clearer about efficiency. A common pattern we see is that experienced engineers usually come up with the high level idea faster.
- Experiences. Experiences are more than number of years you are in this industry, it’s evaluated over the whole interview process. It’s hard to put any standards on this, but an example might give you more insights. When asking about pros and cons for a solution, experienced engineers will think a lot of things besides efficiency, like scalability, maintenance, testing, readability etc., which are juniors won’t be able to consider.
- Communication. Sometime you’ll notice that you can tell someone’s level at company by the way he talks with others. I’m not saying higher level people like to issue commands. They are usually more confident when communicating, and can elaborate things clearly. This is a very huge difference and also very important since lead developers will spend a lot of time each time on communicating with other developers.
2. Is there a concept, algorithm or design principle that allows a candidate to convey competence or mastery that is impressive enough to overlook other shortcomings?
In general, if candidates showed great ability in one area like technical skills, it could be possible to overlook his shortcomings in another area as long as it’s not something fatal since you won’t hire someone won’t be able to communicate with others even if he writes perfect codes. It’s like a test that have a minimum threshold for each section and the overall score cares.
However, if you are looking for something that can make you convey competence and get much higher chance, the short answer is no. You can’t ask more points for a single question in an exam. And our interviewers regard this as a common pitfall. Many candidates were too eager to show that they know something fancy, but in most cases they knew no more than few terms, which makes things even worse. Also interviewers won’t know anything, what they really care about is whether this person showed great skills and abilities to work with me. But skills and abilities are different from knowledge, they are evaluated by the whole interview process instead of whether you know something or not.
3. What are main differences between Google and Facebook interview process?
The short answer is that they are very similar and both have a strong focus on basic technical skills like data structure, algorithm, system design, testing and so on. So the general process is that you will have one or two phone screens first, both companies will ask you code online via Google doc or other tools. The questions are easier than on-site and you are expected to write down solution quickly. After that, you will have the on-site interviews which normally take one day with 4-5 rounds. Most of them will ask you to write solid code on white board and discuss with interviewers about code efficiency, optimization etc..
For difficulty, it’s one of the most common questions about these two companies. We noticed that almost 50% people think Google is more difficult and the rest think Facebook is harder. So in general, it’s almost equally difficult for them.
Google cares system design a little bit more. In system design interview, the interviewer will spend 45min with you to discuss about designing a specific system like how to design a recommended system. You might need to write code in some cases, but the focus is on candidates’ experiences, analysis ability, technical skills etc. We’ll cover a detailed guide on how to prepare system design interview later.
Facebook expects engineers to have more thoughts about the company and product. It’s common to be asked to talk about your opinions or suggestions on specific feature of Facebook like it’s timeline or group. And you will also be asked the reason to join Facebook.
In terms of the hiring process, it’s really case by case. It may take 1 week to 1 months to get final decision. For example, if it’s job hunting season like recently, it usually takes longer time. And if you already have an offer that needs to make a decision soon, the process will also become faster. And both companies are also making changes to their processes recently.
To sum up, our interviewers believe that they are quite similar in general and your preparation strategy doesn’t need to adjust a lot for them.
4. How to avoid procrastination in interview preparation?
There are several ways our interviewers found very effective:
- Make a detailed preparation timeline in the beginning and stick to it. Try to make this plan as detailed as possible, like “everyday from 6-9pm I’ll work on Glassdoor”. Also have a clear idea about how long you will spend at each preparation stage. You can check How To Prepare For an Interview In One Month for some ideas.
- Prepare in pairs. You will feel more pressure when someone is preparing together with you and you will feel less lonely at the same time. Sync about progress regularly and you will feel awful when left behind.
- Be realistic about your plan. Things like “I’ll finish all questions on Glassdoor” will never work and it’s also unnecessary. Almost all our interviewers were focused on only several preparation resources, which are way enough for majority of your interviews. Based on your timeline, be honest and realistic about how much you can accomplish each day.
5. What should I say to the interviewer about my work gap when I have been seeking jobs for N years?
The short answer is always be honest. But here are more answers you should know from our interviewers:
First of all, most interviewers won’t care about this at all! At the point you get an interview, your resume is no more than a piece of paper with no use. We’ve seen so many cases that candidates with great resume, great experiences in the past have terrible performance in the interview. Nowadays it can’t be easier to exaggerate your projects on your resume and there’s almost no way to check it. So the result is that most interviewers don’t really care about it and many interviewers just use it to know your name.
Secondly, we suggest people care more about interview preparation instead of things they won’t be able to change, like their past experiences. If you have a great performance in the interview, showing your ability to work in this position, you will definitely be hired. Focusing on things you can change makes much more sense.
6. Please suggest some good books for practicing interview questions in java
First of all, in most interviews the language doesn’t really matter. Your ability to solve the problem and other soft skills are what really matter. So the first suggestion is just following the common preparation guides and you can write your answer in Java. Even if the answer online is in other languages, you shouldn’t have any problem to understand and translate to Java.
Secondly, here are some books that can be helpful for Java developers:
7. How can I crack interview for company X?
Following the general interview preparation is always the first thing and most important thing you should do, which works for almost all companies we’ve been asked about, like PayPal, Dropbox, Pinterest etc.. So there’s no shortcut and please be really good at those basic knowledge like data structure/algorithms.
At the later stage of your preparation, you can adjust your strategy a little bit to be more specific. For example, you can practice with past interview questions from company X and Glassdoor has a lot of resources.
8. What are the common c#, windows forms and web application questions asked for senior developer?
Although there are tons of resources online, we would highly recommend the following two:
A common pitfall is that a lot of people focus more on syntax instead of concept. For example, if you have worked on asp.net, you should have deep understanding of MVC framework, which is an important concept and is much more worthwhile for you to focus on rather than C# language syntax.
We’ve covered most of representative questions here and for questions are too specific or marked as private, we’ll answer them privately via email. If you haven’t got your answer, please email firstname.lastname@example.org and we guarantee to answer every single question!