Skip to content

Keiana's breakdown of interview prep for PM roles across major companies

Notifications You must be signed in to change notification settings

keianasnell/pm-interview-prep

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

7 Commits
 
 
 
 
 
 
 
 

Repository files navigation

Keiana's guide to surviving the product management interview

After one too many people sliding into my Linkedin DMs to get insight (aka referrals) into the PM role, I finally took the time to compile all of the resources I used during my interview process (aka three years of bookmarked links). This absolute shitstorm (sprinkled with some personal anecdotes and advice) of a document is the result. I'm very glad I don't have to do this again anytime soon; I hope it gets you through it too.

Before we start, some very real advice

  • I really hope you get a nice-ass paying job out of all of this! If you don't, it's okay. I did this interview process three goddamn years in a row, and didn't get a single FAANG/top tech internship out of it. Failure is never easy, and it hit me really hard that I wasn't "good enough" for Google or Microsoft. like really hard. I questioned my self-worth constantly (which, is ridiculous in hindsight, because the proportion of population even with the chance to interview at Microsoft is microscopic (lol), and these companies are so notoriously selective they've made movies about it)

    In the meantime, I did UNPAID work at a very old company, participated in Karlie Kloss's coding bootcamp, interned at another unknown startup, and volunteered by teaching computer science in Palestine. Now that I'm actually working at Microsoft, I'm grateful that I had those experiences, because how boring of a person would I be without them?

    There's a larger conversation to have about the "inherent" worth we assign to these companies, and questioning if our work is actually proportional to the satisfaction we receive working there....but I'll leave that to you to dwell on.

  • PLEASE make sure to take care of yourself. There's a toxic culture of overworking that surrounds this process, and it often turns into a competition of whose slept the least or applied to the most companies (see next point). At the end of the day, it's just a job. Get some sleep. Eat balanced and regular meals. Go get some exercise. Hang out with your friends once in a while. Make sure you have someone you can talk to if you're so stressed out. Make sure not all of your conversations are about tech. (God I sound like a mom, or even worse, Jordan Peterson.)

  • Please don't spend too much time lurking /r/cscareerquestions or teamblind; the people who post on these sites are a very absurd extrapolation of the population of candidates, and it will not take very long for you to feel defeated or exhausted by the seemingly endless stream of comparing hours of Leetcode or negotiating $120k vs. $130k MSFT vs Google. use these resources as necessary, but reminder that these people are NOT you and do not have the same experience as you do. chill out.

  • It should be obvious, but this is my personal experience with the interview process. I've disassociated enough to be able to write this guide in hindsight, but my experience in interviewing will definitely not be the same as yours. You might not even have the same goals as I did when I was sociopathically grinding to appear palatable to Big Tech! That's okay! The important thing is you can learn something from this. Saying that, please don't find me on social media and spam me with hate mail that you didn't. thanks!

 

Introduction

So you want to get hired as a PM! Cool, welcome to the club. Seriously, it feels like everyone and their sister is trying for these interviews. Start with actually understanding what product management is, what a PM does, how it's different from typical entry-level roles at tech companies, etc. Then we'll get our hands dirty with the real interview prep ;)

The "before" resources

I call these the "before" resources because they're for before you really start doing anything. These are famous readings about product management, anecdotes from current PMs, and other things you should read before you start any application or DMing anyone on Linkedin.

First, ProductHired's Open Product Management repo is a "curated list of product management advice for technical people" with an insane list of resources.

Second, The Tech Interview Handbook does a great job explaining the logistics from start to end of the actual interview (along with providing helpful resources on algorithms, etc.) I'm not going to explain the actual interview process, and this link does it much better than I could ever. Please refer to as necessary.

