messenger

Chat Mess

zalo

Chat Zalo

phone

Phone

Gọi ngay: 097.5151.777
messenger

Facebook

messenger

TikTok

Hỗ trợ tư vấn: 097.5151.777
OCB

IT - Mid/Senior Java Backend Developer

Hồ Chí Minh Công nghệ thông tin
Nhân viên/Chuyên viên Thỏa thuận Hạn: 2026-09-30

Mô tả công việc

  • Thành thạo Java 11+, Spring Boot, Spring MVC, Spring Data JPA, Spring Security.
  • Hiểu Dependency Injection, IOC, Bean Lifecycle.
  • Có kinh nghiệm Microservices và các pattern: API Gateway, Service Discovery, Circuit Breaker, Saga, Retry, Idempotency.
  • Kinh nghiệm xử lý concurrent processing, distributed systems, transaction consistency.

Thành thạo thiết kế RESTful API, OAuth2, JWT, Swagger/OpenAPI.

  • Có kinh nghiệm Kafka, RabbitMQ hoặc IBM MQ.
  • Làm việc tốt với Oracle/PostgreSQL; hiểu SQL optimization, indexing, transaction isolation, locking.
  • Có kinh nghiệm Git, Maven/Gradle, Jenkins/GitLab CI, Docker, Kubernetes.
  • Hiểu CI/CD, Helm, ArgoCD.
  • Có kinh nghiệm monitoring/logging với ELK, Prometheus, Grafana hoặc Splunk

Yêu cầu khác:

  • Tốt nghiệp Đại học CNTT hoặc ngành liên quan.
  • Tư duy logic, giải quyết vấn đề tốt.
  • Đọc hiểu tài liệu tiếng Anh.
  • Chủ động học hỏi, tinh thần ownership cao.Kỹ năng teamwork và phân tích root cause tốt.

Điểm cộng:

  • Kinh nghiệm Banking/Financial/Payment.
  • Hiểu Event-driven Architecture, DDD, Clean Architecture.
  • Kinh nghiệm Redis, Confluent Kafka, Reactive Programming.
  • Hiểu OpenTelemetry, Jaeger, Secure Coding, OWASP, mTLS.
  • Có kinh nghiệm với AWS/Azure/GCP.

Yêu cầu ứng viên

  • Thành thạo Java 11+, Spring Boot, Spring MVC, Spring Data JPA, Spring Security.
  • Hiểu Dependency Injection, IOC, Bean Lifecycle.
  • Có kinh nghiệm Microservices và các pattern: API Gateway, Service Discovery, Circuit Breaker, Saga, Retry, Idempotency.
  • Kinh nghiệm xử lý concurrent processing, distributed systems, transaction consistency.

Thành thạo thiết kế RESTful API, OAuth2, JWT, Swagger/OpenAPI.

  • Có kinh nghiệm Kafka, RabbitMQ hoặc IBM MQ.
  • Làm việc tốt với Oracle/PostgreSQL; hiểu SQL optimization, indexing, transaction isolation, locking.
  • Có kinh nghiệm Git, Maven/Gradle, Jenkins/GitLab CI, Docker, Kubernetes.
  • Hiểu CI/CD, Helm, ArgoCD.
  • Có kinh nghiệm monitoring/logging với ELK, Prometheus, Grafana hoặc Splunk

Yêu cầu khác:

  • Tốt nghiệp Đại học CNTT hoặc ngành liên quan.
  • Tư duy logic, giải quyết vấn đề tốt.
  • Đọc hiểu tài liệu tiếng Anh.
  • Chủ động học hỏi, tinh thần ownership cao.Kỹ năng teamwork và phân tích root cause tốt.

Điểm cộng:

  • Kinh nghiệm Banking/Financial/Payment.
  • Hiểu Event-driven Architecture, DDD, Clean Architecture.
  • Kinh nghiệm Redis, Confluent Kafka, Reactive Programming.
  • Hiểu OpenTelemetry, Jaeger, Secure Coding, OWASP, mTLS.
  • Có kinh nghiệm với AWS/Azure/GCP.

