Skip to content

接口耗时如何判断哪段时间最长?如何排查解决?

这个范围比较广,我想想。
1.是否服务器资源不足,比如cpu,内存,io,宽带 2.是否有死循环或者无限递归;改代码 3.是否有比较大的数据在使用,循环,复制等;是否是需求不合理,是否能异步处理 4.是否能使用更好的算法,减少时间复杂度; 5.是否有发起其他url请求;如果是这里慢的,只是查询的请求,结果是否能够保存?减少请求次数? 6.是否是数据库操作比较慢,这里就需要对数据库进行优化。 7.是否是服务器承受不住这么大的流量,导致出现故障。

如何对 API 请求响应优化 600ms -> 100 ms

网络延迟:增加 CDN加速,就近节点访问,选择最优线路 硬件方面:增加服务器带宽(出口、入口)、增加机器部署集群 服务代码:优化代码逻辑、第三方服务请求连接

  1. 加缓存
  2. 优化 MySQL、ES

开发的流程规范是什么

修改旧函数需要注意什么?

有搭过gitlab吗?

如何排查错误?

为什么token要放在header?什么数据适合放在header?

请求token通常放在HTTP请求的header中有几个原因:

  1. 安全性:HTTP的header部分不会在URL或者其他易于被截获的地方显示,因此更安全。

  2. 无干扰:将token放在header中可以避免干扰正常的GET和POST请求。如果token放在body或者URL中,可能会对数据传输或者请求链接造成干扰。

  3. 标准化:按照HTTP协议的规定,自定义的用户身份验证信息应该放在Header中,这样可以更好地遵守标准,并且便于各类HTTP库和工具的处理。

  4. 灵活性:将token放在header中,可以很容易地应对多种情况,比如说在一个请求中发送多个token,或者在不同的请求中发送不同的token等。

这些原因使得在header中发送token成为了一种常见的做法。

请求的数据,后端有哪些默认的判断规则?

请求头基本 Method :是否运行的?Post,get,put,delete Uri:是否存在对应的路由 Cookie:是否携带cookie,判断用户是否登录,是否有权限请求uri User-agent:可能要判断 签名: 请求头安全方面 Origin: Refer:来源 CORS同源检测 参数方面的 数据的类型是否符合, 长度是否合适, 数据是否存在(可能需要查库) 是否支持改类型的字符串(比如emoji需要ut8mb4) 上传文件,类型,大小,等判断 安全方面的 防止重复提交 提交过频是否需要考虑限制 幂等性 Xss,csrf,sql注入

给你两个一模一样的玻璃球,求出 100 层楼哪一层开始玻璃球会被摔碎

请简单介绍一下你做的这个项目

遇到比较困难(有成就感,做的最好等)的事情?如何解决?

怎么测算 qps

QPS = 并发量 / 平均响应时间

怎么知道你的机器的最大承载是多少

支付防刷?

支付幂等性?

支付失败?

原因:微信故障,域名故障,服务器的出故障?代码问题? 支付服务有定时任务,请请求微信接口判断是否支付了,查看订单的状态 Rabbitmq延迟,避免无意义的重试

生产环境有没有遇见过什么异常,什么思路,花了多长时间解决?

有什么比较深入的思考吗?或者说有做过什么东西印象比较深刻?

说明一下平时解决BUG的工作思路

开发的流程规范是什么?