Blog

Lewis C. Lin’s 11 Most Popular Frameworks

August 30th, 2024 by lewis

Lewis Lin

We have a guest post from
Swati Priyam. Swati is a product management veteran with deep technical expertise. She’s held roles at some of the best brands including Expedia, Navis, and EMC. Swati holds a Master of Software Engineering from Carnegie Mellon.

If you’ve worked with Lewis, participated in his workshops, or read his books, you know that he is all about frameworks.

Frameworks help immensely, both on the job and at the interview. Frameworks get you better outcomes and ensure that your thinking and communication is thorough. Frameworks might impress your audience too.

Below, I’ve described his favorite frameworks including when and how you should use them.

The DIGS™ Framework

According to Lewis Lin, when you are asked a behavioral question, instead of giving a boring mechanical answer using the STAR (Situation, Task, Action, Result) method, you must find a way to portray your experiences as interesting, engaging stories that hiring managers can easily understand and enjoy. For that purpose, he developed the DIGS framework as shown below:

  • D ramatize the situation
  • I ndicate the alternatives
  • G o through what you did
  • S ummarize your impact

The Rule of Three

Using the DIGS framework not only allows your interviewer to understand the importance of the story you are talking about but also what you did with all possible alternatives in mind. Lewis Lin recommends using The Rule of Three framework while doing that. A list of 3 things inherently seems more complete than a list of 2 things. On the other hand, a list of 4 or 5 things is too many and might get overwhelming to the interviewer.

Pros and Cons List

While explaining the alternatives, it is very helpful to do a pros and cons list which helps the interviewer understand the thought process of the decision the storyteller made to solve the problem.

5W and H

When you go through details of what you did, you can leverage the 5W and H framework to convince the interviewer that you were on the driver’s seat in your story and not just someone sitting next to the driver. Listed below is the breakdown of this framework along with some examples of how to use them to provide clear details in an interesting way.

  • What did you do?
  • Who did you call?
  • When did you decide to launch?
  • Where was the product launched first?
  • Why did you launch it there?
  • How did you prioritize?

CIRCLES Method by Lewis C. Lin

CIRCLES™ Framework

When asked a product design question, Lewis recommends adopting his CIRCLES Method as shown below to organize your thoughts and provide a complete response without forgetting any step in an interview setting.

  • C omprehend the situation
  • I dentify the customer
  • R eport the customer’s needs
  • C ut through prioritization
  • L ist Solutions
  • E valuate trade-offs
  • S ummarize your recommendations

As you Comprehend the situation, it is usually a good practice to use the 5W and the H question list.

However, in the interest of time, Lewis recommends shortening to just the 3Ws and H instead:

  • What is it?
  • Who is it for?
  • Why do they need it?
  • And how does it work?

The 5Es

To Identify and Report your customer needs and to sketch the activities of the customer, draw a customer journey map.  It helps you uncover product improvement areas easily. While drawing the customer journey map, think about the 5Es checklist to help brainstorm different stages of the customer experience. Here are the 5Es:

  • E ntice: What event triggers a user to enter into the UX funnel?
  • E nter: What are the first few steps in the UX funnel?
  • E ngage: What task(s) is the user trying to accomplish?
  • E xit: How does the user complete the task?
  • E xtend: What follow up actions occur after the user completes the task?

After you have identified the customer and their needs and are onto the step of Listing the solutions, you must remember the Rule of three. Brainstorming on at least 3 or more solutions will help you innovate iteratively and will put you in a comfortable situation as the interviewer critiques your solutions.

AARM™ Metrics

Under the product execution question type, you might be asked to define metrics for a product as you prepare to launch a new feature to the market. AARM metrics is a great analytical framework which gives step-by-step guidance to measure your success. Listed below are some sample questions to ask yourself as you deal with a metrics question.

  • A cquisition – How can you track customer sign-ups for your service?
  • A ctivation – How many users are fully registering for your service?
  • R etention – How many users are returning to use the service often and in turn, helping the business?
  • M onetization – How much revenue are you able to collect from the users?

situation-complication-resolution

The Situation-Complication-Resolution (SCR) Framework

The McKinsey SCR framework enables you to craft a succinct business story. Here is how you should use it:

  • S ituation – Explain the context and facts to familiarize the audience
  • C omplication – What was the problem?
  • R esolution – How did you go about solving the problem?

The ESTEEM™ Method

The ESTEEM Method is a step by step guide for what you should do to climb the PM ladder after you have landed a great PM job. The components are as listed:

  • E xecution – Legendary PMs deliver 5-10x of what regular PMs deliver
  • S uperior communication skills – Legendary PMs are strong communicators
  • T actical awareness – Legendary PMs work smarter, not harder
  • E xtraordinary mental toughness – Legendary PMs don’t quit easily
  • E xceptional team builder – Legendary PMs have a great network of talented people
  • M oonshot vision – Legendary PMs differentiate themselves with a moonshot vision

The PEDALS™ Method

PEDALS is a six-step framework to guide discussion and development of scalable systems. The six steps are:

  • P roccess requirements
  • E stimate
  • D esign the service
  • A rticulate the Data Model
  • L ist the Architectural Comonents
  • S scale

The TROPIC Framework

The TROPIC product metrics framework is a powerful diagnostic tool for product managers to swiftly identify the root causes of changes in product metrics. TROPIC stands for:

  • Time
  • Region
  • Other Features
  • Platform
  • Industry
  • Cannibalization.

By systematically examining these six areas, one can gain valuable insights into why their metrics are shifting. This comprehensive analysis helps pinpoint specific factors affecting product performance, enabling timely and effective actions to address any issues.

Final Thoughts

While these frameworks, methods, and acronyms are very useful in organizing one’s thoughts, one must remember why they are there and how to use them. They are meant to make your life easy.

Remember that these frameworks are just guidelines or checklists, but not full recipes.

For more details, refer to Lewis’ books:

Decode & Conquer by Lewis C. Lin
The Product Manager Interview by Lewis C Lin
The System Design Interview by Lewis C Lin and Shivam P Patel
Be the Greatest Product Manager Ever by Lewis C Lin

