常见面试题总结

SQL优化
Shiro工作过程
AOP工作过程

Nginx工作流程
Kafka工作过程
Hadoop工作过程
Redis内存淘汰
redis参数优化
MapReduce编程模式
SpringIOC
接口和抽象类
线程池
Mybatis如何获取主键

#与$的区别

相同点:

  • 都是在SQL语句中动态传入的参数

不同点:

#{XX}

  • 传入的是字符 
  • 会经过预编译,能够防止SQL注入攻击

${XX}

  • 传入的是数值
  • 不经过预编译,无法防止SQL注入
  • 如果传入的是数据库表字段,就用$
  • order by

如何防止表单提交

1.表单提交出现的情况:

  • 多次点击提交按钮
  • 多次刷新页面
  • 用postman多次恶意攻击网站

2.表单多次提交的后果:

表单提交会造成数据重复,增加服务器压力

3.解决方案:

  • 前端:

前端js检查到点击了提交按钮后,将该按钮禁地 

  • PRG模式:

Post-Redirect-Ger开发模式


SpringBean的生命周期
Nginx反向代理实现
Nginx负载均衡实现
Mybatis逆向工程的生成
FLume工作过程
Spring IOC
线程(锁+高并发控制+线程状态)
SPringCloud和Doubbo的区别(OSI七层协议)
Spring事务控制
Hadoop 核心配置文件 集群搭建方式
Servlet 调用过程
JSP 九大内置对象
Redis分布式锁,数据结构
流量统计指标
流量统计项目架构业务流程
商城业务流程






Shiro的工作流程:

Controller获取到用户信息后将这些信息保存在token中
通过该token执行login方法,将token交给SecurityManager
SecurityManager再将该token交接给认证管理器
认证管理器再交给我们自定义的Realm去数据库比对数据实现登录功能并返回用户信息
权限管理器对realm返回的用户信息进行身份认证



AOP工作过程:
基于注解开发的redis缓存层AOP的设计:
1.连接






全部评论

相关推荐

03-13 21:15
江南大学 Java
多少分能进面啊?卡测评吗?做的我道心破碎了💔
小南瓜_66:A3 第四道题为什么用例过了 结果显示0%
投递携程等公司10个岗位 > 携程求职进展汇总
点赞 评论 收藏
分享
02-08 15:53
门头沟学院 Java
CoderEcho:让公司知道便宜没好货
点赞 评论 收藏
分享
评论
1
1
分享

创作者周榜

更多
牛客网
牛客企业服务