软件开发行业问答、工资福利与经验 · 智问盟
软件开发行业的公开问答、工资福利、职业发展和经验分享。
软件开发行业的公开问答、工资福利、职业发展和经验分享。
tech-software-dev
最近从办公室转到100%近端工作,发现效率下降了不少。在家办公经常被家里人打断,也很难保持专注。大家都是怎么安排作息和工作环境的?有什么提高近端工作效率的小技巧或工具推荐吗?非常感谢!
tech-software-dev
我这边最近看后端和全栈岗位,感觉刷题只是门槛,真正卡人的是项目讲不清和系统设计说得太空。简历上写了微服务、缓存、队列,面试官一定会追线上怎么扛流量、失败怎么重试、监控看什么。想听听现在还在面试的同行,你们觉得 LeetCode、系统设计、简历项目,哪个最容易被卡?
tech-software-dev
我以前处理过一个订单服务,真正把系统压垮的不是第一次请求,而是超时后的集中重试。客户端觉得请求没返回就再发,网关也在重试,下游支付接口慢一点,几秒钟内同一笔业务被打了好几次。后来我做重试会先分清楚哪些请求能重试,哪些只能查状态。读接口可以短重试,写接口必须有幂等键和业务状态机,不能靠前端按钮防抖兜底。超时时间也不能每层都设一样,最外层要比下游长一点,不然上游刚放弃,下游还在处理。现在我会给每次请求带 trace id 和 client…
tech-software-dev
我以前做支付和订单接口时吃过一次亏,前端按钮做了防抖,网关也有限流,但用户网络一抖,重试请求还是把同一笔业务打进来了。后来才明白,防抖只能减少重复点击,真正兜底还是后端幂等。 我现在做这类接口,会先定一个业务维度的幂等键。下单可以用 client_request_id 加用户 id,支付回调可以用平台交易号,库存扣减要绑定订单行,不能只拿时间戳或随机数糊弄。请求进来后先查幂等记录,有成功结果就直接返回原结果,有处理中状态就让客户端稍后…
tech-software-dev
我接过一个老订单系统,最开始也想把服务拆干净,接口重新写一遍。后来线上出过一次事故才明白,老系统最危险的地方不是代码丑,是没人说得清哪些边界条件在养活业务。 我现在碰到这种项目,第一件事不是改架构,而是把关键路径跑通:登录、下单、支付回调、退款、库存扣减、异常重试。能补契约测试就先补契约测试,补不了也要把请求样例、返回字段、超时、重试次数记下来。很多所谓"脏逻辑",其实是客户多年堆出来的特殊规则。 真正动手改的时候,我会先做小切口。比…
tech-software-dev
想分享一下在Bentley Systems渲染组入职大半年的感受: 前段时间公司收购了我一直很喜欢的开源公司 Cesium,它在三维可视化领域非常有名。很多前沿项目都离不开它,比如 Web3D 地图、数字孪生。 更让我兴奋的是,团队经常关注和尝试前沿渲染技术,比如 Gaussian Splatting 和 Voxel Rendering。这些都是图形学里很热的方向,能把点云、体素渲染做到实时和高质量。 对我来说,这不只是入职一家公司,…
tech-software-dev
想分享一下在Bentley Systems渲染组入职大半年的感受: 前段时间公司收购了我一直很喜欢的开源公司 Cesium,它在三维可视化领域非常有名。很多前沿项目都离不开它,比如 Web3D 地图、数字孪生。 更让我兴奋的是,团队经常关注和尝试前沿渲染技术,比如 Gaussian Splatting 和 Voxel Rendering。这些都是图形学里很热的方向,能把点云、体素渲染做到实时和高质量。 对我来说,这不只是入职一家公司,…