之前许愿美团offer和阿里hr面、offer灵验了,来回馈一份面经。
本人机械本硕,自学Java后端,从3月11日开始面试至今,总共已经经历16轮面试,挂了一轮(蚂蚁二面)。
面试完没有及时记录,凭记忆写一下被问过的问题,能想到哪些写哪些吧,所以并不完整!
I.蚂蚁(二面挂)
一面 约1小时
1.介绍项目,问几个细节
2.基于项目开始问基础:进程间通信方式有哪几种、外部排序
3.简历上写了用过C++,所以问了下C++的编译过程
4.算法题:实现一个限流器(LeetCode有个类似的题)
二面 约1小时20分钟(挂)
1.介绍实习,然后问我实习做的一个需求的目的是什么,有没有更好的方式达到这个目的(需求是客户提的,我也没深入思考过,支支吾吾半天答不出来)
2.介绍项目
3.项目中用到了微服务,他就一个微服务一个微服务地问:这个服务做成集群会有什么问题?怎么解决?(对分布式完全不懂,面到这里感觉凉了一半了)
4.项目中自己设计了简单的通信协议,于是问我怎么让一个通信协议具有扩展性(我说加一个字段标识首部长度,然后在首部末尾加一个变长部分,但感觉他不太满意)
5.问了一个比较简单的SQL(到这里感觉就是走走过场了)
6.有一个很长的文件,里面存了几十亿条消费记录,找出消费总额最高的10个人
7.反问,问有啥分布式相关资料推荐,面试官推荐了《数据密集型应用系统设计》。
II.美团(已OL)
一面 约50分钟
(面试官人很好,如果答不上来就会安慰我233)
1.介绍项目
2.Redis有哪几种数据结构,底层分别是什么用什么数据结构实现的
3.Redis的线程模型
4.MyBatis一级缓存二级缓存(不熟)
5.深度分页问题(没听过。。。)
6.普通索引和唯一索引的性能差异(瞎猜了一个,猜错了)
7.介绍一下Spring的事务
7.用户态和内核态,举几个例子
8.MySQL执行一个select的过程,尽量详细
9.ReentrantLock和synchronized的区别
10.ReentrantLock和CountDownLatch底层的关联
11.算法题:忘了...印象中好像跟二叉树有关 // TODO: 哪天想起来了再来更新上
二面 约20分钟
1.介绍项目
2.又问分布式......(吸取蚂蚁二面的教训,我直接说我对分布式不熟,于是就没问了)
3.估算一下上海一天的网络流量
4.有两个文件,各存了10亿个ip地址,如何找出A、B中均包含的ip地址
三面 约30分钟
1.介绍项目
2.介绍实习经历
3.什么时候可以过来
4.然后基本上都是反问
III.字节(部门主要用go,所以Java问的较少)(二面已过)
一面 约1小时
1.算法题:给定一个数组a,输出一个数组b,b[i]是a[i]在a中往右的第一个大于a[i]的数,如果a[i]右侧不存在大于a[i]的数,则b[i] = -1。
2.问操作系统:进程调度算法,内存管理算法,大概写一下LRU的实现
3.网络:OSI模型、三次握手四次挥手、路由转发时会做什么事情
二面 约1小时
1.算法题:计算根号2,精确到小数点后10位
2.其他忘了
IV.滴滴(部门主要用go,所以Java问的较少)(已OC,但因时间不合适没接)
一二面连着面的,效率很高,体验不错。
一面
1.算法题:计算两个数组的交集
2.其他忘了,就记得写了个SQL
二面
1.算法题:写一个中序遍历(想写迭代版的,脑子卡壳改了半天写不出来,面试官说你写个递归的也行)
2.GC算法及比较
3.其他忘了,就记得问了protobuf的原理(项目用到了)
V.阿里(已OL)
比较奇怪,全程没问很难的技术问题,不知道是看得到之前面蚂蚁时的成绩,还是面试官本身比较慈祥哈哈哈
一面 约30分钟
1.主要是聊项目和实习
2.ArrayList、LinkedList、Vector的区别
(没做题......)
二面 约30分钟
1.聊论文,问得很细,让解释一下创新点
2.聊实习和项目
HR面 约30分钟
1.聊实习、论文、项目
2.给阿里招聘流程提提建议
VI.华为(已过一面)
一面 约50分钟
1.介绍项目
2.讲一下自己掌握的操作系统知识,随便讲,会啥说啥
3.使用shell中运行一个可执行文件的底层流程,越详细越好
4.protobuf的原理
5.Java NIO的实现
6.算法题:写一个计算器,运算符包括加减乘除,不包括括号,要求对输入合法性进行校验
VII.腾讯(部门主要用C++,所以Java问的较少)(三面已过)
一面
1.算法题:LeetCode 滑动窗口的最大值
2.进程调度机制与算法
3.内存管理机制与算法
4.伙伴算法(没听说过。。。)
二面
1.算法题:写一个快排
2.聊项目
3.Redis的数据结构和实现
4.I/O多路复用模型
5.反问了比较多
三面
1.算法题:判断链表是否是回文链表
2.设计题:设计一个用于传输文件的网络协议,文件可以很大可以很小
3.Java的volatile和C++的volatile
4.非阻塞I/O和I/O多路复用
5.看过什么书(问了两遍,真的是很关心了)
6.玩过什么游戏?有想过是怎么实现的吗?
最后许愿一下腾讯HR面和offer,感谢牛客
全部评论
(3)