Introduction

In the high-stakes arena of job interviews, the way you communicate your experiences and achievements can make or break your chances of landing the role. It’s not just about what you say but how you say it that matters. Are you effectively showcasing your skills and suitability for the job? To help you navigate this crucial aspect of the interview process, we’ve compiled a comprehensive checklist to ensure your responses are engaging, authentic, and tailored to impress.

Maintain Positivity

Ensure your response isn’t overly negative. Even when discussing challenges or failures, focus on what you learned or improved rather than dwelling on the negatives.

Avoid Painting Others in a Negative Light

Be mindful of how you portray colleagues or past employers. Instead of criticizing, highlight collaborative efforts and your ability to overcome obstacles as a team.

Highlight Growth and Learning

When discussing difficult situations, emphasize what you improved or learned from the experience. Showcasing your resilience and adaptability is key.

Conclude on a Positive Note

Always wrap up your response with a positive, measurable outcome. Leave the interviewer with a clear understanding of the impact you made or the results you achieved.

Ensure Relevance

Keep your response focused and relevant to the job you’re applying for. Avoid tangents or irrelevant details that won’t demonstrate your suitability for the role.

Demonstrate Value

Show how your experiences align with the requirements of the position. Highlight specific skills or achievements that directly relate to the job.

Be Clear and Concise

Clearly describe your contributions without getting bogged down in unnecessary details. Keep your response concise, aiming for a length of 2-3 minutes.

Stay Authentic

Avoid embellishing or fabricating stories. Interviewers can often detect insincerity, so stick to genuine experiences that reflect your true capabilities.

Make it Memorable

Add details or anecdotes that make your story memorable and engaging. Personal touches can help you stand out from other candidates.

Link Back to the Role

Always tie your response back to the specific requirements of the job. Help the interviewer see how your experiences make you the ideal candidate for the position.

Avoid Boredom

Keep your response lively and engaging. Explain why your story is important and how it relates to your suitability for the role.

Find the Right Length

Aim for a response that is neither too long nor too short. Strike a balance between providing enough detail to be compelling and keeping the interviewer’s attention.

Conclusion

By following this checklist, you can ensure that your interview responses are compelling, relevant, and memorable. Remember, effective communication is key to making a lasting impression and securing the job of your dreams.

12 Point Checklist for Successful Behavioral Interview Responses

Is your response overly negative?

  • Does your response paint you or people you work/ed with in a negative light?
  • If you were asked to discuss a failure or difficult situation, did you summarize what you improved, or what you learned?
  • Did you conclude with a positive, measurable outcome?

Is your response unclear or irrelevant?

  • Does the story demonstrate what you can do for them?
  • Did you clearly describe what you did?
  • Did you include irrelevant details that won’t help you get the job? (Like too many high level details up about your company or project.)
  • Is the story fake or inauthentic?
  • Does your response link back to the role that you are applying for? Is it relevant to the job?

Is your response boring?

  • Is your response boring? Did you explain why your story is important?
  • Is it too long or too short? (Aim for 2-3 minutes in length.)
  • Do you need to add details to make your story memorable and interesting?
  • Comments Off on 12 Point Checklist for Successful Behavioral Interview Responses

Negotiating a salary can be a tricky business. On the one hand, you want to get paid what you’re worth, but on the other hand, you don’t want to come across as greedy or difficult to work with. Unfortunately, some job seekers take negotiating too far and end up damaging their chances of getting the job. In this post, we’ll explore the perils of negotiating too hard and provide some tips on how to negotiate respectfully.

First, let’s take a look at an example of negotiating gone wrong. Recently, a hiring manager and recruiter shared their experience with a job candidate who had excessive demands and a bad faith attitude during salary negotiations. The candidate was asking for a significantly different title than what was offered, and when the company couldn’t meet their demands, the candidate became hostile and confrontational.

This behavior left a poor taste in the hiring manager and recruiter’s mouth, and they ultimately decided not to hire the candidate. The candidate’s attitude and behavior during the negotiation process gave the impression that they were more interested in money than in the job itself, and that they would be difficult to work with in the future.

So, what can job seekers do to avoid this type of situation? Here are a few tips:

  1. Do your research: Before entering into negotiations, do some research on what the average salary is for the position you’re applying for in your area. This will give you a realistic idea of what to expect and help you set reasonable expectations.
  2. Be respectful and use the right words: Remember that salary negotiations are a two-way street. You want to get paid what you’re worth, but the employer also needs to be able to afford to pay you. Be respectful of the company’s budget and be willing to negotiate in good faith. A big part of coming across respectfully is using the right words. If you’re having trouble figuring out what to say, use time-tested salary negotiation scripts.
  3. Focus on the big picture: Don’t let the negotiation process overshadow the bigger picture. You’re not just negotiating a salary, you’re also negotiating your future with the company. Keep in mind that you want to build a good working relationship with your employer, and that starts with a positive attitude and respectful behavior.

In conclusion, negotiating a salary can be a delicate balance between getting what you’re worth and coming across as difficult or unreasonable. By doing your research, being respectful, focusing on the big picture, and considering non-salary benefits, you can negotiate in good faith and increase your chances of getting the job.

  • Comments Off on Over-Negotiating Job Offers: A Cautionary Tale and 3 Tips for Success

Introduction

The job search process can be a daunting task, but with the advent of AI-powered tools like ChatGPT, it has become more efficient and streamlined. ChatGPT is a large language model that is trained to understand and respond to natural language queries, making it a valuable resource for anyone seeking career advice or guidance. In this blog post, we will explore how ChatGPT can be used to enhance your job search experience.

Resume Writing Assistance

One of the most critical aspects of the job search process is crafting a compelling resume that stands out from the crowd. ChatGPT can help you with this by providing writing assistance and feedback. Simply input your current resume or draft, and ChatGPT will offer suggestions for improvement, such as formatting, wording, and style. It can also help you identify keywords and phrases that are commonly used in your industry, which will increase the chances of your resume being noticed by hiring managers and recruiters.

Job Search Strategies

