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
Sacombank

Chuyên Viên Phát Triển Nền Tảng Di Động (Back-End Java) - Phòng Phát Triển Ứng Dụng - Khối Cntt

Thành phố Hồ Chí Minh KHỐI CNTT
Thỏa thuận

Mô tả công việc

Trách nhiệm chính

Backend Developer là thành viên cốt lõi trong team phát triển sản phẩm Mobile & Web, chịu trách nhiệm thiết kế, xây dựng và nâng cấp các service backend theo kiến trúc Microservices.

  • Thiết kế và phát triển RESTful API / gRPC phục vụ ứng dụng mobile (iOS/Android) và web
  • Xây dựng, triển khai và bảo trì các microservice bằng Java Spring Boot
  • Thiết kế database và tối ưu hóa query
  • Tích hợp message broker (Kafka, RabbitMQ) cho các luồng xử lý bất đồng bộ
  • Triển khai và quản lý service trên môi trường container (Docker, Kubernetes)
  • Phối hợp với team Mobile, Frontend và DevOps
  • Tham gia code review, đảm bảo chất lượng code và tuân thủ coding standards
  • Thực hiện kiểm thử unit test trước khi bàn giao cho đội kiểm thử
  • Phân tích thiết kế các dịch vụ, cấu trúc cơ sở dữ liệu, thuật toán cần thiết dựa trên yêu cầu nghiệp vụ cho chức năng được giao

Công việc dự án:

  • Tích hợp deploy tự động CICD cho ứng dụng
  • Tham gia phát triển microservice, xây dựng api cho các nghiệp vụ liên quan
  • Cập nhật bản bản vá lổ hỏng bảo mật
  • Hỗ trợ kiểm tử và tích hợp với các hệ thống

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

🔍 Phân Tích Kỹ Năng Cho Vị Trí Back-End Developer Tại Sacombank

Đây là vị trí Back-End Java thuộc team phát triển sản phẩm Mobile & Web, yêu cầu khá cao về stack công nghệ hiện đại. Mình phân tích chi tiết cho bạn:

🛠️ Hard Skills (Bắt buộc phải có)

1. Ngôn ngữ & Framework chính:

  • Java 11/17/21 — nắm chắc core Java: OOP, Collections, Generics, Lambda, Stream API, Multithreading, JVM memory model
  • Spring Boot (2.x/3.x) — là framework cốt lõi, phải thành thạo
  • Spring Cloud — dùng cho microservices (Eureka/Consul, Config Server, Gateway, Circuit Breaker, Feign)

2. Kiến trúc & Pattern:

  • Microservices Architecture — Saga, CQRS, Event-driven, API Gateway, Service Discovery
  • Design Patterns — Singleton, Factory, Builder, Observer, Strategy, Decorator, Repository
  • RESTful API design chuẩn, có kinh nghiểm gRPC là lợi thế lớn

3. Database:

  • Relational DB: PostgreSQL, MySQL, Oracle (Sacombank có thể dùng Oracle)
  • NoSQL: MongoDB, Redis (cache)
  • JPA/Hibernate, MyBatis
  • Tối ưu query, indexing, transaction, locking, deadlock handling

4. Message Broker:

  • Kafka (ưu tiên hơn) hoặc RabbitMQ
  • Hiểu về pub/sub, partition, consumer group, exactly-once semantics

5. DevOps & Infrastructure:

  • Docker — viết Dockerfile, multi-stage build
  • Kubernetes — Pod, Deployment, Service, Ingress, Helm chart
  • CI/CD — Jenkins, GitLab CI, GitHub Actions
  • Linux cơ bản, bash scripting

6. Security:

  • OAuth2, JWT, Spring Security
  • OWASP Top 10, mã hóa dữ liệu nhạy cảm (đặc biệt quan trọng trong ngân hàng)
  • PCI DSS awareness (nếu làm về payment)

7. Testing & Quality:

  • JUnit 5, Mockito, Testcontainers
  • Integration test, contract test (Pact)
  • SonarQube, code coverage

