当前位置: 首页 > news >正文

常见场景题3(面试)

设计一个接口需要考虑什么

  1. 入参合法性校验。参数范围是否合理,参数类型是否正确等
  2. 接口考虑幂等性重复调用的结果和单次调用的结果一致
  3. 减少接口的响应时间。如数据库加索引。添加redis 缓存
  4. 选择合适的接口请求日志不同接口设置不同的日志级别
  5. 统一响应数据格式。需要返回统一格式的响应体,响应数据会包含三个属性: 状态码(code),信息描述(message),响应数据(data)
  6. 接口单一职责

如何保证接口安全

  1. 使用https协议
  2. 参数校验。参数范围是否合理,参数类型是否正确等
  3. 统一封装返回值。需要返回统一格式的响应体,响应数据会包含三个属性: 状态码(code),信息描述(message),响应数据(data)
  4. 区分不同的访问形式。比如是否登录,账号是普通账号还是会员账号,或者管理员账号
  5. 加验证码
  6. 限制访问频率。比如发送短信后,60秒后才能再次发送

慢接口如何排查

线上接口过慢,原因有以下三点:
1.内存使用过高,频繁gc导致cpu占满
2.内存使用不高,但出现了类似死循环的场景
3.死锁。

  1. 使用 top -c指令找到负载高的进程id
  2. top -Hp X指令查看该进程的线程id的CPU负载情况,找到CPU负载高的线程id
  3. 使用jstack命令查看该线程的堆栈信息
  4. 根据堆栈信息找到代码中哪个类的第几行出现了问题

相关文章:

  • Netty简介
  • 时序数据库 TDengine 的入门体验和操作记录
  • java 框架组件
  • 24暑假实习信息、25秋招提前批信息,地信、测绘、遥感、地质相关岗位招聘汇总
  • C++——输入三个整数,按照由小到大的顺序输出。用指针方法处理。
  • ubuntu错误GPG error: http://repo.mysql.com/apt/ubuntu noble InRelease
  • Contact Form 7最新5.9.8版错误修复方案
  • Redisson 总结
  • QT窗口无法激活弹出问题排查记录
  • Stylized Smooth Clouds 卡通风格化云朵包
  • 《ChatGPT:强大的人工智能聊天机器人》
  • PG逻辑订阅功能
  • 【完整梳理验证】企业微信第三方应用接入全流程java版
  • 大数据新视界 --大数据大厂之探索ES:大数据时代的高效搜索引擎实战攻略
  • 第十四届蓝桥杯嵌入式国赛
  • 瑞利相干斑模型
  • 本地程序管理 -- geek(自带删除注册表内容)
  • Node-RED-L2-Node-RED在Linux系统启动时自动运行
  • php发送邮箱教程:如何实现邮件发送功能?
  • 软件设计-开闭原则
  • 侧记|青年为何来沪创新创业?从这一天寻找答案
  • 多地再发网约车从业及投资风险提示:避免盲目花费大笔资金“购车”入行
  • 国办印发《关于进一步加强困境儿童福利保障工作的意见》
  • 北外滩集团21.6亿元摘上海虹口地块,为《酱园弄》取景地
  • 云南临沧一行贿案金额认定比受贿案多41万,重审时检方变更金额起诉
  • 央行:增加科技创新和技术改造再贷款额度3000亿元