Phân tích kỹ năng cần có

Phân tích Kỹ năng Yêu cầu

1. Kỹ năng Hard Skills (Bắt buộc)

a) Backend Core (Java & Framework)
Công nghệ Mức độ yêu cầu Ghi chú
Java 11+ Bắt buộc Java 17/21 là điểm cộng lớn
Spring Boot Bắt buộc Nền tảng chính của hệ thống
Spring MVC Bắt buộc Xây dựng REST API layer
Spring Data JPA Bắt buộc Thao tác database ORM
Spring Security Bắt buộc Bảo mật ứng dụng
Dependency Injection / IOC / Bean Lifecycle Hiểu sâu Nền tảng Spring framework
b) Kiến trúc & Design Patterns
Pattern/Kiến trúc Mức độ Ứng dụng thực tế
Microservices Kinh nghiệm Kiến trúc phổ biến trong ngân hàng
API Gateway Kinh nghiệm Kong, Spring Cloud Gateway, AWS API Gateway
Service Discovery Kinh nghiệm Eureka, Consul, Zookeeper
Circuit Breaker Kinh nghiệm Resilience4j, Hystrix (legacy)
Saga Pattern Kinh nghiệm Xử lý distributed transaction
Retry & Idempotency Kinh nghiệm Đảm bảo tính nhất quán
c) Message Queue & Integration
Công nghệ Yêu cầu Ưu tiên
Kafka Ưu tiên Xử lý streaming lớn, payment events
RabbitMQ Chấp nhận Message broker truyền thống
IBM MQ Chấp nhận Phổ biến trong ngân hàng lớn VN
d) Database
Công nghệ Yêu cầu Lý do
Oracle/PostgreSQL Thành thạo Ngân hàng thường dùng Oracle
SQL Optimization Hiểu sâu Query chậm = ảnh hưởng transaction
Indexing, Transaction Isolation, Locking Hiểu sâu Critical cho hệ thống tài chính
e) DevOps & Infrastructure
Công nghệ Mức độ Ghi chú
Git Kinh nghiệm Baseline bắt buộc
Maven/Gradle Kinh nghiệm Build tool
Docker Kinh nghiệm Container hóa
Kubernetes Kinh nghiệm Điều phối container
Jenkins/GitLab CI Kinh nghiệm CI/CD pipeline
CI/CD, Helm, ArgoCD Hiểu Deployment automation
ELK Stack Kinh nghiệm Logging & monitoring
Prometheus, Grafana Kinh nghiệm Metrics & alerting
Splunk Kinh nghiệm Log analysis (alternative)

---

2. Chứng chỉ Gợi ý

Chứng chỉ Giá trị Ghi chú
AWS Certified Developer / Solutions Architect Cao Cloud phổ biến nhất VN
Certified Kubernetes Administrator (CKA) Trung bình-Cao K8s requirement
Oracle Certified Professional (OCP) Trung bình Oracle database
HashiCorp Terraform Associate Trung bình Infrastructure as Code
Spring Professional Certification Trung bình Xác nhận kiến thức Spring

---

3. Bảng So sánh: Mid vs Senior

Tiêu chí Mid Developer Senior Developer
Java/Spring Dùng thành thạo Thiết kế system design
Microservices Hiểu, implement Design pattern, migration
Database Viết query tốt Performance tuning, sharding
DevOps Deploy được Pipeline design, infrastructure
Problem solving Fix bug, optimize System-level troubleshooting
Business understanding Hiểu flow Strategic alignment
Leadership Tự làm tốt Mentor, code review

> Lưu ý: JD này hỗn hợp (Mid/Senior), nên bạn cứ ứng tuyển nếu đạt 60-70% yêu cầu. Với vị trí Senior, họ sẽ đánh giá cao khả năng design và business alignment.