ChatGPT can help you develop effective job search strategies. You can ask it for advice on where to look for job openings, what keywords to use in your job search, and how to tailor your application materials to specific job postings. By leveraging ChatGPT’s insights and guidance, you can save time and increase your chances of finding job opportunities that match your skills and experience.

Industry Insights

ChatGPT can be a valuable resource for gaining insights into specific industries or job roles. You can ask it about the latest trends and developments in your field, which companies are hiring, and what skills and qualifications are in high demand. By staying up-to-date on industry news and trends, you can position yourself as a more competitive candidate and better understand the job market’s needs.

Networking Assistance

Networking is a crucial part of any job search, and ChatGPT can help you connect with industry professionals and build your network. You can ask it for advice on how to reach out to potential contacts, how to craft an effective introduction, and what to say when following up. Additionally, ChatGPT can help you identify relevant networking events and groups in your area, allowing you to expand your network and increase your chances of finding job opportunities.

Interview Preparation

Preparing for an interview can be nerve-wracking, but ChatGPT can help ease the stress by providing guidance and practice opportunities. It can simulate common interview questions and help you practice your responses, allowing you to refine your answers and gain confidence before the actual interview. Additionally, ChatGPT can provide tips on how to dress appropriately, what to bring to the interview, and how to follow up afterward.

Conclusion

ChatGPT is a powerful tool that can enhance your job search experience in many ways. By leveraging its capabilities for resume writing assistance, interview preparation, industry insights, networking assistance, and job search strategies, you can position yourself as a more competitive candidate and increase your chances of finding the job of your dreams.

  • Comments Off on Revolutionize Your Job Search: How ChatGPT Can Help You Find Your Dream Job

Landing a job interview can be nerve-wracking. You want to make sure you make the best impression possible and that you get the job. In this blog post, we will discuss 7 tips that will help you nail your next job interview!

Tip #1: Preparation is key

One of the most important things you can do to prepare for a job interview is to research the company. Learn as much as you can about their products, services, and culture. This will help you come up with questions to ask during the interview. It will also show the interviewer that you are interested in the company and have done your homework!

Tip #2: Practice makes perfect

The best way to prepare for a job interview is to practice. This will help you feel more confident and prepared for the big day. Practice answering common interview questions, and practice your handshake and eye contact. The more prepared you are, the better!

Tip #3: Build rapport

One of the most important things you can do in a job interview is to build rapport with the interviewer. This means establishing a connection with them and making them feel comfortable. You can do this by being friendly and engaging, and by showing interest in them and their company.

Tip #4: Demonstrate that you’re qualified for the job

In a job interview, it is important to demonstrate to the interviewer that you are qualified for the position. This means highlighting your skills, experience, and accomplishments that make you the perfect candidate for the job.

Tip #5: Dress for success

Dressing professionally for your job interview is always a must. You want to dress in a way that makes you look polished and put together. If in doubt, err on the side of dressing too conservatively rather than too casually.

Tip #6: Ask questions

Asking questions in a job interview is a great way to show that you are interested in the position and the company. It also shows that you have done your research and are prepared for the interview.

Tip #7: Follow up

Following up after a job interview is an important step in the process. This shows that you are still interested in the position and want to be considered for the job. Make sure to send a thank-you note or email within 24 hours of your interview.

By following these tips, you will be well on your way to impressing your interviewer and landing the job. Good luck!

Author’s Note: Do you have any other suggestions for nailing a job interview? Share them in the comments below.

  • Comments Off on The 7 Best Interview Tips for Landing the Job

Have you ever been asked after the interview what questions to ask? Most job seekers spend all their time writing a cover letter and applying for jobs, but they spend very little time thinking about what questions to ask.

Here are some amazing questions that keep you, the candidate, at the forefront of your interviewer’s mind long after your interview has ended.

These questions are specific to the product management position, and any employer will appreciate them. This list will also help you find out what attributes make a product manager successful at their job.

Memorable Questions Product Managers Should Ask at the End of the Interview

  1. What are the most important attributes of an effective product manager?
  2. Who is your favorite manager and what is the best thing you learned from him/her?
  3. How do you feel the product manager role is evolving?
  4. What is the most important lesson you have learned in the past year?
  5. What do you think is the best part about being a product manager?
  6. Why did you become a product manager?
  • Comments Off on 6 Questions Product Managers Should Ask at the End of the Interview

traditional-vs-behavioral-interview-questions

Behavioral interview questions are interview questions about your past experience. They usually start with “Tell me at time…” or “Give me an example…” They are very popular at most every company, especially medium to large corporations.

Hypothetical interview questions revolve around fictitious scenarios that could happen in the future. It’s a way to evaluate what you would do in the future, if you were placed in a similar situation.

Traditional interview questions are typically questions that do not fit the behavioral or hypothetical categories. They’re typically common interview questions such as:

  • Tell me about yourself.
  • Why do you want to join this company?
  • What’s your biggest weakness?

Usually, traditional interview questions are meant to gather background information about a candidate.

Examples of traditional, behavioral, and hypothetical interview questions

Traditional Questions

  • Tell me about yourself.
  • Why did you leave your last company? Did you get fired?
  • What have you been doing since you left the company 8 months ago?
  • Where do you see your career in 5 years? How about 20 years?
  • What’s your biggest weakness?
  • Why should we hire you?

Behavioral Questions

  • Tell me a time when you had to meet an aggressive deadline.
  • Tell me a time when you disagreed with a co-worker.
  • Tell me a time when you solved a difficult problem.
  • Tell me a time when you had to complete a task with limited guidance.
  • Tell me a time when you made a mistake.

Hypothetical Questions

  • What would you do if you had an upcoming deadline you feel is too aggressive?
  • What would you do if you disagreed with a co-worker?
  • What would you do if you had to complete a task with limited guidance?

140 Google Interview Questions

April 14th, 2020 by lewis

JUST PUBLISHED: 60+ KILLER Salary Negotiation Scripts to help you get a higher salary.

Here’s a list of 140 Google interview questions. Many of our clients have interviewed and received Google job offers. Contact us for a free 15 minute interview analysis before your Google interview.

