1.介绍最拿手的项目,背景等等
2.项目是你自己完整实现的吗?
3.stringbuilder和stringbuffer的区别?线程安全性?如何保证线程安全?
(非安全,调用append方法。安全,底层用了锁)
4.synchronized锁是怎么实现的?加在方法上吗?
5.string是线程安全的吗?
(线程安全,定义就不可改变)
6.final关键字是修饰什么的?修饰类的时候可以被继承吗?修饰方法的时候呢?(变量,方法,类)
(修饰方法可以被继承不能被重写,修饰类不可被继承
)
7.java序列化和反序列化讲一下?底层是怎么实现的?
(jableio.serializable,objectinputsstream
serialversionuid了解吗?假如我序列化后修改了内容,反序列化还能成功吗?
(可以的,这个是控制版本的)
8.transient关键字了解吗?
(被这个关键字修饰的成员变量不会被序列化)
9.异常和error讲一下?包括?throws关键字?(不想内部处理异常就抛出去) throw关键字呢?(主动抛出异常,发现异常,手动触发异常处理机制)
10.redission实现了怎样的分布式锁?底层?
(加锁原理,可重复,删除锁)
(setnx以及lua脚本)
锁的续期?看门狗机制?
11.redis数据结构?
set和sortedset区别讲一下?(多了个score用来排序)
12.redis树怎么实现的?
(这个忘光了,没答出来)(跳跃表?字典?)不懂,求牛友告知
13.redis淘汰策略有哪些?你项目用的是哪个?场景是?具体在哪个文件设置?
14.mysql数据量有多少?你项目里面的?或者实习遇到的?
15.mysql常用的优化策略?你讲一个优化的案例?你是怎么知道mysql执行时间的?(说了网上查的命令行,好像是mysql日志)
16.你还用过哪些数据库吗?
17.索引的数据结构?B树和B+树的区别?
还有最左索引匹配?
18.MVCC机制怎么实现的?实现了什么事务隔离级别?(rc,rr)(rr是多次读数据都一样,rc是读到最新的)
19.幻读了解吗?mvcc是怎么解决的?
(判断完范围后,再通过版本号判断是否读取)
还有其他吗?(间隙锁gap lock)
20.实习做的什么?
反问:业务,自研ai
更新:等老板决定,会赢吗
#牛客解忧铺# #牛客创作赏金赛#