Chuẩn bị phỏng vấn

Hướng dẫn Phỏng vấn

Quy trình các vòng phỏng vấn tại OCB (tham khảo)

Vòng Nội dung Thời lượng Người phỏng vấn
Vòng 1 Sàng lọc hồ sơ & Phone screen 15-20 phút HR/Recruiter
Vòng 2 Technical Interview - Coding & Fundamentals 45-60 phút Tech Lead / Senior Developer
Vòng 3 System Design Interview 60-90 phút Architecture / Manager
Vòng 4 Cultural Fit & Final Interview 30-45 phút Head of IT / VP

---

Câu hỏi hay gặp theo từng vòng

Vòng 1 - HR Screen

1. Tại sao bạn quan tâm đến vị trí này tại OCB?
2. Bạn đang có offer nào khác không?
3. Mức lương kỳ vọng của bạn là bao nhiêu?
4. Bạn có kinh nghiệm làm việc trong lĩnh vực Banking/Finance chưa?
5. Bạn có thể bắt đầu working day muộn nhất khi nào?

Vòng 2 - Technical Interview

Java & Spring Core:

  • Giải thích Dependency Injection vs IoC? Tại sao Spring sử dụng DI?
  • Bean Lifecycle trong Spring: describe các phase từ khởi tạo đến destruction?
  • Sự khác nhau giữa @Component, @Service, @Repository, @Controller?
  • Spring Boot khởi động như thế nào? (ApplicationContext, auto-configuration)
  • Transaction propagation trong Spring: các loại propagation và use case?

Microservices:

  • Sự khác nhau giữa REST và gRPC? Khi nào dùng cái nào?
  • Circuit Breaker hoạt động như thế nào? Code ví dụ với Resilience4j?
  • Saga Pattern: orchestration vs choreography, ưu nhược điểm?
  • Idempotency trong API: implement như thế nào?
  • Distributed transaction: Saga vs 2PC, tại sao Saga được ưu tiên hơn trong microservices?

Database:

  • Explain plan của một query chậm, cách optimize?
  • Transaction isolation levels: READ_COMMITTED, REPEATABLE_READ, SERIALIZABLE — ảnh hưởng gì đến concurrency?
  • Indexing strategy: composite index, covering index, partial index?
  • Deadlock: cách phát hiện và xử lý?
  • Connection pool: các tham số quan trọng (HikariCP)?

Message Queue:

  • Kafka: partition, consumer group, offset management?
  • Retry mechanism với message queue: exponential backoff, DLQ?
  • Guarantee exactly-once semantics trong Kafka?
Vòng 3 - System Design

Dạng bài thường gặp:
1. Design hệ thống chuyển khoản nội bộ (Transfer money between accounts)

  • Kiến trúc: Saga pattern, event sourcing
  • Consistency: eventual vs strong
  • Idempotency key design
  • Fraud detection integration

2. Design payment gateway

  • Integration với Visa/Mastercard/VNPay
  • Idempotency & reconciliation
  • Rate limiting & security (OWASP)

3. Design hệ thống real-time notification

  • WebSocket vs SSE vs polling
  • Kafka consumer group scaling

Tiêu chí đánh giá System Design:

  • ✅ Hiểu business requirements & non-functional requirements
  • ✅ Scale: horizontal vs vertical, sharding strategy
  • ✅ Consistency vs Availability (CAP theorem)
  • ✅ Trade-off decisions có lý giải rõ ràng
  • ✅ Security considerations (OWASP Top 10)
  • ✅ Monitoring & observability plan
Vòng 4 - Cultural Fit
  • Kể về một dự án bạn tự hào nhất? Bạn đóng góp gì?
  • Có một deadline gấp và code chưa test kỹ, bạn xử lý thế nào?
  • Bạn handle conflict với teammate như thế nào?
  • Tại sao bạn rời công ty hiện tại?
  • 5 năm tới, bạn hình dung sự nghiệp của mình ở đâu?