SEE ALSO: Google PM interview classGoogle Software Engineer interview classGoogle Product Marketing interview class

Link to Google interview questions for:

Google Interview Questions: Product Marketing Manager

  • Why do you want to join Google?
  • What do you know about Google’s product and technology?
  • If you are Product Manager for Google’s Adwords, how do you plan to market this?
  • What would you say during an AdWords or AdSense product seminar?
  • Who are Google’s competitors, and how does Google compete with them?
  • Have you ever used Google’s products? Gmail?
  • What’s a creative way of marketing Google’s brand name and product?
  • If you are the product marketing manager for Google’s Gmail product, how do you plan to market it so as to achieve 100 million customers in 6 months?
  • How much money you think Google makes daily from Gmail ads?
  • Name a piece of technology you’ve read about recently. Now tell me your own creative execution for an ad for that product.
  • Say an advertiser makes $0.10 every time someone clicks on their ad. Only 20% of people who visit the site click on their ad. How many people need to visit the site for the advertiser to make $20?
  • Estimate the number of students who are college seniors, attend four-year schools, and graduate with a job in the United States every year.
Google Interview Questions: Product Manager
  • How would you boost the GMail subscription base?
  • What is the most efficient way to sort a million integers?
  • How would you re-position Google’s offerings to counteract competitive threats from Microsoft?
  • How many golf balls can fit in a school bus?
  • You are shrunk to the height of a nickel and your mass is proportionally reduced so as to maintain your original density. You are then thrown into an empty glass blender. The blades will start moving in 60 seconds. What do you do?
  • How much should you charge to wash all the windows in Seattle?
  • How would you find out if a machine’s stack grows up or down in memory?
  • Explain a database in three sentences to your eight-year-old nephew.
  • How many times a day does a clock’s hands overlap?
  • You have to get from point A to point B. You don’t know if you can get there. What would you do?
  • Imagine you have a closet full of shirts. It’s very hard to find a shirt. So what can you do to organize your shirts for easy retrieval?
  • Every man in a village of 100 married couples has cheated on his wife. Every wife in the village instantly knows when a man other than her husband has cheated, but does not know when her own husband has. The village has a law that does not allow for adultery. Any wife who can prove that her husband is unfaithful must kill him that very day. The women of the village would never disobey this law. One day, the queen of the village visits and announces that at least one husband has been unfaithful. What happens?
  • In a country in which people only want boys, every family continues to have children until they have a boy. If they have a girl, they have another child. If they have a boy, they stop. What is the proportion of boys to girls in the country?
  • If the probability of observing a car in 30 minutes on a highway is 0.95, what is the probability of observing a car in 10 minutes (assuming constant default probability)?
  • If you look at a clock and the time is 3:15, what is the angle between the hour and the minute hands? (The answer to this is not zero!)
  • Four people need to cross a rickety rope bridge to get back to their camp at night. Unfortunately, they only have one flashlight and it only has enough light left for seventeen minutes. The bridge is too dangerous to cross without a flashlight, and it’s only strong enough to support two people at any given time. Each of the campers walks at a different speed. One can cross the bridge in 1 minute, another in 2 minutes, the third in 5 minutes, and the slow poke takes 10 minutes to cross. How do the campers make it across in 17 minutes?
  • You are at a party with a friend and 10 people are present including you and the friend. your friend makes you a wager that for every person you find that has the same birthday as you, you get $1; for every person he finds that does not have the same birthday as you, he gets $2. would you accept the wager?
  • How many piano tuners are there in the entire world?
  • You have eight balls all of the same size. 7 of them weigh the same, and one of them weighs slightly more. How can you find the ball that is heavier by using a balance and only two weighings?
  • You have five pirates, ranked from 5 to 1 in descending order. The top pirate has the right to propose how 100 gold coins should be divided among them. But the others get to vote on his plan, and if fewer than half agree with him, he gets killed. How should he allocate the gold in order to maximize his share but live to enjoy it? (Hint: One pirate ends up with 98 percent of the gold.)
  • You are given 2 eggs. You have access to a 100-story building. Eggs can be very hard or very fragile means it may break if dropped from the first floor or may not even break if dropped from 100th floor. Both eggs are identical. You need to figure out the highest floor of a 100-story building an egg can be dropped without breaking. The question is how many drops you need to make. You are allowed to break 2 eggs in the process.
  • Describe a technical problem you had and how you solved it.
  • How would you design a simple search engine?
  • Design an evacuation plan for San Francisco.
  • There’s a latency problem in South Africa. Diagnose it.
  • What are three long term challenges facing Google?
  • Name three non-Google websites that you visit often and like. What do you like about the user interface and design? Choose one of the three sites and comment on what new feature or project you would work on. How would you design it?
  • If there is only one elevator in the building, how would you change the design? How about if there are only two elevators in the building?
  • How many vacuum’s are made per year in USA?
