# 后端开发：18 个问题 | Muhammad Shahid

URL: https://shahid09.netlify.app/zh/faq/backend-development/
Author: Muhammad Shahid, Senior AI Software Engineer & Backend Developer (https://shahid09.netlify.app/)

## 你使用哪些后端技术？

用 Node.js 和 Express.js 开发 API，用 MongoDB 和 Mongoose 存储数据，用 Redis 做缓存，用 JWT 认证的 REST API，用 EJS 做服务端渲染页面，并部署在 Heroku、VPS 服务器或 Netlify 上。

Link: https://shahid09.netlify.app/zh/faq/backend-development/#which-backend-technologies-do-you-use

## 你是 Node.js 开发者吗？

是的。Node.js 是我主要的后端语言。我在 Quecko Inc. 和 Dlux Soft 的生产环境中用它开发了拥有数百万用户的产品，包括 DOP、TheCryptoBasic 和 CV Maker。

Link: https://shahid09.netlify.app/zh/faq/backend-development/#are-you-a-node-js-developer

## 你开发 REST API 吗？

是的。我用 Express 和 MongoDB 开发生产级 REST API，包含请求校验、集中式错误处理、日志、JWT 认证、缓存和分页。

Link: https://shahid09.netlify.app/zh/faq/backend-development/#do-you-build-rest-apis

## 你使用 MongoDB 吗？

是的，这是我主要的数据库。我设计模式和复合索引，编写聚合管道，并使用 Mongoose。我还持有 MongoDB University 的 MongoDB and Mongoose 证书。

Link: https://shahid09.netlify.app/zh/faq/backend-development/#do-you-work-with-mongodb

## 你如何使用 Redis？

主要用于缓存读取频繁的路由。在 DOP，我在新增 MongoDB 索引的同时加入了 Redis 缓存层，在 3 亿多用户的规模下控制住了 API 超时和数据库 CPU 负载。

Link: https://shahid09.netlify.app/zh/faq/backend-development/#how-do-you-use-redis

## 你能修复登录和会话问题吗？

能。在 TheCryptoBasic，用户会随机被登出。我查出原因是 JWT 过期时间和刷新令牌处理不正确，并重写了会话流程，现在会话能按预期保持。

Link: https://shahid09.netlify.app/zh/faq/backend-development/#can-you-fix-login-and-session-problems

## 你能为移动应用开发后端吗？

能。我开发了 CV Maker – Resume Builder 的后端，这是 Google Play 上一款拥有全球 100 多万用户的 Android 应用，并与移动端和设计团队一起完成发布。

Link: https://shahid09.netlify.app/zh/faq/backend-development/#can-you-build-the-backend-for-a-mobile-app

## 你能集成第三方 API 吗？

能。我为 TheCryptoBasic 搭建了实时行情数据管道，在 DOP 接入了 5 家 RPC 服务商，并为 AI 智能体开发 API 和大语言模型集成。

Link: https://shahid09.netlify.app/zh/faq/backend-development/#can-you-integrate-third-party-apis

## 你处理实时数据和 WebSocket 吗？

是的。TheCryptoBasic 向 200 多万用户提供实时行情数据，我的开源项目 cmcprice-Websocket 通过 WebSocket 推送实时加密货币价格。

Link: https://shahid09.netlify.app/zh/faq/backend-development/#do-you-work-with-real-time-data-and-websockets

## 你把后端部署在哪里？

Node.js 后端部署在 Heroku 或 VPS 服务器上；静态网站和 Next.js 网站（比如本站）部署在 Netlify 上。

Link: https://shahid09.netlify.app/zh/faq/backend-development/#where-do-you-deploy-backends

## 你能修复支付和交易失败的问题吗？

能。在 Quecko，我排查了用户反馈的支付和交易失败，找出根本原因，在紧迫的时间内发布修复，恢复了可靠的支付，并加入监控和错误告警以便尽早发现故障。

Link: https://shahid09.netlify.app/zh/faq/backend-development/#can-you-fix-payment-and-transaction-failures

## 你如何让后端更可靠？

请求校验、集中式错误处理、日志、监控与告警，以及每次发布前的测试。在 Dlux Soft，这套做法减少了生产环境的错误。

Link: https://shahid09.netlify.app/zh/faq/backend-development/#how-do-you-make-a-backend-reliable

## 你能添加监控和错误告警吗？

能。我在每次修复中都会加入监控和告警，让下一次故障由系统发现，而不是由用户报告。

Link: https://shahid09.netlify.app/zh/faq/backend-development/#can-you-add-monitoring-and-error-alerts

## 你能独自开发全栈应用吗？

能。我独自从头到尾开发了 NFT 抽奖 Web 应用 New-Waffle：抽奖逻辑、后端和 Web 前端，并完成部署。

Link: https://shahid09.netlify.app/zh/faq/backend-development/#can-you-build-a-full-stack-app-on-your-own

## 你开发内部工具吗？

开发。我的两个开源工具是 mongodb-data-exporter（把 MongoDB 数据库中的每个集合导出为单独的 JSON 文件）和 video-splitter-with-text（切分视频并叠加文字）。

Link: https://shahid09.netlify.app/zh/faq/backend-development/#do-you-build-internal-tools

## 你能接手别人开发的后端吗？

能，这是我大部分的工作。我接手过拥有数百万用户的线上产品，在不重写的情况下修复了它们的性能、会话和支付问题。

Link: https://shahid09.netlify.app/zh/faq/backend-development/#can-you-work-on-a-backend-someone-else-built

## 你使用 NestJS 吗？

使用。当项目适合用模块和依赖注入时，我用 NestJS 开发 Node.js 后端；更适合轻量方案时则用 Express。

Link: https://shahid09.netlify.app/zh/faq/backend-development/#do-you-use-nestjs

## 你开发 GraphQL API 吗？

开发。除了 REST API，我也开发 GraphQL API，并根据客户端获取数据的方式来选择。

Link: https://shahid09.netlify.app/zh/faq/backend-development/#do-you-build-graphql-apis