---

Tips chuẩn bị đặc biệt cho OCB

1. Research về OCB:

  • OCB là một trong những ngân hàng TMCP lớn tại VN
  • Tìm hiểu về chiến lược chuyển đổi số của OCB
  • Các dự án IT nổi bật của OCB

2. Chuẩn bị code trên giấy/whiteboard:

  • Thuật toán cơ bản (sorting, searching, tree traversal)
  • SQL query từ medium đến complex (JOIN, window function)
  • System design diagram vẽ tay

3. Dress code:

  • Business casual (áo sơ mi, quần âu) — ngân hàng khá formal
  • Senior có thể business attire

4. Những điều nên hỏi nhà tuyển dụng:

  • Team size của team IT?
  • Tech stack hiện tại đang dùng?
  • Dự án sắp tới là gì?
  • Cơ hội học tập & đào tạo?
  • Hybrid work policy?

Lộ trình ôn thi

Ôn thi & Chuẩn bị

Lộ trình chuẩn bị 2 tuần (60-80 giờ)

Tuần 1: Nền tảng & Lõi

Ngày 1-2: Java & Spring Deep Dive (12-16 giờ)

```
Tài liệu:

  • "Effective Java" - Joshua Bloch (chương 2, 4, 6, 8, 11, 12)
  • Spring Boot Documentation (spring.io)
  • Baeldung: Spring Security, Spring Data JPA

```

Thực hành:

  • Implement một ứng dụng Spring Boot với:
  • Spring Security + JWT authentication
  • Spring Data JPA + PostgreSQL
  • RESTful API với validation
  • Global exception handling

Ngày 3-4: Microservices & Patterns (12-16 giờ)

```
Tài liệu:

  • "Building Microservices" - Sam Newman
  • Spring Cloud documentation
  • Martin Fowler's Microservices Guide

```

Thực hành:

  • Xây dựng 2 service đơn giản communication qua REST
  • Implement Circuit Breaker với Resilience4j
  • Hiểu và implement Saga pattern (choreography)
  • Tạo API Gateway đơn giản với Spring Cloud Gateway

Ngày 5-6: Database & SQL Optimization (10-12 giờ)

```
Tài liệu:

  • "SQL Performance Explained" - Winand Markus
  • PostgreSQL documentation
  • Use The Index, Luke (sitemanual)

```

Thực hành:

  • Viết 20 câu query phức tạp (JOIN nhiều bảng, subquery)
  • Analyze execution plan của các query
  • Thiết kế index cho các scenario cụ thể
  • Simulate deadlock và debug

Ngày 7: DevOps & Monitoring (6-8 giờ)

```
Tài liệu:

  • Docker getting started
  • Kubernetes basics (Kubernetes.io)
  • ELK Stack tutorial

```

Thực hành:

  • Viết Dockerfile cho Spring Boot app
  • Docker Compose setup (app + DB + MQ)
  • Cấu hình Prometheus + Grafana dashboard đơn giản

---

Tuần 2: Nâng cao & Mock Interview

Ngày 8-9: Message Queue & Architecture (10-12 giờ)

```
Thực hành:

  • Kafka producer/consumer với Spring Kafka
  • Consumer group, offset management
  • Configure retry và dead letter queue
  • RabbitMQ exchange/queue setup

```

Ngày 10-11: System Design Practice (10-12 giờ)

```
Practice các bài sau:
1. Payment transfer system (2 giờ)
2. Account balance management (2 giờ)
3. Event notification system (2 giờ)
4. API rate limiting system (2 giờ)

Framework trả lời:

  • Clarify requirements (functional + non-functional)
  • High-level architecture (components, interactions)
  • Data model (schema, relationships)
  • API design
  • Scale considerations
  • Trade-offs & alternatives

```