Google Interview Questions: Software Engineer
  • Why are manhole covers round?
  • What is the difference between a mutex and a semaphore? Which one would you use to protect access to an increment operation?
  • A man pushed his car to a hotel and lost his fortune. What happened?
  • Explain the significance of “dead beef”.
  • Write a C program which measures the the speed of a context switch on a UNIX/Linux system.
  • Given a function which produces a random integer in the range 1 to 5, write a function which produces a random integer in the range 1 to 7.
  • Describe the algorithm for a depth-first graph traversal.
  • Design a class library for writing card games.
  • You need to check that your friend, Bob, has your correct phone number, but you cannot ask him directly. You must write a the question on a card which and give it to Eve who will take the card to Bob and return the answer to you. What must you write on the card, besides the question, to ensure Bob can encode the message so that Eve cannot read your phone number?
  • How are cookies passed in the HTTP protocol?
  • Design the SQL database tables for a car rental database.
  • Write a regular expression which matches a email address.
  • Write a function f(a, b) which takes two character string arguments and returns a string containing only the characters found in both strings in the order of a. Write a version which is order N-squared and one which is order N.
  • You are given a the source to a application which is crashing when run. After running it 10 times in a debugger, you find it never crashes in the same place. The application is single threaded, and uses only the C standard library. What programming errors could be causing this crash? How would you test each one?
  • Explain how congestion control works in the TCP protocol.
  • In Java, what is the difference between final, finally, and finalize?
  • What is multithreaded programming? What is a deadlock?
  • Write a function (with helper functions if needed) called to Excel that takes an excel column value (A,B,C,D…AA,AB,AC,… AAA..) and returns a corresponding integer value (A=1,B=2,… AA=26..).
  • You have a stream of infinite queries (ie: real time Google search queries that people are entering). Describe how you would go about finding a good estimate of 1000 samples from this never ending set of data and then write code for it.
  • Tree search algorithms. Write BFS and DFS code, explain run time and space requirements. Modify the code to handle trees with weighted edges and loops with BFS and DFS, make the code print out path to goal state.
  • You are given a list of numbers. When you reach the end of the list you will come back to the beginning of the list (a circular list). Write the most efficient algorithm to find the minimum # in this list. Find any given # in the list. The numbers in the list are always increasing but you don’t know where the circular list begins, ie: 38, 40, 55, 89, 6, 13, 20, 23, 36.
  • Describe the data structure that is used to manage memory. (stack)
  • What’s the difference between local and global variables?
  • If you have 1 million integers, how would you sort them efficiently? (modify a specific sorting algorithm to solve this)
  • In Java, what is the difference between static, final, and const. (if you don’t know Java they will ask something similar for C or C++).
  • Talk about your class projects or work projects (pick something easy)… then describe how you could make them more efficient (in terms of algorithms).
  • Suppose you have an NxN matrix of positive and negative integers. Write some code that finds the sub-matrix with the maximum sum of its elements.
  • Write some code to reverse a string.
  • Implement division (without using the divide operator, obviously).
  • Write some code to find all permutations of the letters in a particular string.
  • What method would you use to look up a word in a dictionary?
  • Imagine you have a closet full of shirts. It’s very hard to find a shirt. So what can you do to organize your shirts for easy retrieval?
  • You have eight balls all of the same size. 7 of them weigh the same, and one of them weighs slightly more. How can you fine the ball that is heavier by using a balance and only two weighings?
  • What is the C-language command for opening a connection with a foreign host over the internet?
  • Design and describe a system/application that will most efficiently produce a report of the top 1 million Google search requests. These are the particulars: 1) You are given 12 servers to work with. They are all dual-processor machines with 4Gb of RAM, 4x400GB hard drives and networked together.(Basically, nothing more than high-end PC’s) 2) The log data has already been cleaned for you. It consists of 100 Billion log lines, broken down into 12 320 GB files of 40-byte search terms per line. 3) You can use only custom written applications or available free open-source software.
  • There is an array A[N] of N numbers. You have to compose an array Output[N] such that Output[i] will be equal to multiplication of all the elements of A[N] except A[i]. For example Output[0] will be multiplication of A[1] to A[N-1] and Output[1] will be multiplication of A[0] and from A[2] to A[N-1]. Solve it without division operator and in O(n).
  • There is a linked list of numbers of length N. N is very large and you don’t know N. You have to write a function that will return k random numbers from the list. Numbers should be completely random. Hint: 1. Use random function rand() (returns a number between 0 and 1) and irand() (return either 0 or 1) 2. It should be done in O(n).
  • Find or determine non existence of a number in a sorted list of N numbers where the numbers range over M, M>> N and N large enough to span multiple disks. Algorithm to beat O(log n) bonus points for constant time algorithm.
  • You are given a game of Tic Tac Toe. You have to write a function in which you pass the whole game and name of a player. The function will return whether the player has won the game or not. First you to decide which data structure you will use for the game. You need to tell the algorithm first and then need to write the code. Note: Some position may be blank in the game। So your data structure should consider this condition also.
  • You are given an array [a1 To an] and we have to construct another array [b1 To bn] where bi = a1*a2*…*an/ai. you are allowed to use only constant space and the time complexity is O(n). No divisions are allowed.
  • How do you put a Binary Search Tree in an array in a efficient manner. Hint :: If the node is stored at the ith position and its children are at 2i and 2i+1(I mean level order wise)Its not the most efficient way.
  • How do you find out the fifth maximum element in an Binary Search Tree in efficient manner. Note: You should not use use any extra space. i.e sorting Binary Search Tree and storing the results in an array and listing out the fifth element.
  • Given a Data Structure having first n integers and next n chars. A = i1 i2 i3 … iN c1 c2 c3 … cN.Write an in-place algorithm to rearrange the elements of the array ass A = i1 c1 i2 c2 … in cn
  • Given two sequences of items, find the items whose absolute number increases or decreases the most when comparing one sequence with the other by reading the sequence only once.
  • Given That One of the strings is very very long , and the other one could be of various sizes. Windowing will result in O(N+M) solution but could it be better? May be NlogM or even better?
  • How many lines can be drawn in a 2D plane such that they are equidistant from 3 non-collinear points?
  • Let’s say you have to construct Google maps from scratch and guide a person standing on Gateway of India (Mumbai) to India Gate(Delhi). How do you do the same?
  • Given that you have one string of length N and M small strings of length L. How do you efficiently find the occurrence of each small string in the larger one?
  • Given a binary tree, programmatically you need to prove it is a binary search tree.
  • You are given a small sorted list of numbers, and a very very long sorted list of numbers – so long that it had to be put on a disk in different blocks. How would you find those short list numbers in the bigger one?
  • Suppose you have given N companies, and we want to eventually merge them into one big company. How many ways are theres to merge?
  • Given a file of 4 billion 32-bit integers, how to find one that appears at least twice?
  • Write a program for displaying the ten most frequent words in a file such that your program should be efficient in all complexity measures.
  • Design a stack. We want to push, pop, and also, retrieve the minimum element in constant time.
  • Given a set of coin denominators, find the minimum number of coins to give a certain amount of change.
  • Given an array, i) find the longest continuous increasing subsequence. ii) find the longest increasing subsequence.
  • Suppose we have N companies, and we want to eventually merge them into one big company. How many ways are there to merge?
  • Write a function to find the middle node of a single link list.
  • Given two binary trees, write a compare function to check if they are equal or not. Being equal means that they have the same value and same structure.
  • Implement put/get methods of a fixed size cache with LRU replacement algorithm.
  • You are given with three sorted arrays ( in ascending order), you are required to find a triplet ( one element from each array) such that distance is minimum.
  • Distance is defined like this : If a[i], b[j] and c[k] are three elements then distance=max(abs(a[i]-b[j]),abs(a[i]-c[k]),abs(b[j]-c[k]))” Please give a solution in O(n) time complexity
  • How does C++ deal with constructors and deconstructors of a class and its child class?
  • Write a function that flips the bits inside a byte (either in C++ or Java). Write an algorithm that take a list of n words, and an integer m, and retrieves the mth most frequent word in that list.
  • What’s 2 to the power of 64?
  • Given that you have one string of length N and M small strings of length L. How do you efficiently find the occurrence of each small string in the larger one?
  • How do you find out the fifth maximum element in an Binary Search Tree in efficient manner.
  • Suppose we have N companies, and we want to eventually merge them into one big company. How many ways are there to merge?
  • There is linked list of millions of node and you do not know the length of it. Write a function which will return a random number from the list.
  • You need to check that your friend, Bob, has your correct phone number, but you cannot ask him directly. You must write a the question on a card which and give it to Eve who will take the card to Bob and return the answer to you. What must you write on the card, besides the question, to ensure Bob can encode the message so that Eve cannot read your phone number?
  • How long it would take to sort 1 trillion numbers? Come up with a good estimate.
  • Order the functions in order of their asymptotic performance: 1) 2^n 2) n^100 3) n! 4) n^n
  • There are some data represented by(x,y,z). Now we want to find the Kth least data. We say (x1, y1, z1) > (x2, y2, z2) when value(x1, y1, z1) > value(x2, y2, z2) where value(x,y,z) = (2^x)*(3^y)*(5^z). Now we can not get it by calculating value(x,y,z) or through other indirect calculations as lg(value(x,y,z)). How to solve it?
  • How many degrees are there in the angle between the hour and minute hands of a clock when the time is a quarter past three?
  • Given an array whose elements are sorted, return the index of a the first occurrence of a specific integer. Do this in sub-linear time. I.e. do not just go through each element searching for that element.
  • Given two linked lists, return the intersection of the two lists: i.e. return a list containing only the elements that occur in both of the input lists.
  • What’s the difference between a hashtable and a hashmap?
  • If a person dials a sequence of numbers on the telephone, what possible words/strings can be formed from the letters associated with those numbers?
  • How would you reverse the image on an n by n matrix where each pixel is represented by a bit?
  • Create a fast cached storage mechanism that, given a limitation on the amount of cache memory, will ensure that only the least recently used items are discarded when the cache memory is reached when inserting a new item. It supports 2 functions: String get(T t) and void put(String k, T t).
  • Create a cost model that allows Google to make purchasing decisions on to compare the cost of purchasing more RAM memory for their servers vs. buying more disk space.
  • Design an algorithm to play a game of Frogger and then code the solution. The object of the game is to direct a frog to avoid cars while crossing a busy road. You may represent a road lane via an array. Generalize the solution for an N-lane road.
  • What sort would you use if you had a large data set on disk and a small amount of ram to work with?
  • What sort would you use if you required tight max time bounds and wanted highly regular performance.
  • How would you store 1 million phone numbers?
  • Design a 2D dungeon crawling game. It must allow for various items in the maze – walls, objects, and computer-controlled characters. (The focus was on the class structures, and how to optimize the experience for the user as s/he travels through the dungeon.)
  • What is the size of the C structure below on a 32-bit system? On a 64-bit?

