How can I prepare for a good interview?

How can I prepare for my Microsoft interview having only two months time?

  • I'm doing an internship at a software company.Now I need to prepare for my placements.I'm having only two months time to prepare for Microsoft.How should I prepare?

  • Answer:

    Thanks for the A2A :) I am assuming that this question is for someone who's going to appear for their internship interview. I'll try to share my experience and also answer on the part if this were intended for the full-time job interview(though I may not be qualified to do so for that. ) Preparing for interviews is generally like preparing for a contest/quiz. You do not know what exactly you must prepare, though you know how the general system is. There are dilemmas on what topics to prioritize. In most cases, what you know already will help you a lot, rather than magically stumbling upon an answer at the moment. In my case, I did not specifically prepare for the interview in the long run. I did not have an action plan/learn-this-before-then list. What I did was, Solve problems on SPOJ now and then. My college's programming forum was very active then, and I was introduced to a lot of questions through that. I learnt new algorithms and smart tips that way. Discuss problems with friends. Taking the forum offline, this usually helps since when you try out a problem which you came across in the forum and discuss with your friend. Probably he had a better solution. This was when there was still 2 months for the internship interviews. As time progressed, not much changed, I still followed the same regime, except that every now and then, I learnt some new algorithm since it was needed to solve problems on SPOJ. Also, for the interviews, certain stuff are very important. Remember your complexities properly. Most of the questions when asked, are mentioned in a format like, "...... with a space complexity of O(1)." or "...... with a time complexity of O(n)." So it helps a lot in identifying the route you must take to approach a problem stated so. This might help. http://bigocheatsheet.com/ 2. Identifying the problem. This, of course, comes by practice, for which you, as have said, have 2 months. Also, refresh and don't forget your basics. Remember what basic operations are. Remember asymptotic notations, you might be given a code and asked its time complexity. Try to read about a wide variety of problems. Even if you have not implemented Kosaraju's algorithm (just a random selection), know what it does. For it might help. Visit these websites, occasionally at least. They are very useful. http://www.careercup.com/ http://www.geeksforgeeks.org/ To sum up, I'd say that 2 months is plenty of time to start preparation :) Have a firm grip on basics, remember the complexities, remember what algorithm does what even if you cannot code the algorithm (be in a position to write pseudo-code at least). If it were a full-time job interview : I think not much would change but the fact that the amount of time and work put in, must be proportionally increased. For hiring full-timers the procedure is almost the same albeit tougher(as far as what I've heard). Edit 1 : Oh, and I completely forgot! Prelimenary rounds may have inference-logic and statement-inference questions, so do make sure you know how to approach these problems. Solving math puzzles now and then should do :) Good luck! :)

Rajkiran Rajkumar at Quora Visit the source

Was this solution helpful to you?

Other answers

As others have said you'll need to make sure you're good enough at algorithms and system design, mainly. In my case when applying for a Microsoft internship in the past, most problems used to be algorithmic in nature. There was a smaller focus on software architectures but this is still an important topic. Moreover, the interview has a special format. For example you may need to code on a whiteboard or paper. You'll have to practice a lot during these two months, so do solve problems on a whiteboard. Don't use your IDE for example. This will prepare you well what's coming. Recently I was part of a team which released HiredInTech, a site offering a free preparation course for coding interviews. We have preparation plans and one of them is very suitable for the 2-month period: http://www.hiredintech.com/the-apprentice-program Check it out, it may be of use in your case. And this Quora answer may also be useful with some more details:

Anton Dimitrov

(You may use following approach) You need to follow a very organized and disciplined approach to prepare for the Software Engineering Job at Facebook/Google/Amazon/Microsoft etc. Actually all these companies e.g. MS, Google, Amazon, Facebook, Apple follow an approach on which that measure the thought process of a candidate. And they use different means to evaluate that, but yes most of them uses Algorithms/Data Structures/Open-ended questions(If you have applied for a software engineering job) as one of the approach to evaluate the talent.( As those are the base to develop the technologies). To be accustomed with algos/data structure/coding , you must have understood/practiced the minimum e.g. : (Step-1): You should have practical understanding of the Algorithms (e.g. When to use BackTracking, When to Use Divide and Conquer, Why double hashing required?, Where brute force concept can be applied?) (50 Hours). (Step-2): You should have practical understanding of Data Structures e.g. (Practical use cases related to :when to use circular buffer , or when to use adjacently list or the combination of both or something else to solve the problem ). (50 Hours) (Step-3) : You must practice several coding problems to implement the things which learn from Step-1 , and Step-2 (you may do the following choose any coding language for the choice of yours (C, C++ or Java or Python or PHP or any one else ). (50 Hours) (Step-4): Solving the problem doesn't mean just to solve it, but to understand the best way to solve it e.g. The given technical problem can use various ways to come to solution, and you might want to use the optimal one. (How you connect the given solution with the computing/memory resources e.g. Memory/Processing Power) (50 Hours) Most Important One. However other than programming you might need to understand the main concept for the interview is to keep the interview active and this requires some action from your side, such as the following: You need to talk. You need to explain. You need to discuss. You need to express your views. You need to understand clearly the questions given to you. You need to understand the interviewer’s expression and mindset to un- derstand those questions. You might need to ask appropriate questions to understand the question or any other discussion item. (50 Hours) And also : Prepare : "Please tell me about your self" , "Your skills related positive/negative further interest" , Basics for the most needed computer science concepts or anything as you presented on your "CV/Resume". (10 Hours) Above is just a sample plan, you may customize the way you want(e.g. 50 hours to 10 hours or something else) - Click to Amazon, to find the best books you might need. (Here Google doesn't mean the Google, it means any company which is very creative to introduce the computer science related products ). (Assuming you are spending 4 hours everyday )

Sumit Arora

If you have a solid foundation of data structure and algorithm, I would say 1-2 months is a great time to prepare for a technical interview as long as you can dedicate enough time everyday. I'd like to share with you some tips and hacks to make you better prepared within this short period of time. I covered this topic in one of my blog post http://blog.gainlo.co/2015/09/25/how-to-ace-your-code-interview-in-one-month/in detail (you can easily adjust it to 2 months), and I'll summarize here as well. 1. Make concrete timeline and stick to it Given 2 months preparation time, it’s very important to make full use of every single day. A common pattern of failure is that people either don’t know what to do or have no time in the end. They don’t have a detailed plan and they’ve 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 you’ll spend on preparation, how many stages are there, how long is each one and so on so forth. What I highly recommend is to have some fixed period of time everyday that is only used for interview preparation. 2. Basic knowledge review At this stage, I wanna make sure that you have a very solid technical background, which is the most important thing when preparing an interview. Remember you definitely don’t need to read a book like “Introduction to algorithms” in this stage, otherwise it’ll take you more than several months. So what’s most recommended is reviewing the textbook you used at school. Since you should be quite familiar with it, it won’t take you much time to review it again. Also I recommend you take a look at https://gist.github.com/TSiege/cbb0507082bb18ff7e4b and http://bigocheatsheet.com/, both have a great summary of important concepts you should be familiar with. 3. Company-targeted preparation We all know different company has different styles and focuses 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 at Microsoft, which shouldn't 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 Microsoft 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 you’ll be more confident and well-prepared for the upcoming interview. 4. Practice and practice Technical interview doesn't only evaluate your coding ability, but a variety of skills and abilities like communication skills, analysis ability etc.. Also many people will feel nervous solving a problem when someone is looking over his shoulder, thus he may even fail in the simplest questions. I'd suggest you to find a friend who is also preparing for an interview, you guys can conduct mock interviews with each other and try to be familiar with this kind of intense atmosphere. A lot of people also want to get good quality feedbacks from experienced interviewers. With that in mind, we worked on building http://www.gainlo.co/, which allows candidate have mock interview with experienced interviewers from top companies like Microsoft, Amazon, Linkedin etc. and will get real feedback to help them improve. Resources: http://www.gainlo.co/ - Get mock interview from experienced interviewers and get feedback Conclusion Good approaches can save you tons of time and at the same time make you more likely to be hired. Since there's only 2 month left, try to spend as much time as you can each day to prepare.

Jake Cook

After researching and reading a lot of interview experience and interview questions of Microsoft, I found these questions as most commonly asked questions... https://dgeekspot.wordpress.com/2015/05/30/microsoft-interview-dont-forget-to-revise-these-most-commonly-asked-microsoft-interview-questions/

Deep Kakkad

Related Q & A:

Just Added Q & A:

Find solution

For every problem there is a solution! Proved by Solucija.

  • Got an issue and looking for advice?

  • Ask Solucija to search every corner of the Web for help.

  • Get workable solutions and helpful tips in a moment.

Just ask Solucija about an issue you face and immediately get a list of ready solutions, answers and tips from other Internet users. We always provide the most suitable and complete answer to your question at the top, along with a few good alternatives below.