Ngày 12: Mock Interview & Review (6-8 giờ)

```

  • Practice coding problems (LeetCode Easy/Medium - 5 bài)
  • Review lại Spring Bean Lifecycle
  • Review lại SQL optimization cases
  • Đọc lại CV và prepare story-telling

```

Ngày 13-14: Banking Domain & Final Prep (8-10 giờ)

```
Tìm hiểu:

  • ACID transaction trong banking context
  • Double-entry bookkeeping basics
  • Payment gateway flow (VNPay, MoMo integration)
  • Anti-fraud system basics
  • Regulatory compliance ( PCI DSS basics)

Final review:

  • JWT flow end-to-end
  • OAuth2 flow (Authorization Code, Client Credentials)
  • Bean Lifecycle diagram
  • CAP theorem implications
  • Microservices patterns summary

```

---

Tài liệu tham khảo xếp theo mức độ ưu tiên

Ưu tiên Tài liệu Loại Thời gian đọc
🔴 Cao Baeldung.com (Spring, Java) Blog/Tutorial Liên tục
🔴 Cao "Effective Java" - Bloch Sách 30 giờ
🟡 Trung Spring Cloud Netflix Docs Documentation 15 giờ
🟡 Trung "Building Microservices" - Newman Sách 20 giờ
🟡 Trung Use The Index, Luke Website 10 giờ
🟢 Thêm "Designing Data-Intensive Applications" - Kleppmann Sách 40 giờ
🟢 Thêm "Clean Architecture" - Martin Sách 15 giờ
🟢 Thêm AWS/Azure/GCP Documentation Documentation Theo nhu cầu

Coding Practice Resources

```
LeetCode (leetcode.com):

  • Tag: Arrays, Strings, Trees, Graphs, Dynamic Programming
  • Target: 10-15 bài Easy + 5-10 bài Medium
  • Thời gian: 30-45 phút/bài

SQL Practice:

  • HackerRank SQL
  • LeetCode Database section
  • Window functions, CTEs, complex joins

System Design:

  • systemdesignprimer.com
  • highscalability.com
  • Exponent (formerly interviewing.io)

```

Tư vấn nghề nghiệp

Lời khuyên Sự nghiệp

Lộ trình Thăng tiến dành cho Java Backend Developer trong ngân hàng

```
Junior Dev (0-2 năm)
↓ Học hỏi core Java/Spring, hiểu business flow
Mid Developer (2-4 năm)
↓ Chuyên sâu microservices, architecture, mentoring
Senior Developer (4-6 năm)
↓ Technical leadership, system design, cross-team
Tech Lead / Principal Engineer (6-8 năm)
↓ Architecture decisions, team management
Engineering Manager / VP Engineering (8+ năm)
```

---

Mức lương Kỳ vọng theo Cấp bậc (Thị trường TP.HCM - 2024/2025)

Cấp bậc Kinh nghiệm Lương tháng (VND) Ghi chú
Mid Developer 2-4 năm 25-40 triệu Base, chưa bonus
Senior Developer 4-6 năm 40-65 triệu Bao gồm benefits
Tech Lead 6+ năm 60-90 triệu + equity/bonus lớn
Principal/Architect 8+ năm 80-120+ triệu Ngân hàng lớn có thể cao hơn

> Lưu ý: Mức lưuơng ngân hàng thường cạnh tranh với fintech, có thể thấp hơn startup nhưng bù đắp bằng:
> - Stability cao (ít bị layoff)
> - Benefits tốt (bảo hiểm, thưởng Tết, phụ cấp)
> - Học tập về domain knowledge tài chính
> - Cơ hội chuyển sang Product/BA sau này

---

Kỹ năng Cần Phát triển Thêm

Ngắn hạn (6-12 tháng đầu)

