Preplp
System Engineer
Session 12System Design~45 min

Docker

15 questions — answer mentally, then read the explanations

Track progress0/21 days
x

What you'll learn

Docker, ContainerizationSystem Design, DockerSystem Design, Docker, KubernetesDatabase Indexing, Database DesignSystem Design, CachingSystem Design, NoSQL, E-commerce
  • Try to answer each question before reading the explanation
  • Cover Docker topics in system design

Questions

Read each question and options, then check the explanation below.

Docker Compose is used to define and run multi-container Docker applications using a __________.

  • A. YAML file
  • B. JSON file
  • C. TOML file
  • D. XML file

Explanation

Answer: YAML file Docker Compose is used to define and run multi-container Docker applications using a YAML file. This file includes configurations for services, networks, and volumes, streamlining the deployment and management of complex applications.

In a scenario where a development team wants to ensure consistent environments across their local machines, staging, and production servers, how can Docker help facilitate this process?

  • A. By providing lightweight containers that encapsulate applications and dependencies
  • B. By offering built-in continuous integration and deployment tools
  • C. By automating the process of environment configuration using scripts
  • D. By abstracting away the underlying infrastructure details

Explanation

Answer: By providing lightweight containers that encapsulate applications and dependencies Docker helps facilitate the process of ensuring consistent environments by providing lightweight containers that encapsulate applications and their dependencies. Developers can package their applications with all the required dependencies and configurations, ensuring consistency across different environments.

Suppose a company needs to deploy a complex application consisting of multiple microservices with different dependencies. Which container orchestration tool would you recommend, Docker Swarm or Kubernetes, and why?

  • A. Kubernetes, because it offers more advanced features and scalability options
  • B. Docker Swarm, because it has a simpler architecture and is easier to set up
  • C. Kubernetes, because it has better integration with other cloud services
  • D. Docker Swarm, because it provides better support for stateful applications

Explanation

Answer: Kubernetes, because it offers more advanced features and scalability options Kubernetes is recommended for deploying complex applications with multiple microservices due to its advanced features, scalability options, and robust ecosystem. It offers powerful orchestration capabilities, including service discovery, load balancing, and automatic scaling, making it suitable for managing complex deployments efficiently.

_________ is an indexing strategy where multiple fields are combined into a single index key.

  • A. Composite Indexing
  • B. Concatenated Indexing
  • C. Clustered Indexing
  • D. Collated Indexing

Explanation

Answer: Concatenated Indexing Concatenated Indexing is an indexing strategy where multiple fields are combined into a single index key. It can improve query performance for specific types of queries involving multiple fields.

Which caching strategy stores frequently accessed items for a predetermined period?

  • A. Least Recently Used (LRU)
  • B. Time-to-Live (TTL)
  • C. First-In-First-Out (FIFO)
  • D. Randomized Eviction

Explanation

Answer: Time-to-Live (TTL) The Time-to-Live (TTL) caching strategy involves storing frequently accessed items for a predetermined period. Items expire after this period, promoting freshness in the cache.

Which of the following is a benefit of using caching systems?

  • A. Increased data consistency
  • B. Higher network bandwidth consumption
  • C. Improved system scalability
  • D. Slower data retrieval times

Explanation

Answer: Improved system scalability Caching systems contribute to improved system scalability by reducing the load on the backend servers, allowing for more efficient resource utilization.

What is the primary purpose of caching systems in a distributed environment?

  • A. Minimizing latency by storing frequently accessed data closer to the user
  • B. Enhancing security through encryption of stored data
  • C. Reducing the need for backups in the distributed system
  • D. Managing user authentication in a centralized manner

Explanation

Answer: Minimizing latency by storing frequently accessed data closer to the user Caching systems aim to minimize latency by storing frequently accessed data closer to the user. This helps in faster retrieval and improved system performance.

A global e-commerce platform needs to handle millions of transactions per day. Explain why a NoSQL database might be a better choice over a traditional RDBMS in this scenario.

  • A. NoSQL databases provide flexible schema design, allowing easy adaptation to changing data structures
  • B. Traditional RDBMS systems offer better transaction support and consistency
  • C. NoSQL databases are more suitable for small-scale applications
  • D. RDBMS systems are inherently more scalable

