字节二面:
自我介绍和项目简介
mysql索引(B+和hash)
网络请求的过程
说说NIO(select,poll,epoll)
八股方面还有一些但是记不清了
算法题:
leetocede 40. 组合总和 II
当时开始想成三数和那题的解法了,用迭代写了20分钟也没写出来
当产品经理提出在你看来很琐碎的需求,你会怎么办(和产品经理沟通,要求说明需求应用价值,如果无法说服其修改需求,按正常流程开发)
手中offer情况
实习公司同事对你的评价
同学对你的评价
知乎一面:
自我介绍和项目简介
mysql索引(B+和hash,这个知识点问的面试官太多了,我都懒得写回答了!这,就是八股!)
聚集索引和非聚集索引(同上)
Mysql的主从复制(从数据库依据redolog完成一致性)
binlog和redolog的差异,以及记录写入的先后性(,binlog二进制数据文件,redolog逻辑命令。先后顺序,当时回答binlog先,redolog后,不知对错,面试官没纠正,应该对了)
mysql事务特性(泛谈了ACID,和MVCC)
谈谈锁(sync关键字和ReentrantLock)
sync关键字和ReentrantLock的区别(层级,功能,重量级三个方面)
说说分布式锁(谈了Redis和Zookeeper的分布式锁实现原理,也说了自己用mysql做的分布式锁)
可重入锁在过期前续期失败会发生什么(说了事务回滚和yeid让出)
谈谈GC(说了CMS和G1,详细介绍完CMS流程,垃圾对象判断、三色标记和清理算法后面试官喊停了)
被重新标记后,垃圾对象就一定会被回收吗?(不一定,清理时仍会进行判断,如重新可达就不会清理)
说说引用计数器(忘了)
知道安全点和安全区域吗?(忘了)
根对象是什么(只说了虚拟机栈上对象、静态类变量,实际还有锁持有对象等等)
用过缓存操作吗?(Redis实现过存储)
缓存数据时遇到过什么问题吗?(没反应过来,好久没人问这些了,要求面试官描述详细情景,结果是缓存雪崩和缓存穿透,就说了些八股,随机过期、布隆过滤器、限流和在数据库操作上加分布式锁)
删除缓存数据时,是先删数据库还是先删缓存(答了先删缓存,面试官纠正:先数据库,否则缓存会在二次查询时恢复数据)
说说spring ioc(说了基本特性,一些bean对象实例化和存入容器的过程)
谈谈springmvc的事务(当时记不清了,就说和mysql事务差不多,又谈了事务传播策略,编程式事务和声明式事务)
说说Tranctional注解,注解加在save方法上,方法执行失败时会发生什么(不清楚,当时扯了段AOP的实现防止冷场)
spring bean的生命周期(记不清了,就细说了下初始化流程,泛谈了存入容器等待调用和destory,提了下三级缓存和对象的提前暴露)
算法题:
环链表的逻辑判断(快慢指针法,写的时候有点急,细节没注意好)
总结:
字节二面的面试官技术八股问的比较少,反而比较关心我的个人经历和沟通能力,可能因为我之前的字节面试对表达能力评估较低,还特意问了我是否面试会紧张,影响逻辑表达
知乎一面面试官对八股问的较多,同时会描述场景追问实现思路,考验理论联系实际的能力
全部评论
(8) 回帖