🤝 Soft Skills (Quan trọng không kém)

Kỹ năng Mức độ cần Lý do
Giao tiếp & phối hợp team ★★★★★ Làm việc với Mobile, Frontend, DevOps mỗi ngày
Tư duy phân tích ★★★★★ Phân tích yêu cầu nghiệp vụ phức tạp
Chủ động & tự học ★★★★☆ Stack thay đổi liên tục
Quản lý thời gian ★★★★☆ Deadline dự án ngân hàng thường gắt
Tinh thần trách nhiệm ★★★★★ Code chạy trên production, ảnh hưởng tiền khách hàng

📜 Chứng Chỉ Gợi Ý (Bonus điểm)

Chứng chỉ Tổ chức Độ ưu tiên
Oracle Certified Professional Java SE 11/17 Oracle ⭐⭐⭐⭐
Pivotal Spring Professional VMware/Broadcom ⭐⭐⭐⭐⭐
CKAD (Certified Kubernetes Application Developer) CNCF/Linux Foundation ⭐⭐⭐⭐
CKA (Certified Kubernetes Administrator) CNCF/Linux Foundation ⭐⭐⭐
AWS Solutions Architect Associate Amazon ⭐⭐⭐
Confluent Certified Developer for Apache Kafka Confluent ⭐⭐⭐⭐

📊 So Sánh Mức Độ Yêu Cầu

Nhóm kỹ năng Junior cần Mid cần Senior cần
Java Core Biết dùng Thành thạo Tối ưu, debug sâu
Spring Boot Biết config Build được service Thiết kế được hệ thống
Microservices Hiểu lý thuyết Triển khai được Thiết kế kiến trúc
Database Viết CRUD Tối ưu query Thiết kế schema phức tạp
DevOps Biết Docker K8s + CI/CD Thiết kế pipeline, monitoring
Banking domain Không cần Biết cơ bản Hiểu nghiệp vụ sâu

Chuẩn bị phỏng vấn

🎯 Hướng Dẫn Phỏng Vấn Vị Trí Back-End Java Tại Sacombank

📋 Quy Trình Phỏng Vấn Dự Kiến (3-4 vòng)

Vòng 1: HR Screening (30-45 phút)

  • Giới thiệu bản thân, kinh nghiệm, lý do ứng tuyển
  • Trao đổi mức lương mong muốn, thời gian đi làm
  • Có thể có bài test tính cách (DISC/MBTI)
  • HR Sacombank thường khá formal, hỏi kỹ về lý do nghỉ việc cũ

Vòng 2: Bài Test Kỹ Thuật (60-90 phút)

  • Có thể online hoặc onsite tại trụ sở
  • Phần Java core + Spring Boot + SQL
  • Có thể có bài thi tiếng Anh cơ bản
  • Một số vòng có thêm bài test IQ/logic

Vòng 3: Technical Interview với Team Lead/Architect (60-90 phút)

  • Đào sâu vào kinh nghiệm thực tế
  • Câu hỏi về microservices, system design
  • Live coding hoặc review code đã viết
  • Câu hỏi về banking domain

Vòng 4: Final Interview với Trưởng phòng/Quản lý (30-45 phút)

  • Đánh giá tổng thể, fit với team
  • Thảo luận mức lương, benefits
  • Trao đổi về định hướng nghề nghiệp

❓ Câu Hỏi Hay Gặp Theo Từng Vòng

Vòng HR:
1. "Tại sao bạn muốn làm việc tại Sacombank?" → Nêu rõ định hướng ngân hàng, cơ hội làm việc với hệ thống core banking lớn, học hỏi bài bản
2. "Mức lương mong muốn của bạn?" → Đề xuất range dựa trên kinh nghiệm, để HR đưa ra offer
3. "Điểm mạnh/yếu của bạn là gì?"
4. "Tại sao nghỉ việc công ty cũ?" — chuẩn bị câu trả lời tích cực, tránh nói xấu

