tulip notes
首页
  • 学习笔记

    • 《Vue》
  • 踩坑日记

    • JavaScript
  • MQ
  • Nginx
  • IdentityServer
  • Redis
  • Linux
  • Java
  • SpringBoot
  • SpringCloud
  • MySql
  • docker
  • 算法与设计模式
  • 踩坑与提升
  • Git
  • GitHub技巧
  • Mac
  • 网络
  • 项目构建合集
  • 一些技巧
  • 面试
  • 一些杂货
  • 友情链接
  • 项目发布
收藏
  • 分类
  • 标签
  • 归档
GitHub (opens new window)

Star-Lord

希望一天成为大师的学徒
首页
  • 学习笔记

    • 《Vue》
  • 踩坑日记

    • JavaScript
  • MQ
  • Nginx
  • IdentityServer
  • Redis
  • Linux
  • Java
  • SpringBoot
  • SpringCloud
  • MySql
  • docker
  • 算法与设计模式
  • 踩坑与提升
  • Git
  • GitHub技巧
  • Mac
  • 网络
  • 项目构建合集
  • 一些技巧
  • 面试
  • 一些杂货
  • 友情链接
  • 项目发布
收藏
  • 分类
  • 标签
  • 归档
GitHub (opens new window)
  • 一些技巧

  • 面试

    • 面试问题集锦
    • Java热点经典问题集锦_1
    • Java中类跟数据相关问题_1
    • Java集合相关问题
    • Java并发与异常相关问题
    • Java循环条件判断相关
    • Redis面试题
    • 实际场景问题_1
      • 使用细节相关
        • 【1】图形验证码-在发送请求时,后面为什么需要加时间戳?
      • 设计/使用缘由类
        • 英雄联盟用TCP链接好,还是UDP好,它们各自的区别是什么?
      • 生产环境cpu占用过高
        • 可能原因
        • 排查方法
        • 解决方法
      • 接口响应变慢
    • 框架类技术问题集锦-1
    • 开发中遇到的问题_1
    • MySql面试相关
    • Java中业务相关问题
    • 软件测试面试问题
    • 软件测试面试answer
    • Java八股文系列
  • 一些杂货

  • 项目发布

  • 友情链接
  • 更多
  • 面试
EffectTang
2023-11-09
目录

实际场景问题_1

# 实际场景问题_1

# 使用细节相关

# 【1】图形验证码-在发送请求时,后面为什么需要加时间戳?

【浏览器缓存】

1.由于浏览器会对同一 url 的图像进行缓存,向减少服务器端的请求次数,提高浏览性能

随机数就是让每次点击刷新验证码的时候请求的 URL 路径都不同。告诉浏览器上个图片已经失效了,需要重新向服务器上请求新的图片信息。这样才能实现每次点击都会刷新验证码的效果,否则只有在页面刷新的时候验证码才会变,或者点击一次之后就不再变了,而这并不是我们想要的效果。

2.加时间戳是为了防止有些浏览器(IE等)偷懒不发送请求,直接匹配URL是否一致,一致就从缓存读取数据,不一致才重新发请求

当然在使用验证码时,记得设置验证码的过期时间

# 设计/使用缘由类

# 英雄联盟用TCP链接好,还是UDP好,它们各自的区别是什么?

根据游戏对响应度的要求来判定,英雄联盟应该是UDP为主

对于像英雄联盟这样的大型网络游戏而言,大量的玩家同时在线,需要快速地传递大量的实时游戏数据,如角色位置、技能施放等,这就要求网络协议能够提供低延迟和高吞吐量的服务,而UDP正是为此目的而设计的。另外,UDP适合对实时性要求较高的应用,比如语音、视频等实时流媒体应用。

在传输速度方面,由于UDP无需建立连接和维护状态,因此传输速度比TCP更快。同时,UDP也没有TCP中的重传机制、拥塞控制等机制,这使得UDP更加简单高效。

然而,由于UDP没有TCP中的可靠性保障机制,数据包会出现丢失、重复、乱序等问题,需要应用层进行相应处理。 TCP虽然传输速度相对较慢,但是具有可靠性、流量控制、拥塞控制等特点,适用于大多数网络应用,比如Web浏览器、电子邮件、文件传输等。

UDP和TCP选择哪种协议,需要根据具体的应用场景来决定,权衡速度和可靠性因素。

# 生产环境cpu占用过高

生产环境cpu占用过高,怎么排查和解决?

# 可能原因

  • 某个系统在跑批,比如系统判断有大量新用户,疯狂通过mq进行派发优惠券

# 排查方法

  1. 通过三个命令
top 
# 首先通过top 
1
2

首先通过top找到cpu占用最高的进程ID,然后通过

top -H -p <pid>
1

找到占用最高的线程ID,并将其转化为16进制

printf '0x%x\n' 线程PID
# 中间一定要有空格
1
2

最后使用,jstack 命令结合进程ID和16进制线程ID

查看线程状态,找到占用高的代码执行

jstack 进程PID |grep 16进制线程PID -A 20
# 最后的数字表示 显示多少行
1
2

到此,你就可以看到对应的错误信息了。

# 解决方法

以下解决方法,仅供参考,

# 接口响应变慢

上次更新: 2025/04/23, 16:23:16
Redis面试题
框架类技术问题集锦-1

← Redis面试题 框架类技术问题集锦-1→

最近更新
01
面向切面跟自定义注解的结合
05-22
02
时间跟其他数据的序列化
05-19
03
数据加密与安全
05-17
更多文章>
Theme by Vdoing | Copyright © 2023-2025 EffectTang
  • 跟随系统
  • 浅色模式
  • 深色模式
  • 阅读模式