struct foo {

char a;
char* b;
};

 

Google Interview: Software Engineer in Test
  • Efficiently implement 3 stacks in a single array.
  • Given an array of integers which is circularly sorted, how do you find a given integer.
  • Write a program to find depth of binary search tree without using recursion.
  • Find the maximum rectangle (in terms of area) under a histogram in linear time.
  • Most phones now have full keyboards. Before there there three letters mapped to a number button. Describe how you would go about implementing spelling and word suggestions as people type.
  • Describe recursive mergesort and its runtime. Write an iterative version in C++/Java/Python.
  • How would you determine if someone has won a game of tic-tac-toe on a board of any size?
  • Given an array of numbers, replace each number with the product of all the numbers in the array except the number itself *without* using division.
  • Create a cache with fast look up that only stores the N most recently accessed items.
  • How to design a search engine? If each document contains a set of keywords, and is associated with a numeric attribute, how to build indices?
  • Given two files that has list of words (one per line), write a program to show the intersection.
  • What kind of data structure would you use to index annagrams of words? e.g. if there exists the word “top” in the database, the query for “pot” should list that.
Google Interview: Quantitative Compensation Analyst
  • What is the yearly standard deviation of a stock given the monthly standard deviation?
  • How many resumes does Google receive each year for software engineering?
  • Anywhere in the world, where would you open up a new Google office and how would you figure out compensation for all the employees at this new office?
  • What is the probability of breaking a stick into 3 pieces and forming a triangle?
Google Interview: Engineering Manager
  • You’re the captain of a pirate ship, and your crew gets to vote on how the gold is divided up. If fewer than half of the pirates agree with you, you die. How do you recommend apportioning the gold in such a way that you get a good share of the booty, but still survive?
Google Interview: AdWords Associate
  • How would you work with an advertiser who was not seeing the benefits of the AdWords relationship due to poor conversions?
  • How would you deal with an angry or frustrated advertisers on the phone?
