后端工程师主要做什么
```html 你点了一份外卖,骑手位置在地图上实时移动,工程商家接单后厨房开始备餐,师主三公里外的后端调度系统正在计算最优路线。这些动作背后,工程没有一行代码直接运行在你的师主手机屏幕上。它们跑在某个机房的后端服务器里,由后端工程师搭建和维护。工程 后端工程师的师主核心任务,是后端让数据在正确的时间、以正确的工程形式、出现在正确的师主地方。听起来像句废话。后端具体点说,工程你登录时输入的师主密码,不会明文存进数据库,而是经过哈希加盐后变成一个乱码串——后端工程师决定用bcrypt还是argon2,迭代多少次,盐值怎么生成。你刷短视频时,推荐算法从几十亿条记录里捞出你可能会看的那几条,后端工程师要保证这个查询在200毫秒内返回,否则你手指一滑就划走了。 写接口是日常。前端说“我要一个用户信息”,后端就得设计一个 数据库是后端工程师的主战场。关系型数据库里,表结构怎么设计,范式化到什么程度,什么时候该反范式加冗余字段,这些选择直接影响后期维护成本。有个做SaaS的朋友,早期为了“规范”,把用户和权限拆成五张表,结果每次查权限要join四次。后来用户量到十万,查询慢得没法看,只好把权限拍平到用户表里,用JSON字段存。他说:“教科书教你要范式化,但没教你什么时候该拍平。” 缓存也是绕不开的。Redis里存什么,过期时间设多久,缓存穿透了怎么办,雪崩了怎么扛。这些问题在流量小的时候都不是问题,流量一上来全是问题。我见过一个团队把商品详情页整个HTML塞进Redis,结果一次模板改版,所有缓存全脏了,数据库瞬间被打穿。后来他们改成只缓存商品数据,模板由前端渲染,问题才解决。缓存不是银弹,用错了比不用还糟。 还有消息队列。用户下单后,要发短信、要更新库存、要通知物流。这些操作不能同步做,否则用户得等好几秒。后端工程师把订单消息扔进Kafka,让下游系统慢慢消费。但队列积压了怎么办?消息重复消费了怎么保证幂等?这些细节,写代码的时候想不到,出了故障就得连夜修。 部署和监控同样跑不掉。代码写完不是终点,得打包成Docker镜像,推到Kubernetes集群里,配置好健康检查、资源限制、自动扩缩容。上线后还得盯着Grafana面板,看QPS、延迟、错误率。有一次凌晨三点,报警说某个服务的P99延迟从80ms飙到2s,爬起来一看,是某个慢查询把连接池占满了。加了个索引,重启服务,世界安静了。 后端工程师不直接面对用户,但用户每一次顺畅的点击,背后都是他们在兜底。这个岗位不需要花哨的界面,但需要一种对系统稳定性的偏执。写代码只是手段,让系统在流量洪峰里不崩、在数据膨胀时不慢、在故障发生时能快速定位,才是真正的日常。后端工程师主要做什么
GET /api/user/{ id},返回JSON里包含昵称、头像、注册时间。但事情没这么简单。这个接口要不要鉴权?用户A能不能查用户B的信息?如果查不到,返回404还是200加空对象?这些决策没有标准答案,取决于业务场景和后端工程师的经验。我见过一个团队因为返回码不统一,前端写了三套错误处理逻辑,最后联调时互相甩锅。
-
上一篇
-
下一篇
- 随机阅读
- 搜索
-
- 友情链接
-