System Design Flashcards

1
Q

What is system design in software engineering?

A

System design is the process of defining the architecture, modules, interfaces, and data for a system to satisfy specified requirements.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

True or False: System design only focuses on coding and implementation.

A

False

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

What are the two main types of system design?

A

High-level design and low-level design.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

Fill in the blank: High-level design focuses on the overall _____ of the system.

A

architecture

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

What is the purpose of flowcharts in system design?

A

Flowcharts visually represent the flow of control or data through a system.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

What is a data flow diagram (DFD)?

A

A DFD is a graphical representation of the flow of data within a system.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

Multiple choice: Which of the following is NOT a component of system design? A) Architecture B) Database Schema C) User Interface D) Coding Standards

A

D) Coding Standards

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
8
Q

What is the role of a senior software engineer in system design?

A

A senior software engineer provides technical leadership, guides design decisions, and ensures best practices are followed.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
9
Q

True or False: Scalability is an important aspect of system design.

A

True

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
10
Q

What does ‘scalability’ mean in the context of system design?

A

Scalability refers to the ability of a system to handle increased load without compromising performance.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
11
Q

Fill in the blank: A _____ is an abstract representation of the system’s functionality.

A

use case

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
12
Q

What is the significance of user stories in system design?

A

User stories help capture user requirements and expectations for the system.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
13
Q

Multiple choice: Which design pattern is used to create a single instance of a class? A) Singleton B) Factory C) Observer D) Strategy

A

A) Singleton

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
14
Q

What is a microservices architecture?

A

A microservices architecture is a design approach where a system is composed of small, independent services that communicate over networks.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
15
Q

True or False: Load balancing is not a concern in system design.

A

False

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
16
Q

What is the purpose of load balancing in system design?

A

Load balancing distributes incoming network traffic across multiple servers to ensure no single server becomes overwhelmed.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
17
Q

Fill in the blank: A _____ is a representation of the system’s data structure.

A

data model

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
18
Q

What is the difference between synchronous and asynchronous communication?

A

Synchronous communication occurs in real-time, while asynchronous communication allows for messages to be sent and received at different times.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
19
Q

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

A) Cost efficiency

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
20
Q

What is a system architecture diagram?

A

A system architecture diagram illustrates the components of a system and their relationships.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
21
Q

True or False: Prototyping is a useful technique in system design.

A

True

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
22
Q

What is the primary goal of system design?

A

To create a blueprint for building a system that meets user requirements and is efficient, scalable, and maintainable.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
23
Q

Fill in the blank: A _____ is a collection of related data items.

A

database

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
24
Q

What is the significance of API design in system design?

A

API design determines how different software components interact and communicate with each other.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
25
Multiple choice: Which of the following is NOT a system design principle? A) Modularity B) Coupling C) Redundancy D) Obsolescence
D) Obsolescence
26
What is the purpose of system testing in the design process?
System testing ensures that the system meets the specified requirements and functions correctly.
27
True or False: Documentation is an essential part of system design.
True
28
What is a 'design review'?
A design review is a meeting where stakeholders evaluate the design to ensure it meets requirements and standards.
29
Fill in the blank: The _____ layer of a system design refers to the user interface.
presentation
30
What is meant by 'technical debt' in system design?
Technical debt refers to the implied cost of future refactoring due to shortcuts taken in the design or implementation.
31
Multiple choice: Which design technique involves breaking a system into smaller components? A) Decomposition B) Composition C) Integration D) Aggregation
A) Decomposition
32
What does 'fault tolerance' mean in system design?
Fault tolerance is the ability of a system to continue functioning in the event of a failure of one or more components.
33
True or False: Performance optimization is not necessary during system design.
False
34
What is the role of a system architect?
A system architect is responsible for the high-level design and overall structure of a system.
35
Fill in the blank: A _____ is a set of rules that define how data is exchanged between systems.
protocol
36
What is the significance of version control in system design?
Version control helps manage changes to the system's design and codebase over time.
37
Multiple choice: Which of the following is a common database type? A) SQL B) HTML C) CSS D) XML
A) SQL
38
What does 'CI/CD' stand for in software development?
Continuous Integration / Continuous Deployment
39
True or False: User feedback is irrelevant after the system design phase.
False
40
What is the purpose of a 'technical specification' document?
A technical specification document outlines the technical requirements and design decisions for a system.
41
Fill in the blank: A _____ is a diagram that shows the sequence of messages exchanged between objects.
sequence diagram
42
What is a 'design pattern'?
A design pattern is a general reusable solution to a commonly occurring problem in software design.
43
Multiple choice: Which of the following is a design pattern for creating objects? A) Observer B) Factory C) Singleton D) All of the above
D) All of the above
44
What does 'decoupling' refer to in system design?
Decoupling refers to reducing the dependencies between components to improve flexibility and maintainability.
45
True or False: A well-designed system should be easy to maintain.
True
46
What is the purpose of system monitoring?
System monitoring helps track performance, detect issues, and ensure system reliability.
47
Fill in the blank: _____ testing is used to test how a system behaves under heavy load.
Load
48
What is a 'service-oriented architecture' (SOA)?
SOA is an architectural pattern where software components provide services to other components via a communication protocol.
49
Multiple choice: Which of the following is a benefit of using a modular design? A) Increased complexity B) Easier maintenance C) Slower development D) Higher costs
B) Easier maintenance
50
What does 'data redundancy' mean in system design?
Data redundancy refers to the unnecessary duplication of data within a system.
51
True or False: Security is a critical aspect of system design.
True
52
What is a 'system boundary'?
A system boundary defines the scope of the system, distinguishing between what is inside and outside of the system.
53
Fill in the blank: _____ analysis is used to identify potential risks in a system.
Risk
54
What is the role of a database administrator (DBA) in system design?
A DBA is responsible for managing and maintaining the database systems used in a software application.
55
Multiple choice: Which of the following is a common type of software architecture? A) Monolithic B) Microservices C) Serverless D) All of the above
D) All of the above
56
What is the significance of user experience (UX) in system design?
UX focuses on the overall satisfaction of users when interacting with a system, influencing design decisions.
57
True or False: System design should consider future growth and changes.
True
58
What is a 'composite pattern'?
A composite pattern is a design pattern that allows you to compose objects into tree structures to represent part-whole hierarchies.
59
Fill in the blank: _____ testing is performed to verify individual components of a system.
Unit
60
What is the difference between 'functional' and 'non-functional' requirements?
Functional requirements specify what the system should do, while non-functional requirements specify how the system performs its functions.
61
Multiple choice: Which of the following is NOT a non-functional requirement? A) Performance B) Security C) Usability D) Functionality
D) Functionality
62
What does 'API gateway' mean in system design?
An API gateway is a server that acts as an entry point for managing API requests and responses.
63
True or False: System design does not require collaboration among team members.
False
64
What is the purpose of a 'user acceptance test' (UAT)?
UAT is conducted to validate that the system meets the needs and requirements of the end-users.