Vòng Technical:
1. "Phân biệt giữa `@Component`, `@Service`, `@Repository`, `@Controller`?"
2. "Spring Boot hoạt động như thế nào? Auto-configuration ra sao?"
3. "Microservices khác gì Monolith? Khi nào nên dùng?"
4. "Giải thử 1 transaction trong Spring. @Transactional hoạt động thế nào?"
5. "Làm sao đảm bảo consistency trong hệ thống microservices?" (Saga pattern, eventual consistency)
6. "Kafka vs RabbitMQ, khi nào dùng cái nào?"
7. "Index trong database hoạt động thế nào? Khi nào nên/không nên đánh index?"
8. "Cho một bài toán: thiết kế hệ thống chuyển tiền trong ngân hàng, bạn sẽ làm thế nào?"
9. "Docker khác gì Virtual Machine?"
10. "Bạn đã handle memory leak như thế nào? Cách debug?"

Vòng Final:
1. "Bạn định gắn bó với Sacombank bao lâu?"
2. "Định hướng 5 năm tới của bạn?"
3. "Bạn xử lý thế nào khi có conflict với đồng nghiệp?"

💡 Tips Chuẩn Bị Quan Trọng

Trước phỏng vấn:

  • ✅ Ôn lại 2-3 dự án lớn nhất trong CV, chuẩn bị STAR format
  • ✅ Đọc trước về Sacombank: sản phẩm, công nghệ đang dùng (nếu tìm được), tin tức gần đây
  • ✅ Chuẩn bị câu hỏi ngược cho interviewer (5-10 câu hay)
  • ✅ Mock interview ít nhất 2-3 lần

Trong phỏng vấn:

  • 🎯 Trả lời có cấu trúc, không lan man
  • 🎯 Nếu không biết → nói thẳng là không biết, đề xuất hướng tìm hiểu
  • 🎯 Đặt câu hỏi thông minh để thể hiện sự quan tâm
  • 🎯 Lắng nghe kỹ câu hỏi trước khi trả lời

👔 Dress Code

Vòng Trang phục
HR Áo sơ mi + quần tây, có thể không cần vest
Technical Smart casual — áo polo/sơ mi, quần tây, giày tây
Final/Leadership Vest + sơ mi + quần tây + giày (chỉn chu)

> 💬 Lưu ý: Sacombank có văn hóa khá formal hơn so với các fintech. Mặc lịch sự nhưng thoải mái, tránh quá xuề xòa.

Lộ trình ôn thi

📚 Lộ Trình Ôn Tập 2 Tuần Cho Vị Trí Back-End Java Sacombank

Mình đề xuất lộ trình chi tiết theo từng ngày, bạn điều chỉnh tùy theo level hiện tại:

📅 Tuần 1: Nền Tảng & Core Skills

Ngày 1-2: Java Core Deep Dive

  • OOP (4 tính chất, áp dụng thực tế)
  • Collections Framework (List, Set, Map, Queue)
  • Generics, Enum, Annotation
  • Lambda, Stream API, Functional Interface
  • Exception handling, Custom exception
  • Concurrency: Thread, Runnable, ExecutorService, CompletableFuture, Concurrent Collections
  • JVM: Memory model, GC, ClassLoader
  • Tài liệu: "Effective Java" (Joshua Bloch), Baeldung.com

Ngày 3-4: Spring Boot & Spring Ecosystem

  • IoC/DI Container, Bean lifecycle, Scope
  • Spring Boot Auto-configuration, Starters
  • Spring MVC, REST controller
  • Spring Data JPA, Repository pattern
  • Spring Transaction, propagation, isolation level
  • Spring Security cơ bản, JWT
  • AOP cơ bản
  • Thực hành: Xây dựng 1 REST API CRUD hoàn chỉnh

Ngày 5-6: Microservices Architecture

  • Monolith vs Microservices (ưu/nhược điểm thực tế)
  • Service Discovery (Eureka/Consul)
  • API Gateway, Load Balancing
  • Circuit Breaker (Resilience4j)
  • Distributed tracing (Sleuth, Zipkin)
  • Saga pattern, Outbox pattern
  • Event-driven architecture
  • Tài liệu: "Microservices Patterns" (Chris Richardson)

