技术
基础
讲一下你了解的设计模式 抽象类和接口的区别 怎么理解多态 问了类加载机制,static int = 1;1放在内存的哪个位置猜的是栈,面试官说他也不太记得 但是说栈 没问题,后面又说了这个数字特别大是什么情况,没答上来,面试官说了是方法区,后面我接着说了是就是jdk8的元空间。 类加载器有哪几种
JVM
jvm理解 JVM运行区内存区域
集合
你说你看过HashMap源码,讲一下你看过的内容。从 put 方法讲起,然后讲到扩容,扩容后讲为什么出现了高位和低位 HashMap是线程不安全的,你了解过线程安全的HashMapconcurrenthashmap 1.7 和 1.8 线程安全的区别讲了 concurrenthashmap 1.7 和 1.8 分段锁 和 node 锁是一样的锁么?锁怎么实现的?
线程
线程池的创建方式。有哪四种?都有什么缺点定时 定长 缓存 单一 缺点没答上来 自定义线程池的话都有哪些参数处说了七个参数,解释了一下都有哪些,自定义的线程池可以根据业务需求来进行创建 线程池的核心参数 什么时候创建非核心线程
数据库
Mysql
MySQL的页的了解 MySQL索引?先说了MySQL存储的基本单位,讲了一下索引建立的过程。讲了一下索引失效的情况,还有为什么在这几种情况下,索引会失效,MySQL是如何判断走不走索引的。 不走索引怎么扫描全表扫描,直接走叶子节点。 了解过回表查询么,什么情况下进行回表查询查询的字段,没有被索引覆盖时,需要查询与索引绑定的主键id,通过主键id进行查询的过程为回标查询。顺便讲了一下什么是覆盖索引。 MySQL的索引都有哪些主键索引,唯一索引,联合索引,普通索引。 MySQL的事务了解过么四种事务 MySQL事务是怎么实现的 讲的是MVCC加锁,但是面试官提了undolog日志,后面就答了事务的回滚是通过undolog日志实现的,undolog 会记录前后的操作,这个操作时怎么实现的,这个问题没有回答上来 MySQL的锁怎么实现的 可以一个事务调用多个服务,怎么保证一致性?如果需要保证一致性,用分布式事务框架seata,用它提供的at、tcc模式,at用于同源数据库比如都是mysql,有三个角色,被调用方式rm 资源管理器 要上报tc 自身分支事务状态,写undo_log,tm是事务管理器开启事务,决定事务提交还是回滚,tc是中间件用来事务协调的,驱动事务提交还是回滚 索引失效讲一下失效的场景和一点原理 Sql优化 事务的隔离级别 问了联合索引答了最左匹配,索引失效
Mybatis
Mybatis分页怎么做我自己使用的是Mybatis Plus 分页插件,这个使用的是逻辑分页,里面有个拦截器,然后进行分页。 Mybatis 自定义插件用过没有
Redis
redis持久化的方式以及区别应用场景
Redis的基本数据类型和应用场景讲了五种数据类型,还有应用场景
Redis list 底层用的什么数据结构 用的压缩链表,自己说了压缩链表比较快。
redis应该只是用来做缓存,配置别人配好,问题应该不大吧?redis它序列化会有问题,比如对jdk1.8 localdatetime序列化,反序列会出现问题
压缩链表比较快,为什么比较快a) 压缩链表,链表的地址是连续的,当进行寻址时速度比较快。
a) 这个讲了运行区域的内存情况,然后说了一下哪些是线程共享的,哪些是线程独有的,顺便讲了JMM模型的内容。
Spring
对微服务的理解
spring 单例有属性会出现什么问题线程安全问题
讲一下spring 和 spirng boot 的区别spring是框架,spring boot 是脚手架
讲一下spring ioc 和 aop讲了控制反转和di,还有aop实现的动态代理
spring boot 自动装配了解过么,讲一下springboot的自动装配讲了注解,注入的类,讲了哪个文件夹搜索内容,最后筛选的条件
讲一下spring ioc 和 aop讲了控制反转和di,还有aop实现的动态代理
SpringIoC 讲一下讲了IoC和DI的区别和联系 讲了SpringIoC的源码实现
自己写一个starter,你怎么写的主要是要注解 component 交给容器管理,还有在mata-inf spring.factories 文件要加入类的全限定名。
构建工具 maven jar的冲突怎么解决 maven作用域maven jar 直接 exclude 作用域的问题
Linux
会部署docker吗? Linux常用命令
微服务
nacos与eureka的区别 具体接触过哪些技术Redis、kafka 讲一下服务治理只答上来了服务的自动注册与发现。但是思路可以还答 负载均衡 容错机制:降级 熔断 限流 在项目哪里用到rabbitmq资讯发布异步调用审核服务 rabbitmq的模式 讲一下分布式事务的理论说了cap 还有base se没说上来 jvm内存 微服务内存溢出怎么排查 问了jwt的使用我答网关鉴权
项目
项目上线了吗? 项目中遇到过什么难题 多线程在业务中怎么做的? 项目中怎么处理异常 有没有参与项目需求分析,表设计? 都是别人分析好的?那你怎么进行开发的?项目经理写好需求文档,划分几大服务,服务分成多个小模块,在禅道上分配任务 沟通成本大不大,会不会频繁需求变更,跟甲方扯皮?项目经理跟客户沟通,也有需求变更的情况