电话面试,中途还因为手机没电的原因断线了几分钟,不过面试官是个大好人主动打回来了😭1、进程与线程的区别2、进程和线程的关系3、多线程场景下会有什么问题4、具体一点呢,这个数据是哪里不一致的(我说的是CPU三级缓存和主存不一致、MESI协议)4、进程通信的方式有哪些(漏了socket,不过面试官提醒了)5、tcp和udp的区别,各自的优缺点6、tcp的滑动窗口和拥塞控制简单介绍一下(滑动窗口没说好)7、介绍一下二叉树8、平衡树的概念以及优点9、树这个结构在数据库中应用最广泛的地方是什么10、聚簇索引和非聚簇索引这两个概念有什么区别11、MySQL中一个表中id是主键,这个主键是聚簇索引吗(直接说了是,但是后面看来面试官说的是MySQL,但没说是InnoDB,如果是MyISAM就不是了)12、那select这张表where id = 1这个语句的查询计划是怎么样的或者说它是怎么从索引找到整行的数据的13、那这个是只要查到叶子节点就能查到这行所有的数据对吗14、那我们现在有一个普通的索引,叫name,然后查询条件时where name = 什么什么,那在刚才的执行流程上它会有什么区别,它在哪一层开始有的区别15、那有一个联合索引name 和 age,还是刚才的查询,能用到这个索引吗16、简单介绍一下快排的思路和伪代码,那快排的时间复杂度是多少17、介绍一下项目吧18、手机没电了,你不许介绍😡19、给手机充电,并且重新开机20、等面试官回电话,因为太紧张了,介绍到一半卡死,面试官还安慰我别紧张,给我时间缓一缓21、先更新完数据库后异步更新缓存有什么数据一致性的问题22、怎么避免消息重复消费23、假设现在消息中间件是集群部署,消息发送的时候哪条消息先到broker是不确定的,消息消费的顺序性无法保证,在数据库更新完成的情况下,怎么保证缓存更新的最终一致性(面试官说加分布式锁,然后更新缓存的时候回查一下数据库里的数据,得到数据库里的正确的数据就好了,不用管消息顺序的问题。我的理解是这个异步消息就是一个通知,本身没有携带什么要更新到缓存的信息,也不用管消息重不重复是否顺序,只是收到这个消息就回查一下数据库把数据库里的数据刷到缓存就行了,不知道对不对)24、你用游标分页解决深分页的问题是怎么做的再次感谢面试官,没答出来的也会说没关系,也在一直给提示,是我太菜了😫更新,今天晚上约二面了,这居然能过,我给一面面试官哥哥跪了#淘天一面# #后端# #Java#