第一轮(40分钟)
1、主要考察操作系统,网络基础
2、tcp的三次握手详细过程
3、time_wait状态会在什么情况下出现,大量出现的时候应该怎么发现和处理。
4、怎么统计系统运行指标、cpu、内存等。
5、epoll是什么,怎么使用的
6、详细介绍hbase的数据存储过程
7、mysql中explain命令有哪些字段
8、给一个1000w数据找出最大的100条如何实现
第二轮交叉面试
1、重点考察项目相关能力,更多的是交流
2、如何实现一个线程安全的hashmap
3、现在的工作强度如何
4、详细地描述堆如何插入数据,图中最短路径如何求?
5、项目中如何处理大量数据的,存储结构是怎样的?
6、描述一下最近的项目工作,自己负责的内容,会问得很详细的工作内容
7、对前端熟悉吗,平时还用哪些语言?
后端服务器-2
1、es集群脑裂问题,以及该问题解决
2、es中terms搜索的排序评分原理,多terms搜索评分又是怎么做的
3、正则表达式零宽断言是什么
4、redis的数据持久化方式有哪些,各自优缺点是什么
5、mysql有哪些存储引擎,各自的特点是什么,mysql有哪几种隔离等级。
6、mysql索引原理的相关问题,以及mysql索引覆盖,mysql联合索引左前缀匹配相关一些问题
7、linux怎么查看系统负载,相关命令茶轩结构中各部分代表什么
8、linux上有个web服务,发现系统cpu百分比持续很高,分析一下原因及如何解决。
后台服务器-3(终面)
1、java泛型的实现原理是什么?为什么要设计泛型?(根据你的回答可能会继续提问,编译期,运行期间变量类型是否可知等等)
2、算法题(需要把代码给他看):一个有序递增且包含重复数据的数组,利用二分查找找到给定元素,如果多个的话,返回下标最大的那个
3、了解快排吗?快速排序的时间复杂度是(O(n)),为什么是O(n),如何进行时间复杂度的计算?
4、编译了解吗?
5、线程和进程的区别?
6、了解生产者、消费模型(读者、写者模型)吗?多个读者多个写者会出现饿死吗?如果读者多于写者呢?
7、Tcp/IP协议栈里,IP协议是不可靠传,TCP是这么保证可靠性传输的呢?
8、Object类有哪些方法?
9、hashCode有什么作用,用在哪里?
10、HashMap是怎么实现的,如果把Object的equal方法统一返回false,但是hashCode返回一样的,会出现什么情况,反回来会出现什么情况?
11、数据库索引是干什么用的?实现原理是什么?b数原理和B+树原理?
https://blog.csdn.net/u012422440/article/details/106414290
https://blog.csdn.net/zhuanzhe117/article/details/78039692
后台服务器-4(终面)
1.hashCode有什么作用,用在哪里,map是不是都会用hashCode,哪些操作会用hashCode?
https://blog.csdn.net/u010365819/article/details/80295011
2、建立最大堆,写代码
3、rabbitmq原理
4、网络分层,每一层是做什么的,链路层如何决定要发送给谁,路由器工作在哪一层?
5、地图上搜索两点之间的路径如何实现的
6、抢红包系统如何实现,会考虑哪些点?
7、finalize方法在什么时候调用,GC的哪个阶段会调用,可能调用多少次?
后台服务器5
项目相关
ES底层索引的数据结构是啥?
ES有多少Node,怎么分片,怎么索引,怎么优化?
Es评分怎么做的?
数据量有多大?
用户query来了之后怎么纠错,怎么补全的?
项目中用过什么消息队列?
工作中有没有做过网站?
工作中有没有写过Html、css这类?
还有用别的语言开发的吗?
基础题
堆的插入过程?
优先队列,底层是什么数据结构?
mysql:a b c 建立了联合索引,有个sql语句,select xx from xx where b <xxx ;这种能用上索引吗?
mysql 的表有2000万数据,怎么加载到内存?2000万数据取最后100条怎么取?
算法
图上两点之间,求最短路劲
100万个数,找出最大的前100个数
100万个数,求中位数
二叉树,输出第k层所有的元素
写一个求x的y次方的函数
判断一个数是基数还是偶数
一千万个用户,怎么通过名字做联想,比如输入a,联想出abc这个人
1G内存,一个2G的大文件(User-cnt),找出topk的User
一个数组,数据都出现偶数次,找出唯一一个只出现1次的值
业余
自己有没有搭建一些blog的,用什么做的?
1、epoll怎么使用?
2、memcached的网络框架是什么样的?
3、长链接和短连接有什么区别
https://www.cnblogs.com/gotodsp/p/6366163.html
4、mysql的事务隔离级别有哪几种?
5、mysql的底层数据结构是什么?
后台服务器10
CP怎么保持数据库完整性?
TCP怎么time-wait close-wait怎么发送的,怎么处理的?
map数据存储、查询时,Map内存都有哪些操作过程?
线上使用的哪种垃圾回收策略?聊一下垃圾回收机制的原理?
spring aop,Spring 事务传播?
后台服务器11
http缓存
mongodb和mysql怎么选择
如何解决缓存一致性问题
说一下你觉得做得比较有挑战性的项目
spring DI
敏捷开发有了解过吗?那些框架?
https为什么能保证通信安全,过程,原理
Thread,sleep会让cpu吗?线程状态转换?
单元测试,mock
需求到上线,整体过程?
spring ioc
spring clound提供了哪些组件?
zuul如何实现高可用性及如何解决性能瓶颈?
mysql mongodb redis三者选型适用场景
mysql的最左匹配原则
redis如何实现高可用,答的主从集群,然后继续问主从集群如何实现故障转移
后端服务器
1、objects有哪些方法?equals判断的什么,String new出来相同的字符为什么不相等?
2、集合框架?arraylist和linkedlist,hashMap,resize,线程安全?concurrentHashMap.
3、Sychrnoized底层,一个类两个方法sychronized是否执行
4、写出栈溢出和堆溢出的代码
5、写出mysql死锁场景
7缓存数据一致性
8、kafka什么情况下会出现重复消费
9、redis分布式锁怎么设置?删除的时候回删除到其他线程?
https://www.cnblogs.com/gxyandwmm/p/9588383.html
10、es集群架构,读写过程,删除?高并发下,如何保持数据一致性,master选举过程?
https://blog.csdn.net/zhou_shaowei/article/details/88666652
https://www.sohu.com/a/288181416_411876
11、redis项目应用,redis单线程还是多线程,redis6,redis集群结构,通信协议
12、线程池机制
13、三次握手,四次挥手,time_wait
14、Socket过程,Spring底层Tcp通信封装
15覆盖索引