Ngày 7: Database Design & Optimization

  • SQL nâng cao: JOIN, Window function, CTE
  • Index: B-Tree, Hash, Composite, Partial index
  • Query optimization: EXPLAIN, Execution plan
  • Transaction, ACID, Isolation level, Deadlock
  • Normalization vs Denormalization
  • NoSQL: khi nào dùng Redis/MongoDB
  • Thực hành: Phân tích EXPLAIN PLAN cho câu query phức tạp

📅 Tuần 2: DevOps, System Design & Banking

Ngày 8: Message Broker & Async Processing

  • Kafka: Topic, Partition, Consumer group, Offset
  • Kafka vs RabbitMQ
  • Producer/Consumer pattern, Idempotency
  • Exactly-once semantics
  • Thực hành: Setup local Kafka cluster bằng Docker

Ngày 9-10: Docker, Kubernetes & CI/CD

  • Dockerfile, multi-stage build, image optimization
  • Docker Compose cho local dev
  • Kubernetes: Pod, Deployment, Service, ConfigMap, Secret
  • Helm chart cơ bản
  • CI/CD pipeline: Jenkinsfile, GitHub Actions
  • Thực hành: Containerize Spring Boot app, deploy lên minikube

Ngày 11: System Design Case Studies

  • Thiết kế hệ thống chuyển tiền
  • Thiết kế notification system
  • Thiết kế payment gateway
  • Thiết kế circuit breaker cho external service
  • CAP theorem, Consistency patterns

Ngày 12: Banking Domain KnowledgeRất quan trọng

  • Core banking system là gì
  • Quy trình chuyển tiền, thanh toán
  • ISO 8583 (nếu làm về card)
  • SWIFT message
  • Open Banking, PSD2 (kiến thức nền)
  • Compliance: PCI DSS, GDPR, Luật an toàn thông tin VN
  • Banking security 2FA, OTP, biometric
  • Tài liệu: Đọc blog Sacombank, tìm hiểu sản phẩm ngân hàng số

Ngày 13: Coding Practice & Mock Interview

  • LeetCode 30-50 bài medium (Array, String, Hash, Tree, DP)
  • Tập trung SQL HackerRank
  • Thực hành: Live coding trên Google Docs

Ngày 14: Review & Mock Interview

  • Ôn lại toàn bộ, ghi chú các điểm yếu
  • Mock interview với bạn bè hoặc mentor
  • Chuẩn bị câu hỏi cho interviewer
  • Sẵn sàng tinh thần

📖 Tài Liệu Tham Khảo Chất Lượng

Loại Tài liệu
Sách Effective Java (Joshua Bloch), Spring in Action, Microservices Patterns, Designing Data-Intensive Apps
Website Baeldung.com, Spring.io docs, DZone, Medium Java tag
Video Udemy (Spring Boot 3, Kafka), Coursera (Java, Microservices)
Practice LeetCode, HackerRank SQL, CodeWars
Tiếng Việt Kipalog, Viblo, Blog của anh Tuấn Đỗ

> 🎯 Mẹo: Làm 1 project cá nhân end-to-end (kiểu như app ngân hàng mini) để show portfolio khi phỏng vấn. Đây là điểm cộng rất lớn!

Tư vấn nghề nghiệp

🚀 Lời Khuyên Sự Nghiệp Cho Back-End Developer Ngân Hàng

📈 Lộ Trình Thăng Tiến Điển Hình

```
Junior/Mid Developer (1-3 năm)

Senior Developer (3-6 năm)

Tech Lead (6-8 năm) ──────┐
↓ │
Solution Architect (8-10 năm)│
↓ │
Engineering Manager / Head of IT ─→ Director / CIO
```