Sources
http://news.ycombinator.com/item?id=266663
http://tihomir.org/crazy-questions-at-google-job-interview/
http://www.drizzle.com/~jpaint/google.html
http://www.gamedev.net/community/forums/topic.asp?topic_id=299692
http://careers.cse.sc.edu/googleinterview
http://job-interview.blogspot.com/2005/02/google-interview-product-marketing.html
http://www.theregister.co.uk/2007/01/05/google_interview_tales/
http://money.cnn.com/2007/08/29/technology/brain_teasers.biz2/index.htm
http://blogs.lessthandot.com/index.php/ITProfessionals/EthicsIT/google-interview-questions
http://placementsindia.blogspot.com/2007/09/google-top-interview-puzzles.html
http://linkmingle.com/user/interview_questions/google_interview_questions
http://discuss.joelonsoftware.com/default.asp?interview.11.626758.33
http://mindcipher.com/puzzle/78-clock-works
http://www.glassdoor.com
http://bluepixel.ca/blog/?p=69
http://www.businessinsider.com/my-nightmare-interviews-with-google-2009-11

SketchNote_640x480

Famous sketch note artist, Sacha Chua, put together the ultimate product manager interview cheat sheet. This beautiful one-page visual summarizes tips, advice, and framework from my book, Decode and Conquer, the world’s first book focused on product management interview preparation.

Sacha’s cheat sheet covers all the goodies from the book:

  • CIRCLES Method™ for answering product design questions
  • AARM Method™ for answering metrics questions
  • DIGS Method™ for answering behavioral interview questions

And her cheat sheet doesn’t stop there. It has reminders on how to solve technical, estimation, strategy, and stress interview questions.

There wasn’t enough room to fit all the interview answers from the book, so do check out Decode and Conquer.

googlelogosept12015

This is a self-guided, 30-day, step-by-step interview prep guide for Google product management (PM) interviews. It’s one of the most popular features from my new book, The Product Manager Interview; this brand new book has over 160 practice questions for product management interviews.

I’ve excerpted that Google PM study guide here.

Best of luck and hope the study guide helps with your product management interviews!

Lewis

30-Day Google PM Interview Study Guide

Day 1. Getting familiar with Google’s PM Interview

Tasks

Goal

Know the scope and nature of the Google PM interview.

Day 2. Getting familiar with the product design interview

Background Reading

  • Read about the CIRCLES design method in Decode and Conquer.
  • Review the product design examples from Decode and Conquer to see how CIRCLES is applied.

Exercises

Do the following pain point exercises in The Product Manager Interview:

  • Child’s 1st Birthday Party
  • Best Handyman
  • Job Search Pain Points
  • Finding Someone to Do Taxes

Do the following customer journey map exercises in The Product Manager Interview:

  • Expedia Journey
  • AirBnB Journey
  • Online Course Journey
  • Job Search Journey
  • Home Improvement Journey
  • Customer Service Journey

Goals

  • Learn about product design questions.
  • Understand the product design framework, CIRCLES.
  • Observe how others answer interview questions with CIRCLES.
  • Practice two parts of the CIRCLES framework:
    1. Listing (brainstorming) solutions
    2. Reporting customer needs (customer journey map).

Day 3. Putting product design questions together with the CIRCLES method

Exercise

Do the following product design exercises in The Product Manager Interview:

  • Disney Experience with Your Phone
  • Improving Google Hangouts

Goals

  • Like a wine connoisseur, detect and deduce how your response differs from the sample. As you become attuned to the differences, your own responses will improve.
  • For now, don’t worry about response quality or speed. Getting started, by practicing, is half the battle.

Day 4 to 10. Putting product design questions together with the CIRCLES method

Exercise

Complete one example a day for the next seven days, choosing from the list of questions from The Product Manager Interview, below.

  1. Improving Google Play Store
  2. Monetizing Google Maps
  3. Mobile App Design for Nest
  4. Favorite Product
  5. Favorite Website
  6. People You May Know
  7. Car for the Blind
  8. ATM for the Elderly

Goals

  • Easily explain why CIRCLES leads to better interview responses.
  • Understand when, how and why one should adapt CIRCLES.

Day 11-13. CIRCLES in Real-life

Exercise

Further improve your product design skills by applying the CIRCLES Method to real-life. For each one of the next three days:

  1. Walk around the neighborhood.
  2. As you walk, use the CIRCLES method to improve everyday items. Here are some design problems you can ponder:
  • How can sidewalks be improved?
  • How can street lamps be more effective?
  • Build a product to solve the dog poop problem.
  • What new products can prevent flat tires in cars or bikes?
  • What innovation can make gardening less of a chore?
  • What innovative new product can make park gatherings be more social, with strangers?

Goal

Acculturating a product design mindset 24 hours a day, both at the interview and in your everyday life.

Day 14*. Find a practice partner for product design

Exercise

Sign up for the product management interview practice group on Slack: bit.ly/PMInterviewGroup

Post a request for a partner or partners in the #req-practice-ptr channel.

Take turns during your practice session. That is, Partner A (interviewer) gives a case to Partner B (interviewee). Then, swap roles.

Coordinate in advance which case each person will receive; to simulate the interview environment, the interviewee should do a case that they are not familiar with. The interviewer should take time to acquaint themselves with the question and the sample answer.

* Repeat the partner practice activity as often as you would like. The best candidates will have practiced at least 20 product design cases.

Goal

Master the product design interview. It is the number one reason why candidates fail the Google PM interview. If you have committed yourself to thoughtful practice, you should be an expert when it comes to tackling product design questions. Use the guidelines below to gauge your product design proficiency:

  • A novice suggests the obvious or copies competitive features. An expert suggests novel and memorable ideas. An expert suggests ideas that make the interviewer go, “Hmm, I wish I thought of that; maybe I should build a company based off of that idea.”
  • A novice mentions user insights that are shallow. The novice does not take interest in users or their motivations. The novice is deficient in user empathy. The expert is a lifelong learner of human psychology and behavior. An expert continually asks questions about what people do and why they do it. As a result, an expert easily points out insights that are urgent, relevant and surprising.
  • A novice follows the CIRCLES method step-by-step, like a home cook trying to make a sophisticated soufflé for the first time. The novice is afraid of making mistakes and clings tightly to a prescribed framework. The novice is so busy trying to recall the different steps of the CIRCLES framework that the novice’s responses sound robotic and textbook. The expert understands that a framework is a checklist, not a recipe. The expert understands that CIRCLES is there to prevent errors of omission. CIRCLES is there to help ensure that the listener’s experience is complete, satisfying and possibly even entertaining.

