前言

二面问的问题更是基础多一些,但奈何很多确实平时基本没有用到过.还有的不知道询问的意图是什么.个人感觉非常简单但是很细节的问题,有知道考察意图的大佬麻烦回复下.问Linux命令但是确实会的不多,而且分库分表加上读写分离等集群经验都比较少,回答下就基本不问了..还有不少是一面的问题建议可以看下一面
面了55min,很多问题都忘了,比较零散的问题而且大部分比较简单吧,深入理解JVM虚拟机看了三四遍JVM问题回答还是比较快速和自信的.毕竟问的也不深.其他的比较紧张没有get到点,太菜了太菜了,面试官全程面无表情想问题问我,哈哈,常用的我都不会,只能问点零碎基础的了.但是过了.

0. 自我介绍

  1. 工作经历
  2. 最后一份工作使用技术栈
  3. 个人负责开发功能模块

1. 定时任务框架

  1. cron表达式写出每日凌晨1点执行. 秒成为*时会1点每秒执行一次
  2. 定时任务管理框架.xxjob和quartz基于什么技术实现的

2. @RestController和@Controller

  1. 区别: 返回序列化字符串/返回ModelAndView/页面交由视图解析器解析
  2. @Controller返回序列化字符串--> 加@ResponseBody

3. JSON格式表达

  1. []中内容是数组,{}表示是对象

4. JVM溢出错误标识

  1. OutofMemoryError和StackoverflowError

5. Rabbitmq一条消息多个消费者消费怎么做

  1. 使用发布订阅模式、路由模式、通配符模式

6. Maven生命周期功能

package、install、deploy

7. Linux命令(不会)

  1. 重启nginx nginx -s reload; service nginx restart
  2. 查看进程: ps;top;
  3. 打印线程信息: ps -T -p pid
  4. 查看日志信息: tail -n ; head -n; cat -n file | grep "debug" | more

8. Nginx负载均衡策略

  1. 轮询round robin、随机random、权重weight、hash(ip_hash/url_hash哈希分配)、fail(响应时间短的优先分配|第三方插件支持)、least_conn(最少连接数)
  2. 指定down属性表示节点不参与负载均衡;指定backup属性表示备用机,其他节点都忙时才会分配给他请求

9. Redis数据结构

String、Set、ZSet、Hash、List

10. Redis实现分布式锁

setNX命令,成功返回1,不成功返回0.记得设置超时时间

11. 分库分表,读写分离了解过没

这里直接说的没了解,其实可以说Mysql集群主从模式.Master节点写,从节点读.从节点通过binlog同步主节点数据; 分库分表可以通过Hash算法将同类数据放到一个库中,之前看过一个分库博客也给忘了,实践出真知啊!!!

12. JVM内存模型

元数据区、堆、程序计数器、虚拟机栈、本地方法栈

13. JVM堆分区及其原因

  1. 新生代老年代: 新生代对象朝生夕灭;老年代对象存活时间久;方便制定不同回收算法以及管理
  2. 新生代分为Eden和两个suv区: 使用复制算法回收比较方便快速,suv区用于辅助复制算法实现,又不至于占用太多无效内存

14. JVM垃圾回收算法和垃圾定位方式

  1. 算法: 标记清除、标记整理、复制算法、分代回收算法
  2. 定位: 引用计数、可达性分析法

15. spring-boot-starter作用

  1. 实现依赖组件的自动装配
  2. Springboot自己实现了一个SPI机制.starter中的组件将配置写入META-INF/spring.factories文件中实现配置对象自动装载
  3. 使用@Configuration+@SpringBootApplication注解实现依赖组件自动装载.(@Import)

16. ArrayList实现排序

17. 流式排序&流式过滤&流式映射&流式集合转换

18. ArrayList和LinkedList比较

19. HashTable、TreeMap、LinkedHashSet、Queue

这些的都没了解过.想请问下这些数据结构和LinkedLinst的使用场景

19. Mybatis-plus getone方法

查询结果集多于一条返回异常; 第二个参数false会默认返回第一条

20. 高并发下缓存解决方案

这里真的不知道在问什么.方案只是处于理论水平,没有理解面试官意思.后面应该式知道了
缓存击穿、缓存雪崩、缓存穿透方案. 分布式锁

21. 慢sql语句优化思路

22. 执行计划Explain

如何看Explain.这里还是没记住.type中的类型要好好看下

23. 行锁(用索引和不用索引区别)

昨天刚好问了,总结了这块方法在上个面经

24. 索引建立规则

  1. 就问了建立联合索引时唯一性高的放左还是放右
  2. like什么情况会用到索引

25. 剩下的忘记了