System Design Flashcards
What is system design in software engineering?
System design is the process of defining the architecture, modules, interfaces, and data for a system to satisfy specified requirements.
True or False: System design only focuses on coding and implementation.
False
What are the two main types of system design?
High-level design and low-level design.
Fill in the blank: High-level design focuses on the overall _____ of the system.
architecture
What is the purpose of flowcharts in system design?
Flowcharts visually represent the flow of control or data through a system.
What is a data flow diagram (DFD)?
A DFD is a graphical representation of the flow of data within a system.
Multiple choice: Which of the following is NOT a component of system design? A) Architecture B) Database Schema C) User Interface D) Coding Standards
D) Coding Standards
What is the role of a senior software engineer in system design?
A senior software engineer provides technical leadership, guides design decisions, and ensures best practices are followed.
True or False: Scalability is an important aspect of system design.
True
What does ‘scalability’ mean in the context of system design?
Scalability refers to the ability of a system to handle increased load without compromising performance.
Fill in the blank: A _____ is an abstract representation of the system’s functionality.
use case
What is the significance of user stories in system design?
User stories help capture user requirements and expectations for the system.
Multiple choice: Which design pattern is used to create a single instance of a class? A) Singleton B) Factory C) Observer D) Strategy
A) Singleton
What is a microservices architecture?
A microservices architecture is a design approach where a system is composed of small, independent services that communicate over networks.
True or False: Load balancing is not a concern in system design.
False
What is the purpose of load balancing in system design?
Load balancing distributes incoming network traffic across multiple servers to ensure no single server becomes overwhelmed.
Fill in the blank: A _____ is a representation of the system’s data structure.
data model
What is the difference between synchronous and asynchronous communication?
Synchronous communication occurs in real-time, while asynchronous communication allows for messages to be sent and received at different times.
Multiple choice: Which of the following is a benefit of using cloud services in system design? A) Cost efficiency B) Increased complexity C) Limited scalability D) Vendor lock-in
A) Cost efficiency
What is a system architecture diagram?
A system architecture diagram illustrates the components of a system and their relationships.
True or False: Prototyping is a useful technique in system design.
True
What is the primary goal of system design?
To create a blueprint for building a system that meets user requirements and is efficient, scalable, and maintainable.
Fill in the blank: A _____ is a collection of related data items.
database
What is the significance of API design in system design?
API design determines how different software components interact and communicate with each other.
Multiple choice: Which of the following is NOT a system design principle? A) Modularity B) Coupling C) Redundancy D) Obsolescence
D) Obsolescence