Day 15. Getting familiar with the metrics interview

Background Reading

  • Read about the AARM framework in Decode and Conquer.
  • Read metrics examples in Decode and Conquer to get familiar with metrics questions in an interview setting.

Exercises

Do the following metrics brainstorming exercises in The Product Manager Interview:

  • Metrics for eCommerce
  • Metrics for Two-sided marketplaces
  • Metrics for SaaS
  • Metrics for Mobile Apps
  • Metrics for Publishers
  • Metrics for User-Generated Website
  • Metrics for Support Tickets

Do the following metrics prioritization exercises in The Product Manager Interview:

  • Most Important Metric: Two-Sided Marketplace
  • Most Important Metric: Mobile App
  • Most Important Metric: eCommerce

Goal

Get more familiarity in coming up with and identifying good metrics.

Day 16. Diagnosing metrics problems

Exercises

Complete the following examples in this book, on your own or with a partner:

  • Shopping Cart Conversions
  • Mobile App Ratings
  • Reddit Posts

Goals

Gain proficiency in brainstorming a complete and exhaustive list of issues when troubleshooting a metric.

Day 17 and 18. Putting the metrics problem together

Exercises

Complete one example a day for the next seven days, both on your own and with your practice partner, from this book.

  • Your Favorite Google Product
  • Drop in Hits
  • Declining Users
  • Slow Download on Kindle
  • Pinterest Metrics
  • Go-to-Market and Success
  • Metrics for Uber Pick-up

Goals

Build proficiency in identifying, prioritizing and diagnosing metrics issues.

Day 19. Getting familiar with the estimation interview

Tasks

  • Read about estimation questions in Interview Math.
  • Read the following estimation examples in Interview Math to get familiar.
    • Women’s Rain Boot Market
    • Smartphone Case Market
    • Subway’s Sales
    • Netflix Subscription Sales

Goals

  1. Learn about estimation questions.
  2. Learn how to setup estimation questions using issue trees.
  3. Learn how to make assumptions.
  4. Try the following estimation questions:
    1. Cars in Seattle
    2. How Many Google Apps Users
    3. Revenue from YouTube Red

Day 20. Practice estimation questions

Tasks

Complete one example a day, from this book, for the next seven days.

  1. Planes in the Air
  2. Gmail Ads Revenue
  3. Google Buses
  4. Gmail Costs
  5. Driverless Car Purchases in 2020
  6. Storing Google Maps
  7. Facebook’s Ad Revenue

Goals

Master estimation questions. Not only is response quality important, but also you should complete most estimation questions in about 10 to 15 minutes.

Day 22. Learn more about strategy questions

Tasks

Read the following chapters in Decode and Conquer.

  • Strategizing: Tradeoffs
  • Strategizing: New Market Entry
  • Strategizing: CEO-Level Issues

Goals

  • Learn about common strategy question types.
  • Figure out how to approach strategy questions using frameworks.
  • See how the frameworks are applied to common PM strategy questions.

Day 23. Practice strategy questions

Tasks

Practice the following strategy questions, in this book, either on your own or with your practice partner:

  1. Google’s TV Cable Service
  2. iPhone Exclusive Partnership

Goals

Provide a response that is thoughtful, logical and addresses the company’s objectives. For more examples of thoughtful strategy responses, refer to the popular blog, stratechery.com.

Day 24. Learn more about pricing questions

Tasks

Read the “Pricing” chapter in The Marketing Interview.

Goals

  • Learn about pricing questions, including the difference between pricing new vs. existing products.
  • Figure out how to approach pricing questions using frameworks.
  • See how to apply pricing frameworks to popular questions.

Day 25. Practice pricing questions

Tasks

Practice the following pricing questions, either on your own or with your practice partner:

  • Pricing New Products
    • Google Driverless Car Pricing
    • Google and Teleportation
  • Pricing Existing Products
    • AWS Price Reduction
    • Kindle Pricing at Target

Goals

  1. Google’s Strategy
  2. Google vs. Microsoft
  3. Google Moonshot Projects
  4. Google Maps in Mongolia
  5. Google Store

Day 26. Traditional and Behavioral Questions

Tasks

  • Read the “Winning the Behavioral Interview” chapter in Decode and Conquer.
  • Draft and polish your answers for the following questions:
    • Tell me about yourself.
    • Why Google?
    • Influencing your team
  • Practice and get feedback from your practice partner

Goals

While Google has an affinity for case questions, you should spend some time preparing for traditional and behavioral questions. Google interviewers usually ask traditional icebreaker questions like “Tell me about yourself” and “Why Google?” However, behavioral interview questions like “Tell me a time when you influenced a team” is a newer occurrence. Google’s HR department, since 2013, has asked its PM interviewers to ask more behavioral interview questions.

Day 27. Getting Familiar with Technical Interview Questions

Tasks

Review the technical topics suggested in: bit.ly/PMPrepPlan

Goals

Gain familiarity with technical concepts and questions. At Google, technical interview questions are reserved for on-site interviews, usually for candidates who have succeeded in other parts of the interview such as product design, analytics and strategy questions.

Day 28. First Try at Technical Interview Questions

Tasks

Attempt the following technical interview questions:

  • 100-Story Building and Two Eggs
  • Reducing Bandwidth Consumption

a
Goals

Try some technical interview questions, with a focus on calming your nerves and approaching questions with open curiosity. The “100-Story Building and Two Eggs” question is an example of an algorithm question. “Reducing Bandwidth Consumption” is an example of a technical architecture question.

Day 29-30*. Second Try at Technical Interview Questions

Tasks

Attempt the following technical interview questions from The Product Manager Interview:

  • Load Balancer for Google.com
  • Dictionary for Scrabble
  • Google Search Services
  • Bayesian vs. AI

* Repeat the technical interview practice activity, as necessary.

Goals

Build confidence tackling technical interview questions.

Photo Credit: Google Inc