Tại Sacombank cụ thể:

  • Chuyên viên (như JD này) → 1-3 năm kinh nghiệm
  • Chuyên viên cao cấp → 3-5 năm
  • Trưởng nhóm → 5-7 năm
  • Phó phòng / Trưởng phòng → 7-10 năm
  • Giám đốc Khối → 10+ năm

💰 Mức Lương Kỳ Vọng Theo Cấp Bậc (Thị trường VN 2024)

Cấp bậc Kinh nghiệm Tại Sacombank/Tập đoàn lớn Fintech/Product công nghệ
Fresher/Junior < 1 năm 12-18 triệu 15-22 triệu
Mid-level 1-3 năm 20-35 triệu 25-40 triệu
Senior 3-6 năm 35-60 triệu 50-90 triệu
Tech Lead 6-8 năm 55-85 triệu 80-130 triệu
Architect 8-12 năm 80-150 triệu 120-200 triệu
Manager/Director 10+ năm 150-300 triệu 200-400 triệu

> 💡 Note: Sacombank thuộc nhóm ngân hàng TMCP top đầu, mức lương cạnh tranh nhưng không bằng các fintech/product công ty. Bù lại có nhiều benefits khác: thưởng Tết, BHXH đầy đủ, phúc lợi ngân hàng, training chuyên sâu.

🎯 Kỹ Năng Cần Phát Triển Thêm

Ngắn hạn (3-6 tháng tới):

  • Cloud certification (ít nhất 1 trong AWS/Azure/GCP)
  • Kubernetes sâu hơn (CKAD certificate)
  • Event-driven architecture thực chiến
  • Observability: Prometheus, Grafana, ELK stack

Trung hạn (6-18 tháng):

  • Domain-driven Design (DDD)
  • CQRS, Event Sourcing
  • Service Mesh (Istio, Linkerd)
  • Banking compliance, kiến thức về core banking
  • Tiếng Anh (đọc docs thoải mái, giao tiếp cơ bản)

Dài hạn (2-3 năm):

  • System Design ở level lớn (10K+ TPS)
  • Architecture cho hệ thống real-time
  • Quản lý team, mentoring
  • Hiểu sâu về business banking

🎓 Lời Khuyên Thực Chiến

1. Vì sao nên chọn ngân hàng lớn như Sacombank?

  • ✅ Làm việc với hệ thống core quy mô lớn, nhiều tiền thật
  • ✅ Quy trình chuẩn mực, bài bản
  • ✅ Thương hiệu uy tín trong CV
  • ✅ Đào tạo chuyên sâu về banking
  • ⚠️ Có thể tech stack lâu đời hơn so với fintech
  • ⚠️ Tốc độ release chậm hơn

2. Khi nào nên chuyển từ ngân hàng → fintech?

  • Khi đã có 3-5 năm kinh nghiệm nền tảng vững
  • Khi muốn tăng tốc độ làm việc, làm product nhanh
  • Khi muốn mức lương cao hơn
  • Khi sẵn sàng chấp nhận rủi ro startup

3. Red flags khi phỏng vấn cần chú ý:

  • 🚩 Không nói rõ tech stack đang dùng
  • 🚩 Quy trình OT chồng chất
  • 🚩 Không có dedicated DevOps
  • 🚩 Không code review
  • 🚩 Làm việc cuối tuần thường xuyên

💼 Chiến Lược Ứng Tuyển Hiệu Quả

1. Network trước khi apply: Tìm người làm tại Sacombank qua LinkedIn, Facebook, nhờ giới thiệu — tỷ lệ pass cao hơn 3-5 lần so với apply trực tiếp
2. Apply đúng đợt tuyển: Theo dõi trang tuyển dụng của Sacombank (careers page) và các job fair
3. CV chuẩn ATS: Dùng keyword trùng với JD (Spring Boot, Microservices, Kafka, Kubernetes)
4. Portfolio GitHub: Có ít nhất 2-3 project chất lượng, README rõ ràng
5. Follow up: Sau 1 tuần nếu chưa thấy phản hồi, gửi email/in hỏi lịch sự

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

