Sistem Design Flashcards

1
Q

For a Read-Heavy System — Consider using a Cache.

A

EG:
1.Redis (for REmote DIctionary Server)
- an open source, in-memory, NoSQL key/value store that is used primarily as an application cache or quick-response database.
2.Memcached is a distributed memory caching system designed for ease of use and simplicity and is well-suited as a cache or a session store.

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

For a Write-Heavy System — Use Message Queues for async processing

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

For a Low Latency Requirement — Consider using a Cache and CDN.

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

FOR ACID (𝐀tomicity, 𝐂onsistency, 𝐈solation, 𝐃urability) Compliant DB — Go for RDBMS/SQL Database

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

Have unstructured data — Go for NoSQL Database.

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

Have Complex Data (Videos, Images, Files) — Go for Blob/Object storage.

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

Complex Pre-computation — Use Message Queue & Cache.

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

High-Volume Data Search — Consider search index, tries, or search engine.

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

Scaling SQL Database — Implement Database Sharding.

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

High Availability, Performance, & Throughput — Use a Load Balancer.

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

Global Data Delivery — Consider using a CDN

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

Graph Data (data with nodes, edges, and relationships) — Utilize Graph Database.

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

High-Performing Database Queries — Use Database Indexes.

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

Bulk Job Processing — Consider Batch Processing and Message Queues.

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

Server Load Management & Preventing DOS Attacks- Use a Rate Limiter.

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

Microservices Architecture — Use an API Gateway.

A
17
Q

For Single Point of Failure — Implement Redundancy.

A
18
Q

For Fault-Tolerance and Durability — Implement Data Replication

A
19
Q

For User-to-User fast communication — Use Websockets.

A
20
Q

Failure Detection in Distributed Systems — Implement a Heartbeat.

A
21
Q

Data Integrity — Use Checksum Algorithm.

A
22
Q

Efficient Server Scaling — Implement Consistent Hashing??

A
23
Q

Decentralized Data Transfer — Consider Gossip Protocol.???

A
24
Q

Location-Based Functionality — Use Quadtree, Geohash, etc.

A
25
Q

Avoid Specific Technology Names — Use generic terms.

A
26
Q

For IP resolution and domain Name Query — Mention DNS

A
27
Q

Handling Large Data in Network Requests — Implement Pagination.

A
28
Q

Cache Eviction Policy — Preferred is LRU (Least Recently Used) Cache

A
29
Q

To handle traffic spikes: Implement Autoscaling to manage resources dynamically

A
30
Q

Need analytics and audit trails — Consider using data lakes or append-only databases

A
31
Q

Handling Large-Scale Simultaneous Connections — Use Connection Pooling and consider using Protobuf to minimize data payload

A