If, at this point, you're convinced this is the position you want to go for, let's get started! I would start with getting the essential reading done. These are Cracking the Coding Interview and Cracking the PM Interview, both by iconic tech queen Gayle Laakmann McDowell. These are the bread and butter of tech interviews, especially for candidates still in school. I got physical copies of both because I revisited chapters so often and beat them up with all of the notes and post-its I added, but YMMV (your mileage may vary).

The application process

There are a bajillion lists of all the PM programs floating around the internet, but I found several:

The aggressive candidate will apply to as many companies on those lists as she can, which is totally fine. But honestly, I found myself applying to companies I never actually wanted to work at. Personally, I wanted to pick a dozen or so from the list, and dedicate my time to making myself a kickass application to get that interview.

I suggest making your own excel spreadsheet to track your interviews--where you are in the process for each company, if you have any referrals, any deadlines you need to make, etc. Current candidates ask me all the time for when they should expect to hear back from company X; I can give them my personal experience based on the dates from my spreadsheet.

Job search xslx

(In my experience) the most important factor in getting your foot in the door is a referral. This often leaves people resorting to DMing every employee on Linkedin and blind-messaging former high school classmates at Google on Facebook (guilty); really, this should be a much more thought-out process that starts MONTHS/YEARS before your application. It means getting involved in your local ACM/IEEE/flavor of tech organization of your choice; attending company events and getting to know your recruiter; networking the shit out of yourself. I know it's exhausting and terrible and you would rather spend your time actually having fun, but it makes the referral process a lot less painful when you know people have your back. I made a lot of friends during my time working with UCLA ACM, and it so happens that many of those people are now at top tech companies that are generous with their referrals if I want them. I'm not telling you to farm friends for referrals, but do what you gotta do (in a non-sociopathic way).

  • Of course, a referral is not a guarantee. Sometimes it is just putting your name in a smaller (still gigantic) database of applications, not to be confused with the absolutely endless database of non-referred applications. But having someone vouch for you can be a good indicator.

 

Actual interview preparation

