System design vs. Product design
The key factors of producing or developing a product are product design and system design. These activities may be challenging and resource-driven depending on the type of project or product, but they are interdependent.
On one hand, product design involves generating new creative ideas and concepts and translating them into physical and usable products. Product design requires a lot of creation and innovation. Facebook, like the other FAANG companies, competes fiercely for top creative talents, product designers, and engineers. These talents increase the corporation’s value, drive change, and innovate on new processes and products.
Grow Your Tech Career. Meet Expert coaches from top companies
Facebook system design and product design are completely different interviews. System design describes things from the inside, while product design describes things from the outside.
The main aim of product design is to improve customer satisfaction. Product design is when you work out what to offer and how to best meet the customer’s demand.
System design is when you plan and work out one of the many systems that your company (or product) needs to work well. (A product relies on many systems to be produced, sold, and supported.)
- Facebook product design interview questions and preparation guide
- Amazon system design interview questions
In this article, we will explain these terms in depth. So, you will learn how to distinguish them. We’ll put some samples of interview questions for your better interview preparation, for both - system design and product design interviews.
- System design
- What is system design
- System design interview
- 5 System design interview questions
- Product design
- What is a product design
- Product design interview
- 5 product design interview questions
1. System design
System design is the overall design of a system of connected devices, machines, or modules, in which each component performs a specific function in an organized chain or grid. Examples would be the electrical power grid, the cellular phone system, a city’s subway system, or a car’s brake system.
This is the process of designing a system for a company or an organization based on their requirements. The design can be represented in graphical or in textual modeling languages depending on the requirement of the organization.
1.1 System design interview
System Design Interviews test your design skills and your ability to work with complex and scalable services. Your performance in these interviews determines what position and salary they will offer you. If you have commendable design- skills, you will get a higher offer.
It is important to remember that the system design interview is a bit counterintuitive: companies are not testing your experience with system design.
Most candidates rarely have much experience working on large-scale systems, and that is okay. It is surprising, but the goal of the system design interview is not to assess your experience in system design.
The system design interview tests two main competencies:
- Your problem-solving and critical thinking skills
- Your ability to make strategic decisions and tradeoffs based on the use case and demands of the system you are working in
That is why it can seem like system design questions have nothing to do with the job you are applying for.
Companies will evaluate your understanding of the following three dimensions:
- Distributed system fundamentals
- The architecture of large-scale web applications
- Designing distributed systems
A good resource to prepare for this interview: Grokking the System Design Interview.
1.2 List of topics for your preparation of system design interview:
- Basics of System Design(Scalability, Reliability, Availability, Efficiency, Latency, Throughput)
- Load Balancing and Caching
- Caching & Data Partitioning
- Data Partitioning, Indexing, SQL Vs NoSQL Database
- CAP Theorem
- Consistent Hashing and Modified Consistent Hashing
- High-Level Design Problem, Client-Server Connection
- Designing the Shortening URL System
- Messaging Service(WhatsApp/FB Messenger/Telegram)
- Messaging Service continued and Twitter Design
- Rate Limiter
- Uber Design
- YouTube Design
Think availability, scalability, partition tolerance, reliability. Storage, databases, core systems.
See also: Data Structure and algorithm interview questions and answers
5 samples of system design interview questions
- Explain how you would design a tinyURL system?
- How do you design a shared drive?
- How would you design a search engine?
- What is required to design a garbage collection system?
- How do you design a web crawler, and when should it be used?
2. Product Design
Product Design was being used mostly for physical products until the 2000s.
After UX and UI products became more visible in markets, they started to use them too. Now it covers a much larger field.
Physical product design is the conceptual and detailed design of a specific consumer or industrial product. Product design also refers to software products or applications.
For a better understanding:
It is the profession that covers the whole processes of every product which needs to be designed. Industrial design or interface design, and the whole processes of theirs.
From mechanical engineering to coding and branding to marketing phases.
As for every process, there are different designers, engineers, specialists, or strategists working on - product designers must be aware of most of those processes, and able to guide and give consultation to all those people in one direction, by having constant and close relationships with them.
They can be industrial designers, graphic designers, product managers, entrepreneurs, marketing people, or engineers (as long as they are confident and savant for the whole process).
It covers a really large area. Product designers must have (10+ years) of experience, people or leaders, who may control and manage those processes.
2.1 Product design interview
Product design interviews - recommended for candidates working full stack/middle tier backend. Think APIs, data modeling, how the client and server interact, how a user may interact with it, etc. If you are currently working on a user-facing product, this may be a good choice.
I wrote more about the product design interview process and how to prepare for the product design interview, in an article called Facebook product design interview questions and preparation guide. Follow the link. It might be useful for your interview preparation.
5 samples of product design interview questions
1. How do you think a design process should begin?
2. What is more important to you, design or function?
3. Can you describe a time when your recommendation improved the design process?
4. How do you keep abreast of the latest design trends?
5. Tell me about a time when someone disagreed with you. How was this resolved?
3. Practice mock interviews with Interviewhelp.io
Our team of experts from Facebook, Apple, Google, Twitter, Amazon, and other tech companies will teach you what questions to expect in your interviews, how to answer them and provide you with feedback.