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
Q

Multiple choice: Which of the following is NOT a system design principle? A) Modularity B) Coupling C) Redundancy D) Obsolescence

A

D) Obsolescence

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

What is the purpose of system testing in the design process?

A

System testing ensures that the system meets the specified requirements and functions correctly.

27
Q

True or False: Documentation is an essential part of system design.

A

True

28
Q

What is a ‘design review’?

A

A design review is a meeting where stakeholders evaluate the design to ensure it meets requirements and standards.

29
Q

Fill in the blank: The _____ layer of a system design refers to the user interface.

A

presentation

30
Q

What is meant by ‘technical debt’ in system design?

A

Technical debt refers to the implied cost of future refactoring due to shortcuts taken in the design or implementation.

31
Q

Multiple choice: Which design technique involves breaking a system into smaller components? A) Decomposition B) Composition C) Integration D) Aggregation

A

A) Decomposition

32
Q

What does ‘fault tolerance’ mean in system design?

A

Fault tolerance is the ability of a system to continue functioning in the event of a failure of one or more components.

33
Q

True or False: Performance optimization is not necessary during system design.

A

False

34
Q

What is the role of a system architect?

A

A system architect is responsible for the high-level design and overall structure of a system.

35
Q

Fill in the blank: A _____ is a set of rules that define how data is exchanged between systems.

A

protocol

36
Q

What is the significance of version control in system design?

A

Version control helps manage changes to the system’s design and codebase over time.

37
Q

Multiple choice: Which of the following is a common database type? A) SQL B) HTML C) CSS D) XML

A

A) SQL

38
Q

What does ‘CI/CD’ stand for in software development?

A

Continuous Integration / Continuous Deployment

39
Q

True or False: User feedback is irrelevant after the system design phase.

A

False

40
Q

What is the purpose of a ‘technical specification’ document?

A

A technical specification document outlines the technical requirements and design decisions for a system.

41
Q

Fill in the blank: A _____ is a diagram that shows the sequence of messages exchanged between objects.

A

sequence diagram

42
Q

What is a ‘design pattern’?

A

A design pattern is a general reusable solution to a commonly occurring problem in software design.

43
Q

Multiple choice: Which of the following is a design pattern for creating objects? A) Observer B) Factory C) Singleton D) All of the above

A

D) All of the above

44
Q

What does ‘decoupling’ refer to in system design?

A

Decoupling refers to reducing the dependencies between components to improve flexibility and maintainability.

45
Q

True or False: A well-designed system should be easy to maintain.

A

True

46
Q

What is the purpose of system monitoring?

A

System monitoring helps track performance, detect issues, and ensure system reliability.

47
Q

Fill in the blank: _____ testing is used to test how a system behaves under heavy load.

A

Load

48
Q

What is a ‘service-oriented architecture’ (SOA)?

A

SOA is an architectural pattern where software components provide services to other components via a communication protocol.

49
Q

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

A

B) Easier maintenance

50
Q

What does ‘data redundancy’ mean in system design?

A

Data redundancy refers to the unnecessary duplication of data within a system.

51
Q

True or False: Security is a critical aspect of system design.

A

True

52
Q

What is a ‘system boundary’?

A

A system boundary defines the scope of the system, distinguishing between what is inside and outside of the system.

53
Q

Fill in the blank: _____ analysis is used to identify potential risks in a system.

A

Risk

54
Q

What is the role of a database administrator (DBA) in system design?

A

A DBA is responsible for managing and maintaining the database systems used in a software application.

55
Q

Multiple choice: Which of the following is a common type of software architecture? A) Monolithic B) Microservices C) Serverless D) All of the above

A

D) All of the above

56
Q

What is the significance of user experience (UX) in system design?

A

UX focuses on the overall satisfaction of users when interacting with a system, influencing design decisions.

57
Q

True or False: System design should consider future growth and changes.

A

True

58
Q

What is a ‘composite pattern’?

A

A composite pattern is a design pattern that allows you to compose objects into tree structures to represent part-whole hierarchies.

59
Q

Fill in the blank: _____ testing is performed to verify individual components of a system.

A

Unit

60
Q

What is the difference between ‘functional’ and ‘non-functional’ requirements?

A

Functional requirements specify what the system should do, while non-functional requirements specify how the system performs its functions.

61
Q

Multiple choice: Which of the following is NOT a non-functional requirement? A) Performance B) Security C) Usability D) Functionality

A

D) Functionality

62
Q

What does ‘API gateway’ mean in system design?

A

An API gateway is a server that acts as an entry point for managing API requests and responses.

63
Q

True or False: System design does not require collaboration among team members.

A

False

64
Q

What is the purpose of a ‘user acceptance test’ (UAT)?

A

UAT is conducted to validate that the system meets the needs and requirements of the end-users.