Thursday, July 9, 2020

How To Prepare For an Interview In One Month

How To Prepare For an Interview In One Month People always asked us what I should do to prepare for an interview within several weeks. This post is not teaching you any sort of shortcuts or tricks that let you get offers without efforts, instead we want to help you only focus on things that have huge impact on your preparation, thus compress your preparation time within a month. In addition well recommend only one or two resources in each section since theres no need for you to check  a 300 page book or tens of websites. Pareto principle  teaches us that  80% of the effects come from 20% of the  efforts, in other words majority of peoples preparation work only have trivial effects on their interview performance. The key to be efficient in preparation is not getting any super secret resources, instead is by eliminating useless effort and be more focused on those 20% work. After interviewing a lot of Gainlo interviewers, its quite clear that certain preparation patterns/hacks do exist and they can definitely be compressed into weeks. In fact, many of them got their job offers only within 3 weeks preparation. Lets see how those guys including me are using this model and how you can do the same. Day 0: Make concrete timeline and stick to it Given a month preparation time, its very important to make full use of every single day. A common pattern of failure is that people either dont know what to do or have no time in the end. They dont have a detailed plan and theyve no idea of the workload for each task. So the first thing to do before your preparation is always making a detailed plan. You should be clear about how many hours per day youll spend on preparation, how many stages are there, how long is each one and so on so forth. What we highly recommend is to have some fixed period of time everyday that is only used for interview preparation. I know its gonna be hard. For student, you may have lots of course work to do. And for employees, you just cant do it during work hour. But you should always figure out some time EVERYDAY. No time is no excuse. You might have no idea how to make the plan yet. No worries. We will provide a recommended one and you can always tweak based on your case and generally we recommend people spend at least 2-3 hour a day. Stage 1: Basic knowledge review (7-10 days) We assume you already have a computer science background (like CS 3rd year students, new grads or current employees). At this stage, we wanna make sure that you have a very solid technical background, which is the most important thing when preparing an interview. Remember you definitely dont need to read a book like Introduction to algorithms in this stage, otherwise itll take you more than several months. So whats most recommended is reviewing the textbook you used at school. Since you should be quite familiar with it, it wont take you much time to review it again. Here are things you should spend most of your time on: Concepts of each data structures. You shouldnt be confused about stack and queue. Pros and cons of each data structure and when to use each of them. For example, you should be clear when to use tree instead of linked list. Understand basic algorithms like BFS, DFS, sorting algorithms. Its better you can code them without hesitation. Its said that only 10% of programmers can code binary search without bug. Pros and cons of each algorithm and when to use each of them. Be extremely proficient in time/space complexity analysis. Its almost for sure they will be covered in an interview. Things you may omit (Im not saying they are useless, it just can be more efficient to prepare for an interview): Proof time complexity in maths. But you should be able to explain clearly. Dont go too deep for specific data structure and algorithms. Ill provide a list of common/important items below. Recommended resources: The Technical Interview Cheat Sheet   Contains a list of very important data structures/algorithms, and things you should be very familiar with. Big-O cheat sheet   Very straightforward big-o list of common algorithms Stage 2: General technical interview questions (~7 days) There are a lot of classic interview questions that are very inspiring and you definitely need to go over them before your job interview. These questions are very basic and common, many real interview questions are designed on top of them. Thats why once you prepare well with them, youll feel like every interview question is quite familiar to you although its your first time to solve it. There are few things you should keep in mind. First of all, its always better to write down the solution on whiteboard or at least on paper for each question. Weve seen so many cases where the candidate talked about his approach clearly but failed to write down the solution with no bug. Once you try to write down few questions, youll know why I insist on this. Secondly, whenever you notice that certain type of questions you cant handle well, please stop for a little while. Do some research on this topic, it might be you are not quite clear about the concepts, then you should go back to stage 1 to check your book. Or you may be just not familiar with this part, you can Google more questions on this topic to practice. Recommended resources: Cracking the Coding Interview   In this stage you dont really need to read much of its text. Instead you can mainly focus on its questions. Leetcode   Please do not code each question and let it judge for you! Why? It just takes a huge amount of time. What we suggest is to write down answers on whiteboard or paper, and compare with the solution (you can easily find via  Google). Also its unlikely and unnecessary to finish all of them, practicing with those most popular ones is good enough. Step 3: Company-targeted preparation (~7 days) We all know different company has different styles and focuses. Assume you will have your interview 2 weeks later for company X, and here are things you can do to make your preparation process much easier. First of all, try to find your friends, connections who are working there. We also covered this topic in another blog post. Go over your Facebook/Twitter/Linkedin/G+ friends and try your best to get connected with X company employees or ex-employees. If you are applying for a big company, this shouldnt be hard. Then ask as much information as possible about its interview process, what kind of questions were asked, what are their focuses etc.. These information will be valuable for you to adjust your preparation in the last few days. Second, search for interview questions from this company and crack them as many as possible. You will gain so much from this process. Not only will you be familiar with what kinds of questions were asked in the past, but youll be more confident and well-prepared for the upcoming interview. Recommended resources: Glassdoor   Most likely you wont even be able to finish all questions on it. Step 4: Practice and practice (4-7 days) Here are few tips and hacks that are recommended: Use a timer to track your speed. For a general Google/Facebook interview, you should be able to finish 2 questions within 45 mins. So you can conduct interview sessions by yourself and see if you can finish on time. Talk while thinking. Its important to keep communicating with your interviewer while solving a problem and most people prepared interview in silence. Its a good time for you to practice this now. Mock interview. People tend to be nervous when someone is looking over his shoulder. Thats one of the reason why many people failed with questions that they can easily solve at home. Also communication skill is a very important factor to be evaluated. You can conduct mock interview with your friends or Gainlo. Recommended resources: Gainlo Whiteboard/paper/timer Conclusion Good approaches can save you tons of time and at the same time make you more likely to be hired. You dont really need to prepare with competitive programming like TopCoder or delve into a lot maths to prove Big-O. Preparation can be simple. So what do you think of these approaches?

No comments:

Post a Comment

Note: Only a member of this blog may post a comment.