面试官不错
自我介绍
线程池
创建线程池的方法
七大参数
原理
IO密集型 和 CPU密集型 的区别
MySQL乐观锁和悲观锁的实现
是什么
共享锁和排它锁
记录锁、间隙锁、临键锁【顺便提了提ACID,解决幻读】
MySQL怎么添加锁?具体操作【懵了、想了想 lock in 、for update】
微服务
这里得感谢一下阿里,回去复盘了,从公司微服务架构演变讲到分布式事务的四个解决方法【二次提交、TCC、MQ + 本地消息表】,吹了吹别的【不过,被面试官看出来是背的了,面试官还给我具体说了说真实场景的应用(尴尬)】
死锁问题
死锁的四大条件
避免死锁
加锁【扯到我自己的分布式锁】
加过期时间
银行家算法
关于索引的一些问题
有一个商品的名称和种类,怎么建立索引【离散度】
like走索引不【%最右走索引】
三大范式
说了说 Myisam 和 innodb 一些特性【扯建立文件不同、锁不同、事务、索引啥的】
Redis
基本数据类型【想说跳表的原理,没给机会】
持久化【RDB 和 AOF】
我们修改完数据库的热点信息后,Redis怎么进行操作?
第一种思路:修改的时候,去 Redis 中,直接进行修改
第二种思路:修改的时候,去 Redis 中进行标记,等到用时,再进行修改
说了说,自己在生产上还真没有碰见这样的问题,面试官有没有兴趣给我讲解一下?
面试官:当我们数据库的热点数据进行修改时,直接删除掉 Redis 缓存就可以了,查的时候去数据库查,重新增添缓存
这时候,我感觉表现的机会来了,说:如果我们删掉索引的话,那万一高并发全部打在数据库上,可能导致数据库的瘫痪嘛?
后面围绕这双11的秒杀和其他的场景扯了扯
Redis是单线程的还是多线程的?为什么能搞定10W缓存?【回去复盘】
我印象看过是个单线程,不过忘了在哪了
说了说,事务机制和主从复制机制
你的优点、缺点
反问:公司技术栈、对我的以后学技术的建议
校招生看看分布式和微服务,懂个基础就行,没有经历过大型的项目经历,没有办法体会到那种技术
这个挂了我有点想不太明白【还是太菜了】
#面经##校招##闪电快车##Java工程师#