Keyboard shortcuts

Press or to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

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ứcCông nghệSố chủ đề
1SQL ServerT-SQL, Index, Transactions, HA6
2C#/.NETASP.NET Core, EF Core, Architecture9
3ReactJSReact 18+, Hooks, Redux, Next.js14
4ElasticsearchSearch, Aggregations, .NET Client9
5Work ExperienceOptimizely, Pension System, Monitoring4
6AlgorithmsProblem Solving, Data Structures2
7System DesignArchitecture, Scalability, Case Studies7

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
1Nền Tảng SQL ServerT-SQL cơ bản, kiến trúc, kiểu dữ liệu, DDL, DML, Joins
2Index & Hiệu suấtClustered/Non-Clustered Index, Execution Plans, Query Optimization
3Lập trình T-SQLStored Procedures, Functions, Triggers, Views, CTEs, Window Functions
4Giao dịch & Đồng thờiACID, Isolation Levels, Locking, Blocking, Deadlocks
5Bảo mật & Quản trịAuthentication, Permissions, Backup & Recovery, Agent Jobs, Monitoring
6Tính năng Nâng caoPartitioning, 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
1Nền Tảng C# và .NETNgôn ngữ C#, CLR, GC, Value vs Reference Types, Async/Await, LINQ
2ASP.NET Core Cốt lõiMiddleware, DI, Routing, Filters, Kestrel, SignalR, gRPC
3Xây dựng Web APIRESTful API, Authentication/Authorization, Versioning, Swagger
4Truy cập Dữ liệu với EF CoreCode First, Migrations, N+1 Query, Transactions, Concurrency
5Kiến trúc Phần mềmSOLID, Design Patterns, Clean Architecture, DDD, CQRS, Event-Driven
6Hiệu suất và Bất đồng bộCaching, Rate Limiting, Load Handling, Async Processing
7Hệ thống Phân tánMessage Queue, Azure Service Bus, Docker, Kubernetes
8Kiểm thửUnit Test, Integration Test, xUnit, Mocking
9Câu hỏi Phân biệtSo 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ế

Design Patterns

Kiến trúc Ứng dụng

Kiến trúc Hệ thống

Phương pháp Phát triển

  • TDD — Test-Driven Development
  • BDD — Behavior-Driven Development

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
1JSX & RenderingJSX syntax, Virtual DOM, Conditional rendering, List rendering
2Components & PropsFunctional components, Props, Children, Composition
3Hooks Cơ bảnuseState, useEffect, useRef, useId
4Hooks Nâng caouseReducer, useMemo, useCallback, useLayoutEffect, Custom Hooks
5Context APIcreateContext, useContext, Provider pattern
6Redux & Redux ToolkitStore, Slice, Thunk, RTK Query
7React QueryData fetching, Caching, Mutations, Pagination
8React RouterRoutes, Navigation, Nested routes, Protected routes
9Forms & ValidationControlled forms, React Hook Form, Zod validation
10StylingCSS Modules, styled-components, Tailwind CSS
11PerformanceMemo, Code splitting, Lazy loading, Profiler
12TestingJest, React Testing Library, Mock API
13React PatternsHOC, Render Props, Compound Components, Portals
14Next.js Cơ bảnSSR, 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
1Concepts Cơ bản & Kết nốiIndex, Shard, Replica, DI setup trong ASP.NET Core
2Mapping & Field TypesAttribute mapping, Fluent mapping, text vs keyword, nested
3Indexing DocumentsCRUD, Bulk API, Upsert, Ingest Pipeline
4Basic SearchMatch, Term, Range, Bool query, Sorting
5Query DSL Nâng caoMulti-match, Fuzzy, Nested query, Highlight, Scroll
6AggregationsMetric, Terms, Range, Date Histogram, Faceted Search
7Analyzers & TokenizersBuilt-in analyzers, Custom analyzer, Autocomplete
8Performance TuningFilter vs must, Source filtering, Search After, ILM
9Cluster ManagementHealth check, ILM, Alias, Snapshot, ASP.NET Core integration

5. Work Experience

Real-world projects and professional experience in enterprise software development.

#ProjectRoleKey Achievements
1KF Project - OptimizelyFullstack DeveloperGoogle Maps integration, CMS configuration, cross-functional Agile team
2SKCC Project - FPTBackend DeveloperWPF monitoring app, webhook engine, REST APIs, ElasticSearch integration
3PTG.PPPlus3 - Pension SystemBackend DeveloperReport generation (-50% time), calculation optimization (-90% time), message queues
4Interview Q&ACommon 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.

#TopicDescription
1Linear Equation SolverSolve ax + b = 0 equations
2Best Time to Buy/Sell StockMaximize profit from stock price array

7. System Design

Scalable system design principles, architectural patterns, and real-world case studies.

#TopicDescription
1Basic PrinciplesScalability, reliability, availability, efficiency
2System ComponentsLoad balancers, caches, databases, message queues
3Architectural PatternsMonolith, microservices, event-driven, serverless
4Design MethodologyRequirements gathering, estimation, component design
5Processing TechniquesSharding, replication, partitioning, rate limiting
6Case StudiesReal-world system designs:
- URL Shortener
- Chat Application
- Social Media Feed
- E-commerce Platform
- Ride-sharing
- Video Streaming
7Interview QuestionsCommon system design interview questions

Lộ trình học gợi ý

Cho người mới bắt đầu

  1. C# Cơ bảnOOPAsync/Await & LINQ
  2. SQL Server Nền tảngIndex & Hiệu suất
  3. JSX & RenderingHooks Cơ bản

Cho .NET Developer

  1. SOLID PrinciplesDesign PatternsClean Architecture
  2. EF CoreCQRSMicroservices
  3. Elasticsearch Core ConceptsQuery DSL

Chuẩn bị phỏng vấn