You can use this (totally didn't have these questions in a real interview *wink) sample interview walkthrough as an example for interviews. I find the way I answered the design question in that document to be the successful way I could consistently drum up answers for product designs.

Topic-specific links

Behavioral/personality related

Tell me about yourself are the four words I'm tired of hearing from both first dates and interviewers, but you gotta do what you gotta do. The behavioral part is the chance at a great first impression; my advice is don't be a robot and actually have a conversation with the person on the other side of the table/phone screen. They're also a human being (hopefully they act like one in the interview!)

What companies are looking for:

  • Metacognition about coding. Do you think about how to code well?

  • Ownership/leadership. Do you see your work through to completion? Do you fix things that aren't quite right, even if you don't have to?

  • Communication. Would chatting with you about a technical problem be useful or painful?

  • Nerd out about stuff*. Show you're proud of what you've done, you're amped about what they're doing, and you have opinions about languages and workflows.*

    • example of an interesting technical problem you solved
    • example of an interpersonal conflict you overcame
    • example of leadership or ownership
    • story about what you should have done differently in a past project
    • piece of trivia about your favorite language, and something you do, don't like about the languages
      • What makes {language} different from others?
      • If you could change something about {language}, what would it be?
    • question about the company's product/business
    • question about the company's engineering strategy (testing, Scrum, etc)

Be able to explain your resume to your interviewer. Tell them what you're involved in, what you're passionate about, how that passion has translated into action you've taken in projects/hackathons/volunteering/etc. (that means not adding bullshit bullet points and fluff to make it look like a complete one page). I've heard that certain companies like certain aspects of a candidate's resume: for example, Microsoft looks for teaching/volunteering experience; Facebook looks for hackathon or individual project experience; Google looks for experience with startups or projects developing actually serious products. Use this to tailor your resume as needed (or as motivation to get involved in something).

23 Most Common Interview Questions and Answers in 2017 | Internships.com

  • “Describe a challenging situation/project that you’ve been involved in.”
  • “How would you describe your leadership style?”
  • “How do you deal with failure/challenges? Give an example.”
  • “What is your biggest weakness?”
  • “How do you resolve conflict? Give an example.”
  • “Why do you want to work at ____?”
  • “Where do you see yourself in your career 5/10 years from now?
  • “Why should we hire you?”
  • “What do you like to do in your spare time?”
  • Who is the hardest person you ever worked with? What made the relationship difficult? How did you address that situation? If I called them up today, what would they say about your time together?

Product questions

I split these questions into two categories: "soft"--explaining your understanding of product management/design/etc., providing examples-- and "hard"--designing products from prompts, critiquing your process. Interviewers often start with a "soft" question for a few minutes, then dedicate the majority of the interview to solving one (or several) "hard" questions. Make sure to be well versed in both.

  • soft

    • “What’s a product you love and how would you improve it?”

      The Favorite Product Question: You should never come to a PM interview without having a favorite mobile app, FMCG, company product, etc. For all of your favorite products, you should prepare answers to questions such as:

      • What needs does it solve?
      • Why do people love it?
      • Why do you like it over alternatives?
      • How would you improve it?

      Most importantly, you need to show insight. You need to think of the product as a PM and be able to demonstrate that to your interviewer.Bring competitors, users, and improvements into your answer to show that you understand how the product is successful and that you have insights on how to improve it.

    • "Can you give an example of an unsuccessful product? Why do you think it was unsuccessful?"

    • “Critique a product's design.”

      • define what each product does

      • who is the user

      • go over key design principles -- which principles does it fulfill, or miss?

        • Key design principles
          1. Usefulness. The product is useful if it solves the problem it purports to solve.
          2. Understandability. The product is easy to use and is intuitive.
          3. Efficiency. The product solves a problem efficiently or minimizes work for the user.
          4. User experience. The product delights the user.
          5. Communication. The product provides the necessary feedback to a user to dispel confusion or avoid mistakes.
      • improve: how to fix the missed principles

    • "What would you track after a launch to make sure it is successful? "

      • product metrics:
        1. user Acquisition
        2. Activation
        3. conversion and Retention
        4. Money

    More resources:

  • hard

    • Design a bookcase for children.
    • How would you design an oven for people in a wheelchair?
    • Google maps is launching a version for schools. how would you design this?
    • How would you design a neighborhood park?
    • What would you change about a supermarket to make it better for college students?
    • Design a portal or interactive landing page to replace google.com (or bing.com)
    • How would you design a social/career networking website for entrepeneurs?
    • Pick a target user who you don't feel is well served by Amazon.com. How would you redesign Amazon.com to appeal to them?
    • How would you design a kitchen for a blind person? Handicapped?
    • There is a projector that can project images all 4 walls in the room and it is able to recognize gestures. Design an application that can benefit from this.
    • Design a smart watch.
    • Design an interactive interface inside a taxi.
    • Design a coffee maker.
    • How would you design a beverage machine application?
    • Design a smart TV.
    • Design a steak house iPad menu.
    • Design the Google docs notification system for doc comments.
    • Design a better phone alarm clock app.
    • How would you design a vending machine for a blind person?
    • How would you design a 3 button remote for a TV?
    • How would you redesign or change a rechargeable portable battery?
    • Design a video thumbnail picture selector.

    More resources:

    • Intro to the CIRCLES Method™ Product Design Framework | Impact Interview -- was the most effective way to answer product design questions. Fully comprehending this method and practicing it enough was critical for me.

    • The PM Interview - practice product manager interview questions

    • Practice For Product Interviews

    • StellarPeers | PM QUESTIONS

    • I’d also recommend using the following frameworks when tackling follow-up questions:

      • ROI estimation

        • For interview questions around evaluating or comparing tradeoffs between different features or decisions, the Facebook interviewer wants to see that your decision is grounded in data. And that inevitably means evaluating the net benefit to the company. Now that Facebook is a profit-making, publicly-traded company — net benefit and even user engagement — can be measured in terms of revenues and costs.

          For your different feature choices, calculate the ROI impact of your various options. You can also evaluate the options qualitatively by drawing up a pros and cons list. However, a qualitative comparison is rarely sufficient at the Facebook PM interview.

          If you're not comfortable generating your own revenue estimates, grab this workbook and practice developing estimates from Chapter 4.

      • AARM Method

        • AARM Method stands for four sets of metrics: acquisition, activation, retention, and monetization. It’s a handy metrics checklist when answering questions about appropriate goals and metrics to track as a product manager. For more details on the AARM Method, refer to Decode and Conquer: Answers to Product Management Interviews.
      • Root cause analysis

        • When asked to identify the cause of a WAU drop in the Facebook iPhone app, brainstorm, as best (and quickly) as possible, all the potential causes. Then systematically investigate and rule out each cause to get the root issue.
        • A fishbone diagram may help organize your thoughts, brainstorm a more complete list, and impress the interviewer with your visual communication skills.

Coding problems

Personal note: honestly, I didn't focus too much on grinding in Leetcode for my interviews, and I never really got serious whiteboard questions during any of my PM-specific interviews. Be my guest to spend your time doing this, but I would make sure you have a solid grasp on the fundamentals, then focus more of your time on product-style q's.

  • What is the most efficient way to add an element to a circularly indexed array?
  • Implement a function that returns a boolean of whether two rectangles overlap.
  • Implement a function that returns whether two strings are identical. One of the string can have '*' which means 1 to infinite random characters can be in between and '#' means only one character in between. For ex: abcd vs ab#d --> true, abcd vs abcbcd --> true

Resources:

System design questions

Personal note: I find this to be the topic I overlooked the most for my interview prep. Most of the books I read didn't include too much on sys design, but I was asked questions in both my Google and Microsoft interviews that definitely required preparation from this subject. There are a LOT of links below because I wanted as much info as possible; use at your discretion.

Misc. technical questions

These test less of your ability to code syntactically perfect, and more "did you learn anything in Computer Science?" You should rely on both concepts from class you refreshed on (elevator algorithms are a straight comparison of disk scheduling algorithms from Operating Systems, IMO) and common sense thinking (what would you need as a user of a parking garage?).

  • Design a parking garage.
  • Model the monorail system at Disney World.
  • Design a restaurant-reservation system.
  • Design a hotel room-reservation system.
  • Design an elevator algorithm.

 

Before the actual interview(s)

  • Research the position you're interviewing for. Sounds obvious, but if you can get insight to exactly what team you're interviewing for and who is interviewing you, it'll be much easier heading into the interview to know how to respond and which questions to ask at the end. My final interviews for Microsoft were for COSINE, which at the time included Windows (Core OS) and Intelligent Edge devices (IoT); I prepared to have at least a couple questions about operating systems or device limitations.

  • more advice here would probably be helpful

Company-specific links (accumulated over time, may not be completely relevant)

Google

Facebook

Microsoft

Note that the position at Microsoft is technically called "Program Manager", but it's the same acronym and literally the same role as anywhere else.

Books (for interviews and beyond)

misc. resources
  • Next Tech Course Catalog -- I interned at this startup that builds very useful short courses on relevant tech topics, and recommend it to anyone first starting CS or wanting to brush up on specific skills
  • Big O cheat sheets
  • PM prep resources and books - Google Drive -- by Lewis Lin, same guy who apparently now has a career profiting off of the suffering of PM interview candidates. somewhat helpful resources though
  • Negotiating major SWE offers is a repo I stumbled upon that is not necessarily helpful during the interview process except to provide motivation (at least it did for me). once you get those offers, use this to steer you to your best fit ($$$$$) company!
to add later:
  • pictures of notes from Passion Planner of PM prep

About

Keiana's breakdown of interview prep for PM roles across major companies

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published