Backend Engineering Flashcards

1
Q

What are the key concerns of backend engineering?

A

Architecture, functionalities like session management, authentication, business logic, AI, server-side rendering, database persistence, caching, search indexing, and tooling.

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

What are the main backend architectures?

A

Monolithic and Microservices architectures.

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

What is the difference between Monolithic and Microservices architecture?

A

Monolithic: Same process for all services. Microservices: Different processes for different services.

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

What are some architectures supporting Microservices?

A

Message-driven Architecture (MDA), Event-driven Architecture (EDA), and API-based architecture.

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

What is Message-driven Architecture (MDA)?

A

It involves messaging between services, typically asynchronous, and requires message delivery confirmation.

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

What is Event-driven Architecture (EDA)?

A

Used for real-time processing, typically asynchronous, and the producer does not need to confirm event consumption.

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

What is Domain-driven Design (DDD)?

A

A design approach that matches software structure and language with the business domain.

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

What is Hexagonal Architecture?

A

An architecture pattern that involves ports and adapters to decouple business logic from external systems.

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

What is the difference between API and Message-driven communication?

A

API is about request and response, while messages send information between systems.

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

What are some web application frameworks for backend development?

A

NestJS (TypeScript), Flask, Django, Tornado (Python), Jakarta EE, Spring (Java), Actix Web, Axum (Rust).

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

What is Apache Kafka?

A

A distributed event streaming platform for handling real-time data feeds.

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

What are common authentication and authorization mechanisms?

A

OAuth and OpenID Connect.

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

What is OAuth used for?

A

Authorization, allowing third-party apps to access user data without exposing credentials.

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

What database systems support SQL persistence?

A

PostgreSQL and CockroachDB.

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

What is special about PostgreSQL?

A

It supports ACID transactions, key-value storage, and multi-region distribution.

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

What are examples of NoSQL databases?

A

CouchDB, MongoDB, and Redis.

17
Q

What is unique about CouchDB?

A

It supports global server clusters, mobile and web applications, and offline-first replication.

18
Q

What is Redis used for?

A

In-memory caching and data storage.

19
Q

What is Elasticsearch used for?

A

Search indexing and analytics.