面试问题记录
本文最后更新于:2022年7月25日 晚上
字节群友面经1
sync和reentrantlock的区别
sync底层是锁升级的过程,无锁,偏向锁,自旋锁,重量级
reetrantlock 底层 是AQS这个类,AQS这个类里面一些操作都是cas操作
字节群友面经2
锁升级的整个过程。synchronize的优化,自适应,自旋锁,锁粗化,锁消除啥的。。
项目 hystrix和分布式事务
问了jmm
问了tcp怎么保证可靠。
清华的os b站的
6.s081,做了lab
极客时间的趣谈linux操作系统
极客时间的os45讲 和有个讲内存的课
答案
字节提前批面经
作者:想做秋天的风
链接:https://www.nowcoder.com/discuss/985106?type=2&channel=-1&source_id=discuss_terminal_discuss_hot_nctrack&page=1
来源:牛客网
计网
http三次握手,状态码,交互细节。
为什么要三次握手
四次挥手,状态码,传输细节,为什么握手要三次,挥手要四次
数据链路层怎么传输数据的,展开说说
Arp协议中网关怎么去转换ip地址到对应MAC地址的
如果数据包不在当前子网内,怎么传输到目标子网网关的
数据库
MySQL的行锁怎么实现的
MySQL的事务,展开说说
MySQL索引了解吗
索引是怎么实现的
索引有哪些,介绍下
联合索引中间可以有null值吗,为什么,测试过吗?
B+树的特点,原理
B+树索引和hash索引的区别,优劣
什么是hash索引?区别?优缺点?
操作系统
了解死锁吗
MySQL怎么解决死锁的
平时遇到过死锁吗,怎么解决的
JVM 垃圾回收
JVM的垃圾清除说一下
垃圾清除算法有哪些,介绍下
知道的垃圾收集器有些什么
垃圾的判断方法,引用计数法为什么用的没有GCRoot的多,缺点是什么,为什么
平时测试过JVM的垃圾清除吗
Redis 持久化
Redis的了解,介绍下
Redis的持久化机制
redis怎么实现持久化的
2种,1是快照,2是AOF日志。
- 快照:原理是父进程调用fork函数,产生子进程,父子进程共享代码段和数据段;父进程负责处理客户端的请求,子进程进行数据持久化,遍历读取内存数据结构,然后序列化写到磁盘中。如果父进程接受到客户端的请求,需要修改内存数据结构,这时会用操作系统的写时复制机制进行数据段页面的分离。父进程会从共享的数据段中复制一份需要修改的页面分离出来,然后对复制的页面进行修改,不会对共享的页面进行修改。也就是说,子进程是感知不到页面的修改的,子进程可以安心的去进行数据持久化的快照操作。其实从子进程产生的时候起,内存数据结构就不会在变化了,这也是为什么叫做快照。
- AOF原理:指令在执行前,先进行校验,然后存储到AOF日志中,再执行指令。如果宕机,只需要吧AOF日志进行指令重放就可以恢复到宕机前的状态。缺点:AOF日志是追加写入,会变的越来越长,重放整个AOF日志会很慢,所以需要对AOF日志进行瘦身。
- 混合持久化:先加载快照的内容,然后重放增量AOF日志。该增量AOF日志中保存了从持久化开始到持久化结束的这段时间发生的增量AOF日志,通常这部分AOF日志很小,重放时间较短。
算法题
- 算法题:删除链表的倒数第k个节点
总结:完全没有问项目问题,计算机网络部分问的特别细!死问我数据链路层的传输原理,答得磕磕绊绊,有好些题都没有答得很好,算法题倒是挺简单的,最后反问,面试官说我答得挺好的,但有些地方细节上还需要再学习优化下。
希望可以收到二面的通知!!!
本博客所有文章除特别声明外,均采用 CC BY-SA 4.0 协议 ,转载请注明出处!