Please enable JavaScript.
Coggle requires JavaScript to display documents.
Phỏng vấn Backend Developer - Coggle Diagram
Phỏng vấn Backend Developer
Restful APIs & Microservices
Kiến trúc microservice
Nguyên tắc thiết kế microservice
Ưu/nhược điểm của microservice
Service discovery
Circuit Breaker Pattern
Triển khai Restful APIs
Nguyên tắc thiết kế RESTful API
Các phương thức HTTP (GET, POST, PUT, DELETE, PATCH)
Authentication & Authorization (JWT, OAuth2, API Key)
So sánh REST vs GraphQL
Khi nào nên dùng REST? Khi nào nên dùng GraphQL?
Performance & Scalability
API Gateway
Tác dụng của API Gateway
Các giải pháp phổ biến: Kong, Nginx, Traefik
Các giao thức truyền thông
HTTP vs HTTP2 vs GRPC
So sánh hiệu suất và ứng dụng
Multiplexing trong HTTP/2
Khi nào nên dùng GRPC?
Ứng dụng thực tế của từng giao thức
Cơ sở dữ liệu (SQL & NoSQL)
MySQL vs PostgreSQL
Ưu nhược điểm của từng hệ quản trị
Indexing & Query Optimization
Sự khác nhau giữa SQL & NoSQL (MySQL vs MongoDB)
Cách tổ chức dữ liệu
Tốc độ truy vấn và tính mở rộng
ORM: SQLAlchemy
Mapping object với database
Khi nào nên dùng ORM, khi nào nên dùng raw SQL?
Caching: Redis
Caching strategies (Write-through, Write-back, Write-around)
Redis vs Memcached
Elasticsearch
Ứng dụng tìm kiếm toàn văn (Full-text search)
Cấu trúc index trong Elasticsearch
Truyền dữ liệu từ DB khác đến Elasticsearch
Logstash, Fluentd, Kafka Connect
Python & Frameworks
Django vs FastAPI
Performance & Scalability
Tính đồng bộ (Sync) vs Bất đồng bộ (Async)
FastAPI
Middleware
Custom Middleware
Xử lý authentication, logging
Input/Output Validation
Sử dụng Pydantic
ORM
Tích hợp với SQLAlchemy
Các thư viện phổ biến trong Python
Requests (HTTP client)
NumPy, Pandas (Xử lý dữ liệu)
Celery (Task queue)
Alembic (Migration)
Unit Testing
Viết unit test với pytest
Mocking với pytest-mock
Test Coverage
Các thư viện tương tự pytest
unittest, nose2, hypothesis
Message Queue & Streaming
RabbitMQ (Exchange, ACK, Routing Key)
Fanout, Direct, Topic, Header Exchange
Dead Letter Queue (DLQ)
Kafka vs RabbitMQ
Khi nào nên dùng Kafka, khi nào nên dùng RabbitMQ?
So sánh cơ chế lưu trữ và xử lý message
Ứng dụng thực tế (Caching, Thanh toán)
Message Queue trong hệ thống thanh toán
Event-driven architecture
Containerization & Cloud
Docker
Volume
Bind Mounts vs Named Volumes
Network
Bridge, Host, Overlay Network
Kubernetes (K8s)
Workloads
Pod, Deployment, StatefulSet, DaemonSet
Services
ClusterIP, NodePort, LoadBalancer, Ingress
Cloud VM (AWS, Google Cloud)
Thao tác xử lý cơ bản
SSH, SCP, Firewall Rules
Git & CI/CD
Làm việc với Git
Gitflow workflow
Merge strategies: Merge vs Rebase
CI/CD Pipelines
Jenkins, GitHub Actions, GitLab CI/CD
Containerized Deployment với Docker & Kubernetes