面试题

java基础
1、hashmap相关,几乎必问,涉及到线程安全,哈希碰撞,源码了解的越详细越好
2、一些关键字,final static volatile synchronized 后俩需要了解底层原理
3、ArrayList和linkedList的区别,源码级理解
4、线程池,每个参数的含义,拒绝策略有哪些,实际含义是啥,实际场景分析线程池会怎么做

JVM
1、垃圾回算法,如何判断要不要回收(引用计数器,可达性分析)
2、java内存模型
3、java内存区域划分,重点是堆,老年代新生代的划分,分别使用了什么垃圾回收算法

计算机基础知识
网络相关 tcp/ip 三次握手四次挥手,tcp的拥塞控制算法,
操作系统相关 虚拟内存(2G内存处理10G文件?) 进程/线程/(协程,看你是不是go开发)

开放性问题
分布式环境中服务器数量无限多会有什么问题
用的什么rpc框架,为什么选用这种框架,有什么优点

中间件
redis:一些数据结构的底层原理,线程模型,IO多路复用
redis cluster相关,哈希槽的概念
redis分布式锁,缓存击穿、穿透、雪崩事什么,如何避免
热点key的处理,redis高可用方案
如何做并发控制
可能会根据你的业务场景提问,实际中是如何使用的

MYSQL:索引的数据结构(区分引擎,通常都是聊innodb),有哪些索引,索引使用的注意事项,优化点等。
事务相关,脏读幻读等,如何解决幻读,MVCC机制详细了解

MQ:如何保障消息的高可靠性,避免丢失,丢失如何处理

设计模式:单例要能写出来,最好的一种是枚举的方式

全部评论

相关推荐

不愿透露姓名的神秘牛友
11-21 22:29
点赞 评论 收藏
分享
评论
点赞
3
分享
牛客网
牛客企业服务