• 2.项目疑问


    Day01

    1.前后端分离项目的全局异常处理怎么做

    使用@ControllerAdvice+@ExceptionHandler(类.class)来实现异常处理

    @ControllerAdvice: Controller增强器。将异常处理器应用到所有的控制器

    @ExceptionHandler:异常处理器,只要发生异常就会捕捉。根据异常类型不同做不同的处理

    @ResponseBody:将异常直接写入到HTTP响应体中。

     

    2.用户自定义异常怎么实现的

    自定义异常类继承RuntimeException,属性是枚举类型,里面有各种异常信息。通过有参构造器构造。

    throw new CustomException(异常信息)

     

    Day02

    1.用户登录是怎样设计的,怎样保证密码的安全呢?

    ①在service里调用mapper的方法根据id获取对象user

    ②如果user为空,那么账号不存在。然后判断密码是否错误,账号是否锁定,是否有权限

    ③然后根据用户id根据jwt生成token,返回给前端调用

    密码安全:

    通过密码+盐(随机生成字符串),然后生成MD5(密码MD5+盐)

    2.你项目用到的nacos的作用是什么

    ①nacos是注册中心,配置管理。让程序读取配置的

    ②nacos的地址是保存在项目的bootstrap.yml,优先级高。

    ③nacos配置更新,程序无需重启。所以需要将运行调整的参数放在nacos配置中心

    3.用户登录jwt怎样生成的token

    ①首先创建HashMap,存储JWT的声明claim。把用户id存放在这个声明里面。

    ②通过Jwts工厂类创建一个JWT构建器

    ③JWT的唯一标识UUID,根据当前时间设置JWT的签发时间,设置主题,签发者,接收者,通过密钥进行签名,一个小时过期。

    ④将创建的声明claim(用户id)加入到jwt的body

    JWT用户身份验证和信息传递,包括用户自定义的id,过期时间,接收者等信息

    4.你用过哪些接口测试工具

    ①postman

    ②swagger

    ③knife4j

    Day03

    1.项目的网关是怎样配置的,网关的作用是什么

    ①导入依赖

    gateway

    nacos-discovery

    nacos-config

    ②创建配置文件bootstrap.yml,包括服务的基本信息,nacos地址,路由

    ③在nacos里面进行yml配置

    端口请求访问的是网关,基于路由规则判断,拉取服务列表,进行负载均衡发送请求。

    2.全局拦截器jwt是怎样设计的

           /**实现Ordered,GlobalFilter接口

            * 全局路由:

            * 1.根据请求体的路径,如果是login那么就放行。

            * 否则

            * 1.通过请求头获取token

            * 2.如果token为空,请求拦截

            * 3.token不为空,根据claims判断是否过期,如果过期就拦截,不过期就放行。

            */

    3.Nginx的作用是什么

    ①通过反向代理访问后台的网关资源

    ②通过静态服务器访问前端静态页面

    Day04

    1.滚屏分页的逻辑是怎样实现的?

    加载上面的最  发表时间>0

    加载下面的更  发表时间<2053

     

    2.为什么文章表要拆分?

    垂直拆分:将一个表的字段分散到多个表中,每个表保存一部分字段

    优势:

    ①减少IO争抢,减少锁表的几率。查看文章概述和文章详情不影响

    ②高频数据的操作效率,对文章概述的操作高效率不会被操作文章详情低效率拖累。

    拆分规则:

    ①不常用的放一个表

    ②经常查询的放一个表

    ③把大字段放一个表

  • 相关阅读:
    Python语言进阶学习
    JAVA calendar
    关于网站建设公司哪家好的一些事
    SynthText流程解读 - 不看代码不知道的那些事
    嵌入式开发:为可重用软件模块设计接口的5个技巧
    机器学习复习(待更新)
    Docker(九)—— Docker 网络
    Shiro授权&&Shiro的注解式开发
    目标检测(3)—— 如何使用PyTorch加载COCO类型的数据集
    点云从入门到精通技术详解100篇-低重叠率三维点云配准及点云数据一体化处理系统开发
  • 原文地址:https://blog.csdn.net/jbkjhji/article/details/134457355