1. cookie和session的区别是什么
      1. 存储位置
        1. cookie存放客户端,session存放服务端
      2. 存储容量
        1. 单个cookie<=4KB,一个站点最多保存20个cookie,session没有上限
      3. 存储方式
        1. cookie只能保存ASCII字符串,session可以保存任意类型
      4. 隐私策略
        1. cookie对客户端可见,不安全;session对客户端不可见
      5. 生命周期
        1. cookie可以通过设置长期有效,session不能长期有效
      6. 服务器压力
        1. cookie不占用服务器,每个用户都会产生一个session在服务端
      7. 跨域支持
        1. cookie支持跨域,session不支持跨域
    2. cookie和session各自适合什么场景?
      1. session
        1. 敏感数据
      2. cookie
        1. 普通数据
    3. 介绍session的工作原理
      1. 客户端首次访问服务器,服务器产生session对象且该对象有唯一标识SESSIONID
      2. 同时在响应阶段服务端创建一个cookie,将SESSIONID存入
      3. 客户端通过响应的cookie来持有SESSIONID,再次访问服务端时,服务端会获取到cookie中的SESSIONID,找到对应的session对象,进而获取响应状态
    4. get和post的区别(面试真题)
      1. 浏览器退回时
        1. GET无害,POST会再次提交请求
      2. GET产生的url地址可以被Bookmark,POST不行
      3. GET会被浏览器主动cache,POST需要手动设置
      4. GET只能url编码,POST支持多种
      5. GET参数被保留在浏览器历史记录,POST不会
      6. GET在URL传送的参数有长度限制,POST没有
      7. GET通过URL传递,POST通过RequestBody
    5. get请求的参数能放到body里吗?
      1. 可以但不建议
    6. post不幂等是为什么?
      1. POST所对应的URI并非创建的资源本身。两次相同的POST请求会在服务器端创建两份资源,它们具有不同的URI。所以,POST方法不具备幂等性。
    7. 400是什么意思
      1. 请求的语义有误,当前请求无法被服务器理解
    8. 请求数据出现乱码怎么处理?
      1. 原因是客户端与服务端编码方案不一致
        1. 用中间相互转化
        2. 显示声明实体内容或请求路径编码与服务器一致
    9. 如何在SpringBoot框架下实现一个定时任务
      1. Spring提供了可执行定时任务的线程池,在配置类中启用线程池注解即可
    10. 调用接口时要记录日志,该怎么设计
      1. 可以定义一个组件,通过AOP织入到接口的调用