作者:孤独烟
由于近期是互联网寒冬,然而烟哥的好友还是顶着重重压力出去面试,最终斩获无数offer。
在烟哥的沟通下,终于套得其中一套题目,故在此分享!
公司:国内三巨头其中的一家!
面试时间约在1月份左右!
基本上都是在晚上,所以不影响白天上班!
一面
一面偏架构方面
1、介绍一下自己,讲讲项目经历
2、你们项目中微服务是怎么划分的,划分粒度怎么确定?
3、那在实践微服务架构中,有遇到什么问题么?
4、你们在关于微服务间数据一致性问题,是如何解决的?
5、你们为什么不用其他的MQ,最终选择了RocketMQ?
6、为什么RocketMQ没有选择ZooKeeper,而是自己实现了一个NameServer集群?
7、嗯,理解的不错,Zookeeper在选举的过程中,还能对外提供服务么?
8、对Paxos算法了解多少?
9、如果让你来设计一个春晚抢红包架构,你会怎么设计?
10、有什么想问我的?
大概聊了40分钟左右~
二面
二面有点偏底层和算法
1、扯了下项目、讲一下项目经历
2、你们用了redis,redis的底层数据结构了解多少?
3、知道动态字符串sds的优缺点么?
注:sds为redis底层数据结构之一
4、redis的单线程特性有什么优缺点?
5、用过 Redis 的哪些数据结构, 分别用在什么场景?
6、你们怎么解决缓存击穿问题的?
注:估计答了Hystrix
7、Hystrix的隔离机制有哪些?Hystrix常见配置是哪些?
8、自己做过哪些调优?JVM调优、数据库调优都行!
9、给了个场景,问你怎么调
10、一道算法题,具体题目忘了,在给出的链接中作答~
三面
1、讲讲自己基础掌握情况,以及项目经历
2、平时会用到哪些数据结构?
3、链表和数组的优缺点?
4、解决hash冲突的方法有哪些?
5、讲讲自己对HashMap的理解,以及和Weakhashmap的区别?
6、你刚才讲的是JDK1.7版本的实现,知道JDK1.8做了哪些改动么?
7、你们在微服务中用RPC通信还是REST?
8、RPC和HTTP的关系是什么?
9、知道HTTP1.0和1.1的区别么?
10、谈谈什么是HTTP的长连接和短连接?
11、TCP的三次握手和四次挥手,以及为什么要三次握手,而不是二次?
12、TCP 有哪些状态,相应状态的含义
13、让你评价一下你自己?
然后问了下面试官还有几轮,面试官说不一定!
四面
1、依然是介绍自己
2、你们数据库的高可用架构是怎么样的?
3、如何保证数据库主从一致性?
4、知道mysql的索引算法么?
5、为什么mongodb的索引用了B树,而mysql用B+树?
6、用mysql过程中,有遇到什么问题么?
7、你们生产用的是哪种事务隔离级别,为什么?
8、谈一谈你对微服务架构的理解
9、你用过哪些RPC框架,讲讲他们优缺点
10、用过docker么,对容器了解多少
11、有什么问我的?
HR面
问经历,问离职原因,问职业规划,问待遇。
唯一比较奇葩的一个,居然不问你期望薪水~~
总结
面试难度:简单
面试体验:挺好
没有什么特别刁难人的问题,总体体验不错!
大家注意,开始的第一个问题一定是讲项目,如果很多问题都一知半解,就别讲了。
那没有一个拿手的技术?
好好沉淀,有拿手的技术再出山面试~
免费Java资料领取,涵盖了Java、Redis、MongoDB、MySQL、Zookeeper、Spring Cloud、Dubbo/Kafka、Hadoop、Hbase、Flink等高并发分布式、大数据、机器学习等技术。