阿里两个部门共七轮面试面经


所有面试都是电话面试,所以都有电话录音 以下是按照电话录音整理的
第一次投的是polarDB。
一面:
19点开始,电话面试 一共面了一个小时十分钟左右。
自我介绍。
说一下C++的多态是怎样实现的
如果继承了两个父类,那子类的虚函数表长什么样子?谁先谁后呢?
说一下拷贝构造函数所有的调用场景有哪些?想到的都说一下
指针和引用有什么区别
通常什么时候该用指针,什么时候用引用呢?
说一下volatile关键字的作用,什么场景一定要用volatile关键字呢?
说一下C++是怎么实现哈希表的(其实问的是STL里面的map和unordered_map)
解决哈希冲突的方法有哪些
unordered_map支持并发读取吗?如果让你实现一个支持并发的unordered_map的话要怎么实现
说一下你对归并排序的理解
机器内存比较小,数据量比较大的情况下 要怎么排序
说了一下我的研究课题
问了几个跟研究课题相关的问题

操作系统里面的内存管理的模型是什么样的 一个进程里面的内存管理是怎样的
说一下PCB的概念,干吗用的?里面有什么?
操作系统从一个进程切换到另一个进程 和从一个线程切换到另外一个线程的过程有什么不一样吗?
为什么线程切换的开销比较小?那为什么进程切换开销比较大?
进程间常见的通讯方式有哪些

IP协议是用来干啥的?
为什么TCP是一个面向连接的可靠的传输协议?
TCP为了保证可靠传输有哪些机制呢?
为什么TCP的连接要三次握手啊?
说一下拥塞控制的几个算法

说一下什么是索引
简单说一下MySQL的B+树是一个什么样的索引
B+树跟B树有什么性能上的差异?
数据库的并发安全是怎么做到的呢?
除了B+树,有没有学过其他树的变种,如LSM树?(记得好像是LSM树)
说一下事务的属性
事务的原子性是怎么保证的
事务的提交过程是怎么提交的呢?
事务的隔离性是怎么做到的呢?
简单介绍一下你对MVCC的理解
数据库的隔离级别
什么是幻读
R级别会不会有幻读
SI级别了解吗
除了MySQL你平常还接触过哪些数据库?
MySQL的查询引擎你有没有了解(说了innodb,他说这是存储引擎,不是查询引擎)
mysql的查询过程是什么样的
MySQL的join是怎么实现的,底层实现
如果MySQL里面有一条查询跑的比较慢,你要怎么找呢?
如果它已经走了索引但是还是很慢怎么办呢
说说你对分库分表的理解,之前有做过这相关的吗,分库分表的原理有没有了解过呢?

spark的流处理原理是怎样的呢
spark是怎么划分stage的呢
如果有些任务失败了,它是怎么做容错的呢?
spark的内存管理这块有没有了解过

做编程题,合并K个排序链表 加微信,在文本文件上写代码,不用跑,写完微信发给他 ( 当时秒了, 面完之后发现写错了  完了 )
最后反问,我写完编程有点懵了,想了半天想不出来问什么,尴尬
互相祝周末愉快,结束.
求个二面

更新: 整整一周后迎来了二面,二面全程不问基础知识,都是项目深挖和设计题。下面记录几个值得参考设计题。

二面:
如果让你实现一个mutex你要怎么设计呢?
多线程下载比单线程下载快是为什么呢?
笔试的编程题你还记得吗,有什么思路吗?(我几乎0ac hhhhhhh)
中间冷不丁问了一下我怎么看待加班。。。
要你存整个中国的地图数据你打算怎么存?设计什么样的数据结构?

差不多也是一个小时,求个三面吧



三面:
三面同样是二面后一周,也是个电话面,不过要手撕代码。
三面应该是考察技术深度的,大部分都在问操作系统底层
项目中使用了什么C++的特性,或者什么python的特性
对多线程有多少了解 进程和线程的区别
多线程要操作同一块数据,有什么需要注意的地方 那多进程要操作同一块数据要怎么处理
多进程要怎么进行同步
了解操作系统的内存管理吗 一个OS有16个G内存,它是怎么管理的 在内存管理上有哪些策略
清楚系统调用这个概念吗 内存相关的系统调用有哪些 分配或者释放内存的时候涉及到哪些系统调用
对常见的内存泄漏的解决方法有什么了解
其他编程语言是怎么进行内存管理的

(面试官解释了为什么他们部门如此重视内存管理和操作系统底层原理,因为他们部门是做数据库的,需要处理高并发等情况)

讲一讲你了解的数据库不同的隔离级别
(他说其实对数据库知识要求并不高,可以进来再学)

然后开始在线编程,面试官发了一个阿里伯乐在线测评链接,在这个链接上编程双方都可以看到。
编程题是实现一个FIFO的queue。实现一个push和pop方法
实现完之后面试官进一步要求实现支持多线程的queue。
实现完多线程之后面试官要求当queue满了之后要阻塞线程。
实现完阻塞之后面试官要求queue为空的时候也阻塞。

