├── Internships └── preparing-for-microsoft-internship-interviews.md └── README.md /Internships/preparing-for-microsoft-internship-interviews.md: -------------------------------------------------------------------------------- 1 | 2 | # Preparing for a Microsoft SWE Internship Interview 3 | 4 | **Disclaimer:** I did _not_ receive an offer, but I could tell where I fell short. This guide focuses on the areas I know I needed to improve as well as the general process. 5 | 6 | 7 | Courtney Thurston also has an excellent guide on interviewing at Microsoft: 8 | https://github.com/CourtneyThurston/microsoft-internships. This is especially helpful for Explore Interns and anyone 9 | curious about the perks of being an intern. The questions she has listed in her article are useful for practice, although 10 | I wasn't asked any of them. 11 | 12 | ## Before the Interview 13 | **1. Brush up on Cracking the Coding Interview.** 14 | 15 | Don't have a copy? Now you do: https://inspirit.net.in/…/Cracking%20the%20Coding%20Intervi… 16 | 17 | Chapters I'd suggest are 1-4 and 8-11. Although, if you know what sort of team you'll be interviewing with, or what you're more likely to be doing in that position given your experience, feel free to pluck out those chapters too. 18 | 19 | **2. Mock interviews** 20 | 21 | If possible, do a mock interview. Find friends in a CS major or who are engineers who might be willing to help. This site provides free technical mock interviews: https://interviewing.io/ 22 | 23 | Make sure the interviews focus on data structures, algorithms, or recursion. 24 | 25 | **3. Don't let the prep get to your head** 26 | 27 | This was the biggest thing for me. I did so much prep and let myself get so stressed out that I was putting myself down for getting simple questions wrong. It's hard not to do this, but you have to remember that your thought process, not your ability to answer something right, is what's actually being tested here. 28 | 29 | Of course, don't just get the question wrong, but it's okay if you don't finish writing the code for the question if you can explain the steps of your proposed algorithm. 30 | 31 | 32 | ## Interview Day 33 | **4. The interview** 34 | 35 | On interview day your recruiter will tell you what building and time to meet them at. You'll have anywhere between 3-5, interviews, 36 | including lunch with one of your interviewers (which is also an interview). Microsoft does whiteboard interviews, so prepare to write your answers out by hand. Interviews are also extremely data structures and algorithms heavy. 37 | 38 | Here's some tips to live by: 39 | 40 | - Always ask for clarification on different parts of the question before you start writing your solution. 41 | 42 | - Pseudocode an answer before writing it. This can be your list of steps in your algorithm as well as the requirements your algorithm must meet in order to be successful. I personally write a list that I can check off as I go through it, that way I don't forget what I was going to do. With that, some interviewers may accept pseudocode as your answer. 43 | 44 | - Catch edge cases where they'll impact your core algorithm. It's a whiteboard, so when you write one answer you can easily go back and add or erase where you see fit. 45 | 46 | - You will be asked to optimize your solution no matter what. If you think you can create the most optimal solution as your initial answer, go for it. If not, just create some solution that will work and mention that you plan on optimizing it later (if you have time). The team I interviewed with cared that I got /some/ answer on the board, especially if we were low on time. 47 | 48 | **5. Don't get stuck on autopilot** 49 | 50 | Is there a way that you typically answer certain questions? Don't immediately fall into that way, make sure you understand the question fully before you start to write something as you've normally done it in your prep. 51 | 52 | For example, if you're asked to write code that solves the fibonacci sequence, you might immediately write it recursively because that's how you prepped for it - without considering that iteration might be a better choice. Then when asked to optimize the recursive method, you might struggle to see out of this lens that you're used to. This is probably where I got caught up the most. 53 | 54 | **6. Interview Your Interviewers** 55 | 56 | I cannot stress this enough: Ask your interviewers questions, learn about what they do, and what they like about their team. In fact, you might find out that you're not too excited about the team you're interviewing with for a variety of reasons, and that's okay, that's information that you NEED to know before accepting an offer if given to you. 57 | 58 | This internship is a two way street. Yes, your talent may be a good fit for the team, but that doesn't mean the team might be a good fit for you and your growth, and that's okay. 59 | 60 | ## FAQ 61 | 62 | **What happens if you get asked a question that you prepped for?** 63 | 64 | Tell your interviewer. They might ask you to do it anyways, or they might have you do a different question. 65 | 66 | 67 | **Where should I do my prep?** 68 | 69 | LeetCode, Hackerrank, and Cracking the Coding Interview are pretty standard. CtCI is definitely the most helpful in my eyes. 70 | 71 | **How long does it take to hear back from the company?** 72 | 73 | Anywhere between the next day and 2 weeks. Poke your recruiter for updates if you don't hear back after a couple of days. 74 | 75 | **How do team placements work?** 76 | 77 | Team placement at Microsoft typically works with the teams you interviewed with. This process can be a bit disorganized. You may be someone with an interest in design or video games, and you end up interviewing with a team that focuses on data science. Microsoft is a massive company, and sometimes you don't end up somewhere that matches your interests. 78 | 79 | **What happens if I don't get an offer?** 80 | 81 | You keep moving forward. Learn from this process and take this knowledge to future interviews. Sometimes it's not your technical skills that were the problem, maybe your nerves were affecting you, maybe this team didn't have a project they felt you would want to work on or would work with your skills, it's not necessarily a bad thing that you didn't get an offer, it's a learning experience. 82 | 83 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # tech-through-student-eyes 2 | Welcome! This repository is meant to give advice and information on the navigating the tech world as a student, 3 | written by a junior at Cascadia College. 4 | 5 | Topics to be covered include: 6 | - Internships (Applications, Interviews, During the Internship) 7 | - Conferences 8 | - Networking 9 | - Education 10 | 11 | 12 | --------------------------------------------------------------------------------