后端软件开发工程师应掌握的技术栈!不要被吓到,这是国外的技术人分享的,相信在国内很少有人能掌握这么全能的技术。下面的清单可以参考下。
1:核心技术
- 后端框架
-
- 编程语言:Python,JavaScript,C#,Java,PHP,Rust,Go,Elixir,Ruby
- 流行框架:
- Python: Django, Flask, FastAPI
- JavaScript: Express.js, NestJS, Fastify, Next.js, Nuxt.js
- C#: ASP.NET Core
- Java: Spring Boot
- Kotlin: Spring Boot, Ktor
- PHP: CodeIgniter, Laravel
- Rust: Actix, Axom
- Go: 各种框架
- Elixir: Phoenix
- Ruby: Ruby on Rails
- 框架选择:团队技术栈,项目需求,框架成熟度
- 数据库
-
- 类型:
- SQL: 关系型数据库
- 事务型数据库:
- 企业级: SQL Server,Oracle,DB2
- 中型: SQL Server
- 开源: PostgreSQL,MySQL,MariaDB
- 嵌入式: SQLite
- 分析型数据库:Redshift,Snowflake
- 事务型数据库:
- NoSQL: 非关系型数据库
- 文档型: MongoDB,DocumentDB,IndexDB
- 键值型: DynamoDB
- 图数据库: Neo4j
- 列数据库: Bigtable,Cassandra,HBase
- 多模数据库: SurrealDB
- 内存缓存: Redis,Memcached
- 搜索引擎: Elasticsearch
- BaaS: Firebase,Supabase
- SQL: 关系型数据库
- ORM 和数据库库:
- 特定数据库库: 例如 Python 的 psycopg2
- 多数据库库: 例如 Rust 的 SQLx
- ORM: Entity Framework, Prisma, SQLAlchemy, Django ORM
- 类型:
- 内容管理系统 (CMS)
- 传统 CMS: WordPress,Drupal,Joomla,Umbraco
- 无头 CMS: Contentful,Strapi,Prismic
- 静态网站生成器 (SSG): Next.js,Nuxt.js,Gatsby,Hugo
2: 客户端和服务器
- 托管
- 共享主机: GoDaddy,DreamHost,Bluehost,SiteGround,Hostinger
- 虚拟专用服务器 (VPS): 各种提供商
- 专用服务器: 各种提供商
- 平台即服务 (PaaS): Vercel,Netlify,Heroku,AWS Elastic Beanstalk,Azure App Service,Google App Engine,DigitalOcean App Platform,Oracle Cloud Platform
- 基础设施即服务 (IaaS): AWS,GCP,Azure,Oracle Cloud Infrastructure,IBM Cloud,Alibaba Cloud,DigitalOcean
- Web 服务器软件: Nginx,Apache,IIS,Caddy
- 客户端: 浏览器 (Chrome,Firefox,Safari,Edge)
- 内容交付网络 (CDN): Cloudflare,CloudFront,Azure CDN,Alibaba CDN,Google Cloud CDN
3: 通信
- 通信架构:
- RESTful API: 基于 HTTP,使用 JSON
- SOAP API: 基于 XML,较老旧
- Webhook: 服务器主动发送通知
- GraphQL: 客户端自定义查询
- 远程过程调用 (RPC):
- JSON-RPC: 双向通信
- gRPC: 基于 Protobuf,双向通信
- 实时通信: WebRTC,Server-Sent Events,WebSockets
- 协议: HTTP,HTTPS,TCP,UDP,SSH,FTP,SFTP,SMTP,IMAP,POP3,MQTT,AMQP,STOMP
- 数据表示法: JSON,XML,Protobuf,YAML,TOML,Markdown,CSV
4: 应用开发生命周期
- 本地开发环境:
- 操作系统: Windows,Linux,Unix,Mac
- 编辑器:
- 终端编辑器: Vim, Neovim, Nano
- 代码编辑器: VS Code,Sublime Text,Atom
- IDE: PyCharm,Visual Studio
- 版本控制: Git,GitHub,GitLab,Bitbucket
- 容器化:
- Docker
- 镜像仓库: Harbor,Google Container Registry,Azure Container Registry,Docker Hub,Elastic Container Registry,GitHub Container Registry,GitLab Container Registry
- 容器编排: Docker Compose,Docker Swarm,Kubernetes,Nomad
- 持续集成/持续部署 (CI/CD): Jenkins,GitHub Actions,GitLab CI/CD,CircleCI,AWS CodePipeline,Azure DevOps,GCP DevOps
- 测试:
- 单元测试框架: 例如 Python 的 pytest
- API 测试工具: Postman,Swagger
- UI 自动化测试工具: Selenium,Cypress,Playwright
- 问题跟踪: GitHub Issues,GitLab Issues,Notion,Asana,Trello,Jira
- 监控: CloudWatch,GCP Cloud Monitoring,Azure Monitor,PagerDuty,OpsGenie
5: 云服务
- 监控: AWS CloudWatch,GCP Cloud Monitoring,Azure Monitor
- 数据库: AWS RDS,GCP Cloud SQL,Azure SQL Database
- 存储: AWS S3,GCP Cloud Storage,Azure Blob Storage
- 计算: AWS EC2,GCP Compute Engine,Azure VMs
- 身份验证: AWS IAM,GCP IAM,Azure AD
- DNS: AWS Route 53,GCP Cloud DNS,Azure DNS
- 虚拟私有云 (VPC): AWS VPC,GCP VPC,Azure VNet
- CDN: AWS CloudFront,GCP Cloud CDN,Azure CDN
- CI/CD: AWS CodePipeline,GCP Cloud Build/Deploy,Azure DevOps Pipelines
- 证书管理: AWS ACM,GCP Certificate Manager,Azure Key Vault Certificates
- 容器镜像仓库: AWS ECR,GCP Artifact Registry,Azure Container Registry
- 无服务器计算: AWS Lambda,GCP Cloud Functions,Azure Functions
- 无服务器容器: AWS Fargate,Google Cloud Run,Azure Container Instances
- Kubernetes: AWS EKS,GCP GKE,Azure AKS
- 基础设施即代码 (IaC): AWS CloudFormation,GCP Deployment Manager,Azure Resource Manager
- 负载均衡: AWS Elastic Load Balancing,GCP Cloud Load Balancing,Azure Load Balancer
思维导图地址:https://coggle.it/diagram/ZtMDf8rvLIwlbc-0/t/backend-engineering/44ac2c05e0c7fcdd9920723c49ec128e5a65bcc430a145638eb01f5c64a884a1