Knowledge Overview
About Me
I’m Ngo Quang Huy, a Software Engineer based in Hanoi, Vietnam. I have 4 years of professional experience building scalable, enterprise-level systems using .NET Core, SQL Server, and ReactJS — with a strong focus on Backend development.
My journey started at FPT Software, where I worked on a SaaS pension management system in the financial domain. As a Backend Engineer, I handled member management, payroll calculation, and report generation. For my contributions, I received the Best Performer award in 2024. After that, I joined another project at FPT Software, building a Monitoring and Alert System powered by Elasticsearch data.
Currently, I work at Optimizely — a Content Management System — as a Fullstack Engineer, though most of my work is still backend-focused. My main responsibility is customizing the CMS platform based on customer requirements.
I’m now looking for new opportunities where I can apply my backend skills, grow as an engineer, and take on new challenges. I believe that every project is a chance to improve, and I’m always ready to contribute my best. Glad to see with everyone, and I hope we have a great conversation ahead!
Giới thiệu
Tài liệu này tổng hợp kiến thức kỹ thuật theo lộ trình học tập dành cho Backend Developer, bao gồm 7 mảng công nghệ chính. Mỗi mảng được tổ chức từ nền tảng đến nâng cao, kèm code example thực tế.
Danh sách chủ đề
| # | Mảng kiến thức | Công nghệ | Số chủ đề |
|---|---|---|---|
| 1 | SQL Server | T-SQL, Index, Transactions, HA | 6 |
| 2 | C#/.NET | ASP.NET Core, EF Core, Architecture | 9 |
| 3 | ReactJS | React 18+, Hooks, Redux, Next.js | 14 |
| 4 | Elasticsearch | Search, Aggregations, .NET Client | 9 |
| 5 | Work Experience | Optimizely, Pension System, Monitoring | 4 |
| 6 | Algorithms | Problem Solving, Data Structures | 2 |
| 7 | System Design | Architecture, Scalability, Case Studies | 7 |
1. SQL Server
Kiến thức SQL Server từ nền tảng đến các tính năng doanh nghiệp.
| # | Chủ đề | Nội dung chính |
|---|---|---|
| 1 | Nền Tảng SQL Server | T-SQL cơ bản, kiến trúc, kiểu dữ liệu, DDL, DML, Joins |
| 2 | Index & Hiệu suất | Clustered/Non-Clustered Index, Execution Plans, Query Optimization |
| 3 | Lập trình T-SQL | Stored Procedures, Functions, Triggers, Views, CTEs, Window Functions |
| 4 | Giao dịch & Đồng thời | ACID, Isolation Levels, Locking, Blocking, Deadlocks |
| 5 | Bảo mật & Quản trị | Authentication, Permissions, Backup & Recovery, Agent Jobs, Monitoring |
| 6 | Tính năng Nâng cao | Partitioning, JSON/XML, Temporal Tables, In-Memory OLTP, High Availability, CDC |
2. C#/.NET
Lộ trình đầy đủ cho vị trí C#/.NET Developer, từ ngôn ngữ đến kiến trúc hệ thống.
| # | Chủ đề | Nội dung chính |
|---|---|---|
| 1 | Nền Tảng C# và .NET | Ngôn ngữ C#, CLR, GC, Value vs Reference Types, Async/Await, LINQ |
| 2 | ASP.NET Core Cốt lõi | Middleware, DI, Routing, Filters, Kestrel, SignalR, gRPC |
| 3 | Xây dựng Web API | RESTful API, Authentication/Authorization, Versioning, Swagger |
| 4 | Truy cập Dữ liệu với EF Core | Code First, Migrations, N+1 Query, Transactions, Concurrency |
| 5 | Kiến trúc Phần mềm | SOLID, Design Patterns, Clean Architecture, DDD, CQRS, Event-Driven |
| 6 | Hiệu suất và Bất đồng bộ | Caching, Rate Limiting, Load Handling, Async Processing |
| 7 | Hệ thống Phân tán | Message Queue, Azure Service Bus, Docker, Kubernetes |
| 8 | Kiểm thử | Unit Test, Integration Test, xUnit, Mocking |
| 9 | Câu hỏi Phân biệt | So sánh các công nghệ và concepts thường gặp trong phỏng vấn |
Kiến trúc Phần mềm (Chi tiết)
Xem chi tiết các pattern và kiến trúc
Nguyên tắc Thiết kế
- SOLID Principles — Single Responsibility, Open/Closed, Liskov, Interface Segregation, Dependency Inversion
- DRY, KISS, YAGNI — Nguyên tắc viết code sạch
- Separation of Concerns
Design Patterns
- Creational Patterns — Singleton, Factory, Builder, Prototype
- Structural Patterns — Adapter, Bridge, Composite, Decorator, Facade
- Behavioral Patterns — Observer, Strategy, Command, Mediator, Chain of Responsibility
Kiến trúc Ứng dụng
- Clean Architecture — Domain-centric layered architecture
- Hexagonal Architecture — Ports & Adapters pattern
- Onion Architecture — Layered với dependency inversion
- Domain-Driven Design (DDD) — Aggregate, Entity, Value Object, Domain Events
- CQRS — Command Query Responsibility Segregation
- Event-Driven Architecture — Event bus, Pub/Sub
- Event Sourcing — Storing state as a series of events
Kiến trúc Hệ thống
- Microservices — Service decomposition, API Gateway, Service Mesh
- Monolithic Architecture
- Serverless Architecture — Azure Functions, AWS Lambda
Phương pháp Phát triển
3. ReactJS
React 18+ với functional components và hooks. Bao gồm state management, data fetching, và Next.js.
| # | Chủ đề | Nội dung chính |
|---|---|---|
| 1 | JSX & Rendering | JSX syntax, Virtual DOM, Conditional rendering, List rendering |
| 2 | Components & Props | Functional components, Props, Children, Composition |
| 3 | Hooks Cơ bản | useState, useEffect, useRef, useId |
| 4 | Hooks Nâng cao | useReducer, useMemo, useCallback, useLayoutEffect, Custom Hooks |
| 5 | Context API | createContext, useContext, Provider pattern |
| 6 | Redux & Redux Toolkit | Store, Slice, Thunk, RTK Query |
| 7 | React Query | Data fetching, Caching, Mutations, Pagination |
| 8 | React Router | Routes, Navigation, Nested routes, Protected routes |
| 9 | Forms & Validation | Controlled forms, React Hook Form, Zod validation |
| 10 | Styling | CSS Modules, styled-components, Tailwind CSS |
| 11 | Performance | Memo, Code splitting, Lazy loading, Profiler |
| 12 | Testing | Jest, React Testing Library, Mock API |
| 13 | React Patterns | HOC, Render Props, Compound Components, Portals |
| 14 | Next.js Cơ bản | SSR, SSG, ISR, App Router, Server Components |
4. Elasticsearch
Elasticsearch 8+ với .NET client chính thức (Elastic.Clients.Elasticsearch).
| # | Chủ đề | Nội dung chính |
|---|---|---|
| 1 | Concepts Cơ bản & Kết nối | Index, Shard, Replica, DI setup trong ASP.NET Core |
| 2 | Mapping & Field Types | Attribute mapping, Fluent mapping, text vs keyword, nested |
| 3 | Indexing Documents | CRUD, Bulk API, Upsert, Ingest Pipeline |
| 4 | Basic Search | Match, Term, Range, Bool query, Sorting |
| 5 | Query DSL Nâng cao | Multi-match, Fuzzy, Nested query, Highlight, Scroll |
| 6 | Aggregations | Metric, Terms, Range, Date Histogram, Faceted Search |
| 7 | Analyzers & Tokenizers | Built-in analyzers, Custom analyzer, Autocomplete |
| 8 | Performance Tuning | Filter vs must, Source filtering, Search After, ILM |
| 9 | Cluster Management | Health check, ILM, Alias, Snapshot, ASP.NET Core integration |
5. Work Experience
Real-world projects and professional experience in enterprise software development.
| # | Project | Role | Key Achievements |
|---|---|---|---|
| 1 | KF Project - Optimizely | Fullstack Developer | Google Maps integration, CMS configuration, cross-functional Agile team |
| 2 | SKCC Project - FPT | Backend Developer | WPF monitoring app, webhook engine, REST APIs, ElasticSearch integration |
| 3 | PTG.PPPlus3 - Pension System | Backend Developer | Report generation (-50% time), calculation optimization (-90% time), message queues |
| 4 | Interview Q&A | — | Common interview questions and answers from real projects |
Key Achievements
- Performance Optimization: Reduced pension calculation time by 90% through event-driven architecture and pre-calculation strategies.
- Report Generation: Cut report processing time by 50% using background jobs, message queues, and pre-generated JSON files.
- Fullstack Delivery: Led Google Maps integration in Optimizely CMS, bridging backend configuration with rich frontend UX.
- Recognition: Best Performer 2024 at FPT Software for backend optimization contributions.
6. Algorithms
Fundamental algorithms and data structures for problem-solving and technical interviews.
| # | Topic | Description |
|---|---|---|
| 1 | Linear Equation Solver | Solve ax + b = 0 equations |
| 2 | Best Time to Buy/Sell Stock | Maximize profit from stock price array |
7. System Design
Scalable system design principles, architectural patterns, and real-world case studies.
| # | Topic | Description |
|---|---|---|
| 1 | Basic Principles | Scalability, reliability, availability, efficiency |
| 2 | System Components | Load balancers, caches, databases, message queues |
| 3 | Architectural Patterns | Monolith, microservices, event-driven, serverless |
| 4 | Design Methodology | Requirements gathering, estimation, component design |
| 5 | Processing Techniques | Sharding, replication, partitioning, rate limiting |
| 6 | Case Studies | Real-world system designs: |
| - URL Shortener | ||
| - Chat Application | ||
| - Social Media Feed | ||
| - E-commerce Platform | ||
| - Ride-sharing | ||
| - Video Streaming | ||
| 7 | Interview Questions | Common system design interview questions |
Lộ trình học gợi ý
Cho người mới bắt đầu
- C# Cơ bản → OOP → Async/Await & LINQ
- SQL Server Nền tảng → Index & Hiệu suất
- JSX & Rendering → Hooks Cơ bản
Cho .NET Developer
- SOLID Principles → Design Patterns → Clean Architecture
- EF Core → CQRS → Microservices
- Elasticsearch Core Concepts → Query DSL