腾讯云智后台开发一面,base武汉
《面试题目》
- 问的贼简单,不知道是不是kpi面[牛泪],计费产品中心业务
- 上来就是八股盛宴,也没问项目,感觉面试官在现场找八股题,
- jvm垃圾回收机制是什么
- ==和equals的区别
- stringbuilder和stringbuffer和string的区别
- 创建线程的方式
- java类加载机制
- mysql存储引擎InnoDB和MyISAM区别
- tcp连接三次握手四次挥手,为什么要三次握手四次挥手
- redis:zset的底层
- 线程同步方法有什么
- MQ消息的可靠性怎么保证
- 手撕反转链表,打开idea共享屏幕写,
- 然后问了一下希望base在哪里,
《参考解析》
-
计算机网络:TCP(传输控制协议)是面向连接、可靠的传输协议,提供流量控制和拥塞控制;UDP(用户数据报协议)是无连接、不可靠但速度更快的协议。TCP通过三次握手建立连接(SYN→SYN+ACK→ACK),四次挥手断开(FIN→ACK→FIN→ACK)。
-
MySQL深度:MySQL InnoDB使用B+树索引,支持ACID事务。关键知识点:聚簇索引(主键索引)叶节点存完整行数据;辅助索引叶节点存主键值(需回表);MVCC通过undo log版本链+ReadView实现多版本并发控制,解决脏读/不可重复读;事务隔离级别从低到高:读未提交→读已提交→可重复读(默认)→串行化。
-
Redis核心:Redis常用数据结构:String/Hash/List/Set/ZSet。持久化:RDB(定期快照,恢复快,数据可能丢失)和AOF(追加日志,数据安全,文件大)。缓存穿透用布隆过滤器;缓存雪崩加随机过期时间+多级缓存;缓存击穿用互斥锁或逻辑过期。分布式锁用SET key value NX PX + Lua脚本保证原子释放。
-
JVM与GC:JVM内存模型:堆(对象分配,GC管理)、方法区(类信息、常量池)、虚拟机栈(栈帧/局部变量/操作数栈)、本地方法栈、程序计数器。GC算法:标记-清除(内存碎片)、标记-整理(无碎片,但移动对象)、复制(新生代)。G1按Region划分堆,预测停顿时间。