1. Domain Knowledge (Banking/Finance):

  • Hiểu cách ngân hàng vận hành: Core Banking, Payment, Treasury
  • Các regulation quan trọng: VietinBank compliance, AML/KYC
  • Đây là điểm khác biệt lớn so với developer ở startup

2. Architecture Skills:

  • Event-driven architecture, DDD
  • Clean Architecture, Hexagonal Architecture
  • Security: OWASP Top 10, secure coding

3. Cloud Platform:

  • AWS (phổ biến nhất ở VN) hoặc Azure
  • Lambda, ECS/EKS, RDS, SQS/SNS
  • Infrastructure as Code (Terraform)
Trung hạn (1-2 năm)

1. Leadership & Mentoring:

  • Code review hiệu quả
  • Mentoring juniors
  • Technical documentation

2. System Design ở scale lớn:

  • High availability architecture
  • Disaster recovery planning
  • Cost optimization

3. Business Acumen:

  • Hiểu product thinking
  • Tư duy ROI khi đề xuất giải pháp
  • Giao tiếp với business stakeholders

---

Nên Chọn OCB Không?

✅ Nên chọn ⚠️ Cân nhắc kỹ
Muốn stable career trong fintech banking Muốn lương cao nhất thị trường (startup có thể cao hơn 30-50%)
Quan tâm đến domain banking/finance Muốn fast-paced, frequent product changes
Cần benefits tốt, bảo hiểm cao cấp Muốn học công nghệ mới nhất liên tục
Muốn cơ hội chuyển đổi role (BA, PM, QA) Không thích môi trường corporate/regulation-heavy
Muốn kinh nghiệm chuyển đổi số ngân hàng Muốn autonomy cao trong technical decisions

---

Các Công Ty Thay Thế (Competitive)

```
Ngân hàng lớn:

  • VCB (Vietcombank) - Lương tốt, stable
  • VTB (VietinBank) - Tech stack cũ hơn
  • TPB (TPBank) - Tech-forward, agile
  • MBB (Military Bank) - Bonus tốt

Fintech/Bank Tech:

  • VPBank (Neo), TPBank (eBank)
  • FE Credit, Home Credit
  • VNPay, MoMo, ZaloPay
  • TopCV, Nextbank

Foreign Bank:

  • Citibank, HSBC, Standard Chartered
  • Lương USD, tech stack hiện đại hơn
  • Nhưng yêu cầu tiếng Anh cực tốt

```

Câu hỏi thường gặp

Vị trí này yêu cầu Java 11+, nhưng mình mới dùng Java 8. Có nên ứng tuyển không?

Có thể ứng tuyển nếu bạn có kinh nghiệm Spring Boot. Tuy nhiên, bạn cần học nhanh các tính năng Java 11+: var keyword, switch expression, text blocks, records, sealed classes. Đây là những thay đổi quan trọng và sẽ được hỏi trong phỏng vấn. Trước khi phỏng vấn, hãy setup Java 17/21 và code thử các feature mới. Thực tế: nhiều enterprise project vẫn chạy Java 8, nhưng team OCB đã migrate lên 11+ nên họ cần bạn đáp ứng ngay.

Mình có 3 năm kinh nghiệm Java, nhưng chưa làm microservices. Có apply được vị trí Senior không?

Với 3 năm kinh nghiệm, bạn phù hợp hơn với level Mid. Tuy nhiên, nếu apply Senior, hãy chuẩn bị giải thích rõ ràng scope responsibilities của bạn. Điểm mấu chốt ở Senior: không chỉ implement mà còn design và lead technical decisions. Nếu trong 3 năm bạn đã có cơ hội thiết kế API, mentor juniors, hoặc dẫn dắt một module nhỏ — đó là điểm cộng lớn. Tip: apply đúng level để tăng xác suất pass.

Lương thỏa thuận nghĩa là bao nhiêu? Mình nên deal như thế nào?