笔试之后面试官介绍了他们部门在做的东西,讨论了下数据库现在的发展情况,技术相对来说比较成熟,部门里有很多岁数比较大经验丰富的大牛
面试结束,大概一个小时。

太难了  还是厚着脸皮求下个面试


交叉面:
交叉面一共44分钟。交叉面听说是个p9大佬,约我周六早上九点面试。我一开始还寻思为什么这么早,后来面试官告诉我他人在北美。。。好吧 现在是他晚上九点应该
自我介绍
讲一下最近在做的或者印象最深刻的一个项目。讨论了大概十五分钟,大佬的问题真的一针见血。
然后又做了一个很有意思的小讨论。怎么实现malloc和free方法。先做了个起码能够保证正确的实现(说思路不用写代码),然后不断优化,最后我实在优化不下去,时间又到了,面试官就让我回去再想想。
反问环节问了下面试官对程序员职业生涯只有35岁有什么看法。面试官笑了。然后说一方面人要不断提升自己,在任何年龄都不应该是一个终点。另一方面,在polarDB这样的部门接触的是底层技术,做基础技术的程序员与做业务的程序员不同,技术才是核心竞争力,在阿里云也有很多年龄很大的程序员,35岁对于他们来说不是终点,而是巅峰时期。
行吧 不管过不过这次面试,我都有收获很多。但还是求个下一面


更新:
polarDB🈚了,等了三周后被另一个部门打电话来捞,问了下面试官说我之前的几次面评都是A。 本来觉得这个部门有刷kpi的嫌疑就拒了,但是部门的人前后打了三次电话来争取,感觉再拒就很不给面子了,最后决定再面一次。
一面是个代码面,面试官发了个伯乐链接,出了三道题,给半个小时写。
(1)实现将一个非负整数逆序后,存放到一个数组中,过程不能使用stl栈容器。
(如:123456存放数组a后,a[0]为6 a[1]为5 ... a[5]为1)
(2)求一棵二叉树第H层节点的个数
(3)既不用加减乘除,也不用库函数,实现求两个数的和的方法。

题目难度适中,写了十五分钟就交卷了,剩下的时间跟面试官交流部门的情况和我关心的问题。面试官说让我保持手机畅通。

这个再挂我可就不面了啊





更新:
这次的面试异常迅速,第二天二面,第三天三面。
二面问了几个基础题:
海量数据求TOP-K 

高并发服务器客户端主动关闭连接和服务端主动关闭连接的区别

描述最短路径算法(迪杰斯特拉算法) 

map容器如果key是类对象,对类有什么要求? 追问为什么只重载<操作就OK?

逻辑题:2根粗细不均匀的蚊香,每根可以精确烧1小时,如何确定一段精确的15分钟时间。

三面聊研究生的研究领域和人生

希望能到hr面拿offer吧 七面下来也太顶了



更新: 三面后整整一周hr面
这回是一面的面试官一直帮我跟进流程和催促人事,感觉效率着实高了很多

hr迟到了十分钟然而没有道歉。这次hr面是用阿里郎视频会议进行的,也是本次秋招阿里第一回视频面试。阿里的hr面真是难顶。一共四十多分钟,问的都好有水平,一不小心就给你挖坑
没有自我介绍,上来先问你拿了哪些offer。
问了给自己大学以来的各个时间分个区间,每个区间自己都在做什么,收获了什么,哪个区间成长最大。
导师对你最放心什么,最不放心什么。
选择一个公司最看中哪几个要素,排个序。
挨个要素问,觉得阿里在这方面跟xx公司比怎么样。

感觉hr也是见过世面的,我一说客套话,她就直接看穿🤣 用一声大大的“害”表示你还too young

更新: 面试官告诉我hr面通过了,希望这回能顺顺利利#阿里巴巴##面经##校招##C++工程师#
全部评论
。。。。看了你的面经。。我觉得我估计找不到工作了。。
5 回复
分享
发布于 2020-07-24 22:11
我觉得按照你的面经我的秋招基本上结束了😪
1 回复
分享
发布于 2020-08-19 21:31
英特尔
校招火热招聘中
官网直投
楼主 问一下是从哪里听说的面试官是谁的啊?
1 回复
分享
发布于 2020-09-06 16:35
楼主你好,请问你是实习、校招还是社招?
点赞 回复
分享
发布于 2020-07-24 22:07
我今晚刚刚面完😂
点赞 回复
分享
发布于 2020-07-25 00:10
都要回答上来吗,还是 ,, 我感觉好多不会
点赞 回复
分享
发布于 2020-07-25 10:21
同在小谷围的帮顶,这面试也太难了吧😂,tql
点赞 回复
分享
发布于 2020-07-25 10:25
这也太深了😂
点赞 回复
分享
发布于 2020-07-27 08:02
tql
点赞 回复
分享
发布于 2020-08-11 19:44
收到下一面通知了吗
点赞 回复
分享
发布于 2020-08-11 20:26
太强了!!
点赞 回复
分享
发布于 2020-08-19 21:28
hr面完了吗
点赞 回复
分享
发布于 2020-08-26 16:27
是数据库部门吗
点赞 回复
分享
发布于 2020-08-26 17:46
楼主搜索引擎是啥???
点赞 回复
分享
发布于 2020-08-26 20:59
下周一交叉面的我有点慌,我以为到交叉面了总不会再刷kpi了吧😂
点赞 回复
分享
发布于 2020-08-27 20:09
第一个部门为啥挂了呀?是因为笔试0ac吗?
点赞 回复
分享
发布于 2020-09-03 01:00
你的HR面面掉了吗
点赞 回复
分享
发布于 2020-09-07 11:23
最后为啥去了teg啊
点赞 回复
分享
发布于 2021-01-25 23:22
定级多少
点赞 回复
分享
发布于 2021-01-25 23:43
这么猛的...这是秋招时候是嘛
点赞 回复
分享
发布于 2021-04-01 15:46