Mình mới ra trường, chưa có kinh nghiệm ngân hàng thì có nên apply vị trí này không?

Vị trí này JD không ghi rõ số năm kinh nghiệm, đây là cơ hội tốt cho bạn. Tuy nhiên để cạnh tranh, bạn cần: (1) Làm 1-2 project cá nhân full-stack với Spring Boot + Microservices để demo được, (2) Nắm chắc Java Core + Spring Boot cơ bản, (3) Biết đọc hiểu REST API, cơ bản SQL, Docker. Nếu có internship tại công ty fintech hoặc ngân hàng càng tốt. Đừng ngại apply, nhiều khi họ chấp nhận junior có nền tảng tốt và đào tạo lại.

So với mặt bằng chung thì lương Back-End Java ở Sacombank khoảng bao nhiêu?

JD ghi 'Thỏa thuận' nên không có con số cụ thể. Theo kinh nghiệm tuyển dụng thị trường VN 2024: Chuyên viên (1-3 năm) tại Sacombank dao động khoảng 20-35 triệu gross, tùy level. Mức này thấp hơn fintech/product công nghệ 15-30%, nhưng bù lại có thưởng Tết 2-6 tháng lương, BHXH đầy đủ, chế độ ngân hàng (vay ưu đãi, gửi tiết kiệm lãi suất cao). Khi deal lương, bạn có thể đề xuất range 25-32 triệu nếu có 2-3 năm kinh nghiệm solid.

Tôi đang làm backend ở fintech, muốn chuyển sang ngân hàng truyền thống như Sacombank, có nên không?

Hoàn toàn nên! Chuyển từ fintech sang ngân hàng truyền thống mang lại nhiều lợi ích: (1) Hiểu sâu về core business của hệ thống tài chính thay vì chỉ làm app ngoài, (2) Học được cách hệ thống lớn scale (hàng triệu user), (3) Điểm cộng CV rất lớn, (4) Thường làm ít OT hơn fintech, work-life balance tốt hơn. Tuy nhiên cần lưu ý: tech stack có thể cũ hơn (đôi khi vẫn Java 8, Oracle DB), quy trình chậm hơn. Bạn nên chuẩn bị tâm lý, và dùng kinh nghiệm fintech để pitch giá trị mang lại cho Sacombank trong buổi phỏng vấn.

Back-End Java ở ngân hàng khác gì so với công ty product công nghệ?

Khác biệt lớn ở 3 điểm: (1) Yêu cầu compliance: Ngân hàng chịu ràng buộc của NHNN, luật an toàn thông tin, PCI DSS... code phải audit được, mọi thay đổi đều log lại. (2) Quy trình nặng hơn: Release phải qua UAT, change request, rollback plan rõ ràng, không thể deploy nhanh như startup. (3) Domain phức tạp hơn: Nghiệp vụ tài chính (ghi nợ, ghi có, lãi kép, tỷ giá, chuyển tiền liên ngân hàng...) phức tạp hơn nhiều so với CRUD thông thường. Bù lại bạn sẽ được training chuyên sâu về finance và làm việc với senior có kinh nghiệm lâu năm.

Sau 2-3 năm ở vị trí này thì nên phát triển theo hướng nào?

Có 3 hướng rõ ràng: (1) Technical Expert: Đào sâu thành Senior/Principal Engineer, hướng về Performance tuning, Distributed system, Architecture. Phù hợp người thích code. (2) Tech Lead / Engineering Manager: Quản lý 5-10 người, kết hợp code 30% và quản lý 70%. Cần kỹ năng leadership. (3) Solution Architect / Banking Architect: Chuyển sang thiết kế hệ thống lớn, làm việc với vendor, vendor selection, governance. Mình khuyên: 2 năm đầu tập trung technical sâu, năm thứ 3 quyết định hướng đi. Có thể chuyển sang fintech/product nếu muốn tăng lương nhanh.

JD có ghi message broker là Kafka và RabbitMQ, nên học cái nào trước?