Với JD này, mức lương thường dao động 25-50 triệu (Mid) và 40-65 triệu (Senior). Deal lương hiệu quả: (1) Research mức market rate trên Glassdoor, VietnamWorks, 123job; (2) Đưa ra con số cụ thể dựa trên total compensation hiện tại + 20-30% cushion; (3) Nếu có offer khác, cân nhắc disclose để leverage; (4) Đừng chỉ deal lương — thương lượng thêm: signing bonus, equity, extra vacation days, remote work days. Ngân hàng thường có budget linh hoạt hơn vào Q1-Q2.

Mình chưa có kinh nghiệm banking domain, có ảnh hưởng lớn không?

Có ảnh hưởng nhưng không phải yếu tố quyết định. Banking domain knowledge là 'điểm cộng' trong JD, không phải bắt buộc. Tuy nhiên, bạn nên: (1) Tự research về core banking concepts (account, transaction, ledger); (2) Hiểu payment flow cơ bản (transfer, payment gateway); (3) Đọc về AML/KYC basics; (4) Trong interview, thể hiện tư duy muốn học domain. Thực tế: nhiều developer từ startup chuyển sang banking và thành công nhờ strong technical foundation + willingness to learn domain.

Kỳ vọng công việc thực tế hàng ngày như thế nào? Work-life balance ra sao?

Trong ngân hàng, work-life balance thường tốt hơn startup/fintech. Pattern phổ biến: 8h-17h hoặc 9h-18h, hybrid 2-3 ngày/tuần. Tuy nhiên, chú ý: (1) Release cycle trước deadline (tháng cuối quý) có thể OT; (2) Bank holiday vào các đợt close month; (3) System maintenance windows thường vào đêm/weekend; (4) Incident production cần on-call rotation. Nên hỏi HR về on-call policy và số lần maintenance/tuần khi interview.

Mình đang ở startup, muốn chuyển sang ngân hàng. Cần chuẩn bị gì?

Ưu điểm của bạn: modern tech stack, fast learner, flexibility. Nhược điểm cần khắc phục: (1) Thiếu formal SDLC/process discipline — ngân hàng rất formal với code review, testing, compliance; (2) Thiếu documentation culture; (3) Chưa quen với regulation-heavy environment. Chuẩn bị: thể hiện các project có structured approach (design doc → code review → testing → deployment). Đồng thời, chuẩn bị story về việc bạn adapt từ môi trường nhanh nhẹn sang môi trường có kiểm soát chặt hơn. Ứng viên từ startup thường bị đánh giá 'chưa đủ discipline' — hãy prepare answer cho điều này.

Mình 5 năm kinh nghiệm, apply Senior. Nên tập trung ôn gì để pass vòng System Design?

Với Senior, System Design chiếm 40-50% quyết định. Tập trung: (1) Payment/Transfer system design — đây là bài banking-system design phổ biến nhất; (2) Distributed transaction handling — hiểu sâu Saga vs 2PC, eventual consistency; (3) High availability design — multi-region, failover strategy; (4) Security design — authentication/authorization, fraud detection. Practice framework: requirements → high-level design → data model → API design → scale/threats. Key tip: đặt nhiều câu hỏi clarify trước khi bắt đầu design — điều này thể hiện tư duy engineering chín muồi.

Điểm cộng về Confluent Kafka và Reactive Programming có quan trọng không?

Đây là những điểm cộng nâng cao, không bắt buộc. Tuy nhiên, nếu có thì rất mạnh: (1) Confluent Kafka = Kafka expertise chuyên sâu (Schema Registry, KSQL, Connectors) — dùng phổ biến trong streaming payment events; (2) Reactive Programming (Project Reactor, WebFlux) — trending trong fintech 2024-2025. Nếu bạn có thể đầu tư 1-2 tuần học: bắt đầu với Spring WebFlux basics, reactive streams concept, Kafka Streams. Nếu không có — focus vào core requirements trước, đây chỉ là 'nice to have' để differentiate.