相关推荐

头像
03-14 14:15
已编辑
河海大学 计算机类
----无项目,八股拷打,面试官人很好&nbsp;(括号里是我的答案)1.你最感兴趣的算法结构是什么(hashmap)2.解决hash冲突的几种方式(数据后置,链表,红黑树)3.怎么学算法的,做过多少hard,你认为hard难在什么地方(难在题目掩盖了应使用的结构,面试官说hard难在做的少,太对了)4.java虚拟机空间分布(最正常的八股吟唱)5.虚拟机栈和可达性分析有什么关系,它在什么时候被分析到(这个问题对认为可达性分析只分析堆中对象的我产生了过于大的冲击,瞬间就蒙了)6.那我换个更简单的问法,可达性分析的root有很多,你知道哪些(背过,但忘了,只能被拷打)7.java对象在内存中是什么样子的(对象头,类指针,对象具体内容,最后的空间标记与占位符,有些不对的地方给我解答了)8.计算机底层说一个你感兴趣的(计算机网络)9.七层模型,从下到上,每一层有什么功能(因为只记了四层模型太慌了而胡言乱语,脑子抽了把dns放网络层了)10.dns使用的是什么传输层协议?(udp)11.dns为什么用udp,tcp怎么了(回答的udp便捷快速的特征,面试官说大体上是这样,但他的dns用的是tcp............)12.tcp为什么可靠(一开始有点迷糊了,说了安全性,被打断,后面说了一定能保证传输到,面试官补充了还有依次传输)13.堆头阻塞怎么解决(这个问题是我自己作出来的,说了重传,分段,没让面试官满意)----反问1.部门是主要做api的么2.我有什么提高的方向(加入光荣的进化)----面试官人很好,问的问题我答不出来都会给解答,像是在聊天一样,很多问题也是让我给自己的解答不要去死背,底层原理还是差不少,沉淀去了———3.8更新一面过了约了二面,许愿oc———更新二面项目拷打,且疑似kpi,凉,把几个没答出来的问题放下面了1.nginx和tomacat的区别(如果答出来,面试官应该会狠打tomacat相关,但我没答出来也就放过去了)2.linux传输20多g的大文件(答的分片,问我怎么分,不会)3.多线程什么时候用(这题我最开始理解的是项目层面,后面反问的时候才知道想让我答cpu层面,本来以为答的很好,结果g的不成样子)4.springboot启动流程(脑子不清醒,答的ioc流程)
点赞 评论 收藏
转发
头像
1.介绍公司和部门2.自我介绍3.用了布隆过滤器,谈一下布隆过滤器4.布隆过滤器用了hash,有那些hash冲突解决方案?hashmap链表红黑树5.hashmap链表多少长度转红黑树,为什么定这个值?答了泊松定理泊松分布,面试官说太学院派了,实际开发不这样😂6.算法题&nbsp;最小栈&nbsp;说思路7.看你使用了lambook,原理不知道,答了反射,错8.什么是反向代理9.什么是正向代理不知道10.threadlocal怎么实现线程私有11.threadloacl中hash冲突怎么解决,看过源码吗答不出,没看过源码12.单元测试做过吗,用了哪些宝用过springboottest,不知道是不是单元测试13.有研究过springboottest原理吗没有14.我提问一面感觉答得不好,面试官很耐心,不会的会解释清楚。第二天上午约二面二面面试官说技术面过了,那问点项目1.项目都是自己做的吗2.开发的完整流程走过没有(打包上线之类的)3.单元测试写过吗4.开发中用了哪些数据结构,解决了哪些问题?5.做了哪些优化索引,redis…6.性能多大提升,测过吗7.redis怎么保证的一致性8.看你用了字典树,解释一下字典树呢,是自己实现的吗9.你是先知道应该这么优化,设计初就知道,还是说先自己做,发现性能很差再优化?10.为什么要做联合索引,相比单列有什么优势呢?11.你的环境,开发框架什么的都是自己搭建的吗12.springboot的starter底层实现了解过吗13.注解配置用了哪些14.我问问题参与哪些业务会加班吗二面完半小时oc
点赞 评论 收藏
转发
11 150 评论
分享
牛客网
牛客企业服务