Explanation

Answer: NoSQL databases provide flexible schema design, allowing easy adaptation to changing data structures A NoSQL database might be a better choice for a global e-commerce platform handling millions of transactions due to its flexible schema design. It allows easy adaptation to changing data structures and accommodates the diverse and dynamic nature of e-commerce data, providing scalability and performance benefits.

In a real-time chat application, describe how replication can be utilized to ensure high availability and fault tolerance.

  • A. Creating duplicate copies of data on multiple servers
  • B. Dividing data into smaller fragments for efficient storage
  • C. Increasing the processing speed of the chat application
  • D. Storing all chat data on a single server

Explanation

Answer: Creating duplicate copies of data on multiple servers Replication in a real-time chat application involves creating duplicate copies of data on multiple servers. This ensures high availability and fault tolerance by allowing the system to continue functioning even if one server fails, maintaining data consistency across replicas.

In a scenario where a social media platform experiences rapid user growth, explain how sharding could be implemented to ensure scalability while maintaining performance.

  • A. Distributing user data based on specific criteria like user ID ranges
  • B. Creating redundant copies of the entire database
  • C. Increasing the capacity of a single server
  • D. Consolidating all user data on a central server

Explanation

Answer: Distributing user data based on specific criteria like user ID ranges Sharding involves distributing user data based on specific criteria, such as user ID ranges, across multiple database servers. This allows for horizontal scaling and efficient handling of a growing user base, ensuring both scalability and performance.

Database normalization helps to minimize _________, which can improve data integrity and reduce redundancy.

  • A. Data Redundancy
  • B. Data Duplication
  • C. Data Fragmentation
  • D. Data Overhead

Explanation

Answer: Data Redundancy Database normalization helps minimize Data Redundancy by organizing data to reduce duplication. This improves data integrity and ensures that updates are made in a consistent manner.

In distributed databases, _________ ensures that each data item is replicated across multiple nodes to prevent data loss.

  • A. Data Sharding
  • B. Data Partitioning
  • C. Data Duplication
  • D. Data Replication

Explanation

Answer: Data Replication Data Replication ensures that each data item is replicated across multiple nodes in a distributed database. This redundancy helps prevent data loss and ensures high availability.

What is the difference between write-through and write-behind caching strategies?

  • A. Write data to both the cache and the underlying storage immediately (synchronous)
  • B. Write data to the cache first and then asynchronously update the underlying storage
  • C. Write data only to the underlying storage, not to the cache
  • D. Write data to the cache, and the underlying storage simultaneously after a delay

Explanation

Answer: Write data to both the cache and the underlying storage immediately (synchronous) Write-through caching involves immediately updating both the cache and the underlying storage, ensuring data consistency but potentially impacting performance. In contrast, write-behind caching first writes to the cache and asynchronously updates the storage, providing better performance at the cost of potential data inconsistency.

NoSQL databases are often preferred for their _________ property, allowing for flexible schema design.

  • A. Schema-less
  • B. ACID compliance
  • C. Consistency
  • D. Normalization

Explanation

Answer: Schema-less NoSQL databases are often preferred for their schema-less property, allowing for flexible schema design. This flexibility is advantageous in scenarios where data models evolve frequently.

_________ is the process of dividing a database table into smaller tables to reduce redundancy and improve efficiency.

  • A. Normalization
  • B. Denormalization
  • C. Indexing
  • D. Partitioning

Explanation

Answer: Normalization Normalization is the process of dividing a database table into smaller tables to reduce redundancy and improve efficiency. It involves organizing data to minimize data redundancy and dependency.

Today's exercise: Review & recall

Revisit any questions you hesitated on. Write one-line answers in your own words.

Steps

  1. 1

    First pass

    Read each question and pick an answer without looking at the explanation.

  2. 2

    Second pass

    Expand explanations only for questions you missed or were unsure about.

  3. 3

    Notes

    Jot down 3 terms or patterns you want to remember from this batch.

One rehearsal platform

Certification mocks, daily lessons, project labs, and in-browser drills

Structured for exam day and portfolio proof — timed tests, guided builds, and quick reps on one platform.