Trong ngân hàng Việt Nam, Kafka phổ biến hơn 70-80%, đặc biệt với hệ thống core mới. Khuyến nghị: (1) Học Kafka trước, vì nó được dùng cho high-throughput, log processing, event streaming — phù hợp ngân hàng có volume lớn. Nắm vững Producer/Consumer API, Partition, Consumer Group, Offset management. (2) RabbitMQ học sau cũng được, dùng cho task queue nhỏ, RPC pattern. (3) Tìm hiểu thêm Confluent Schema RegistryAvro/Protobuf vì hệ thống ngân hàng hay dùng. Thực hành: Setup Kafka bằng Docker Compose, viết 1 producer-consumer đơn giản.

Mình không biết banking domain, có cần học trước khi phỏng vấn không?

Có nên tìm hiểu ít nhất 1-2 ngày trước phỏng vấn. Bạn không cần biết hết, nhưng nên nắm: (1) Sản phẩm ngân hàng cơ bản: tài khoản, tiết kiệm, tín dụng, thẻ, chuyển tiền. (2) Quy trình giao dịch cơ bản: ghi nợ/ghi có, idempotency là gì và tại sao quan trọng trong banking. (4) Khái niệm core banking, open banking. (5) Tìm hiểu app Sacombank, các sản phẩm số hóa của họ. Điều này thể hiện bạn nghiêm túc và hiểu business. Phỏng vấn viên sẽ đánh giá cao ứng viên có tư duy business chứ không chỉ biết code.

Câu hỏi system design nào hay gặp khi phỏng vấn back-end ngân hàng?

Top 5 câu hay gặp: (1) 'Thiết kế hệ thống chuyển tiền giữa 2 tài khoản' — quan trọng nhất, test kiến thức về transaction, idempotency, eventual consistency. (2) 'Thiết kế hệ thống OTP' — test về time-based token, security, rate limiting. (3) 'Thiết kế notification service gửi SMS/email khi có giao dịch' — test về message queue, retry, dead letter queue. (4) 'Thiết kế hệ thống thanh toán QR code' — test về real-time, concurrent, security. (5) 'Thiết kế core banking database cho 10 triệu customer' — test về partitioning, sharding, indexing. Mẹo: Khi trả lời, hãy chia thành các phần rõ ràng: Requirements → High-level design → Detailed design → Trade-offs.

Làm sao để cân bằng giữa OT và cuộc sống khi làm IT ngân hàng?

Thực tế ngân hàng lớn như Sacombank OT ít hơn fintech, trung bình 1-2 buổi/tháng, dịp release cuối năm có thể nhiều hơn. Tips cân bằng: (1) Estimate task kỹ càng — nếu deadline bất khả thi, nói với manager ngay từ đầu. (2) Tự động hóa — viết script, dùng CI/CD để giảm việc tay. (3) Học cách nói 'No' — không phải task nào cũng nhận. (4) Sử dụng quyền nghỉ phép — nhiều người tiếc, hãy dùng để tái tạo năng lượng. (5) Tập thể dục + đọc sách — giữ sức khỏe và đầu óc minh mẫn. Nếu công ty OT trên 30% thời gian liên tục, đó là red flag, nên cân nhắc đổi nơi làm.

Có nên đợi 1 năm rồi mới ứng tuyển để có thêm kinh nghiệm không?

Không nên đợi! Đây là vị trí JD mở (không yêu cầu số năm cụ thể), nếu bạn đã có: (1) Nền tảng Java + Spring Boot vững, (2) Hiểu biết về microservices, (3) Ít nhất 1 dự án thực tế hoặc project cá nhân chất lượng → apply ngay. Việc đợi 1 năm có thể: mất cơ hội vàng (vị trí có thể đóng), tốn thời gian, tâm lý sẽ ngày càng e ngại. Phỏng vấn cũng là một cách học — dù trượt bạn cũng biết được mình thiếu gì để bổ sung. Đợi đến khi 'đủ' thì cơ hội đã qua. Apply, fail, learn, apply again là chiến lược tốt nhất!