面试题
- jwt泄露了,怎么让token失效?
在用户登录时,记录用户的token到redis中,以用户id作为key来记录,同时设置这个key有一定有效期。
在用户每次登陆时,因为token在redis时以用户id作为key的, 作为每次用户登录都会拥有唯一的token生成,
所以,用户再次登陆就可以保证之前的token失效。同时,在admin站点中可以实现功能,让redis中当前用户id对应的token被删除掉即可。
- mysql中,一个表A,另一个表B,两张没有任何关联,但是要根据数据的波动去定义查询数据数据,到底是A装B,还是B装A。
union all 联合查询,一次查询两张没有关系的表。
- 你在开发中有试过哪些代码格式化或代码校验工具/模块?
python的第三方模块,pre-commit,可以让我们本地代码提交到git之前进行自动调用配置好的一些代码校验工具:
black,自动验证项目根目录或子目录下所有以py结尾的文件中的代码,是否符合pep8规范。
flake8,自动验证项目根目录或子目录下所有以py结尾的文件中的代码,是否符合pep8规范。
pycodestyle,
autopep8,这个工具执行的时候,会自动把所有.py结尾的文件中的代码,按pep8规范来自动调整。
isort,这个工具执行时,会自动帮我们把python中的导入模块的代码,自动进行排序整理,整理的规则:
```
import 包名 from 包名 import 模块 ```
pylint,自动验证校验代码是否符合python的pep规范。不仅包含了pep8,还包含了其他的规范,所以相对比较难以使用。