阿里巴巴面经合集
一、**Java **研发工程师
一面(1h+)
对简历进行 DFS,每个地方都问到不会为止。手撕了一道剑指原题。最后对实习项目
没有上线表示有点不足。
二面(50mins)
基本全是 JAVA 基础,还有一道智力题:三点十五分,时针和分针的夹角。
三面(20mins)
被鸽了一次,隔了两天。
实习项目(第一次碰到面试官比我还懂我们项目在做啥的,被问懵了,最后被指导了
十几分钟,有醍醐灌顶的感觉)。JAVA 基础,计算机网络基础。
四面,交叉面(20mins)
被鸽了两次,第三次才面上试,时隔两周。。。
实习项目,计算机网络基础(前面学的很多都不记得细节了,答得不太好,没想到也
过了)
HR 面(30mins)
不便透漏
二、算法工程师
一面:(一小时)
自我介绍,问项目,项目问了很多
如果向领导汇报,通俗易懂介绍反向传播
还有一些比较基础的问题忘记了。。。
你有什么一直坚持的习惯么?
觉得女生做程序员是否适合?
会什么语言?
在线写了一道非常简单的数组相关代码题。。很简单。。。
有什么想问的问题
总结——应该是简历面。可能因为没笔试或者性格测评一类的,所以问了一些人生相
关问题,还写了一下代码看看大致的代码基础。二面:(一小时)
自我介绍,项目相关
问了一些数据结构相关的知识,排序算法,堆一类
场景题,海量数据前 k 大
CNN 网络介绍,卷积核
GBDT 原理,是回归树还是分类树
GBDT 跟 xgboost 对比
xgboost 怎么并行化
激活函数相关,激活函数应该有什么性质
…(忘了,琐碎的知识点有点多)
会 ETL 工具么
会用什么语言
布隆过滤器知道吗?用在什么场景下?推导会么(加分项)
有什么问题?
总结——这一面可能是对基础知识的一个排查,考察知识面广度深度,问的不是表面
的问题,感觉需要对模型原理本质了解清楚。
三面:(一小时)
自我介绍,项目,问项目又问了很多
两个思考题?
怎么改善用户搜索后显示的内容的一个排序质量?说说有什么特征可以构建,用什么
模型?
单调递增数组,尽可能想一些方法将它们压缩。
总结——考查的是更深一点的吧。。看你有没有解决实际问题的一些能力,业务水平
怎么样。。。但是我是实在没做过多少项目,所以这一面回答的很差、、、
交叉面:(半个小时)
自我介绍,简历,有个项目问的很细,细化到那一步的代码是怎么实现的
最后简单问了几个问题,TFIDF 相关的啥的
Hr 面:(四十多分钟)
聊人生,没有按顺序,只想到了这些问题
对前面哪个面试官印象最好
有了解自己过来后会做什么方面的吗?
有没有思考过自己适合做什么,研究还是落地的工程?
想留在哪里?杭州考虑吗?家人什么态度
对你成长影响最大的人,除了父母,为什么周围有没有什么学术方面特别敬佩的人?你觉得是什么本质的原因支撑他这份热爱
(什么狗。。。)
自己导师什么风格的?最忙的时候是你什么样的状态?
三、前端工程师
一面
了解 es6 的那些特性
js 闭包是什么,什么是内存泄漏,如何解决内存泄漏问题
js 垃圾回收机制
js 基本数据类型(包括 es6 新增的 Symbol)
原生 ajax 原理,ajax 和 fetch 的区别,fetch 支持 http 的哪些方法
option 方法可以发送那些内容
CORS 原理
网络安全了解哪些?如何预防 sql 注入,XSS,CSRF
w3c 标准盒子模型和 IE 模型有什么区别
CSS 的 display 有哪些取值
iso 七层模型,每一层模型的经典协议
http1.0 和 http1.1 和 http2.0 的区别
es6 新增的数组方法
数组的 reduce 方法
js 中找到一个数组最大值的方法,分析复杂度
MVC 和 MVVM 的区别,MVVM 的优点
flex 布局用在哪些场景下
如何适配不同的屏幕
当时投了阿里一个多月了突然被捞了起来,很兴奋,答得也还算不错,面试官说后续
会有更深入的二面,然而一周后官网状态显示已结束…
四、数据分析师
一面
1、介绍一下 Hive;一道 Hive 题(A,B 两表,查询 B 表中没有,A 表中有的;关键字
段:学号,课程号)
2、反转字符串有哪几种方法
3、数据仓库的 ETL 怎么做
4、Python 用什么包5、介绍一下词嵌入,one-hot 和 word2vec 的区别,word2vec 如何实现的
6、什么是维度建模
7、bagging 和 boosting 的区别
8、Arima 介绍,Arima 和 LSTM
9、如果数据量极大,怎么去定 Arima 的参数
10、平时怎么学习的
11、平时会读 paper 么/英文的 paper
12、接触 Python,Java,Hadoop 多久
13、运筹学了解么,动态规划用过么
14、运筹优化问题,有一堆大小,密度不一的石头,放入 4 个箱子,要求每个箱子的
石头的数量,质量,体积差不多,怎么做
15、会 Linux 么,会用 Class 么
16、Python 的编程规范知道多少
二面
1、自我介绍
2、编程中最喜欢哪门课,说明原因
3、喜欢运筹学么
4、国外交流学习中获得了什么
5、Python 用过哪些包
6、有没有读博的打算
7、发过什么论文
8、一道有关集群的运筹优化问题,留了 2 小时做
三面
1、自我介绍
2、介绍一下项目,你在团队中的作用,有什么结果么?
3、爬虫用的什么包
4、对于 Hive,Impala 的了解
5、介绍一下 OLAP;OLAP 的工具
6、对于算法了解么;介绍一下聚类分析有哪几种,之间的区别是什么
HR 面
1、自我介绍(从本科到研究生的经历)
2、数据分析的项目
3、职业规划
4、可实习时间5、对于工作内容的了解
五、**Java **工程师
一面:
1.自我介绍
2.项目(怼哭的那种,很厉害,很多我没想到的地方)
3.事务传播
4.hashMap 和 hashTable
5.java1.8 新特性
6.hashMap 和 ConcurrentHashMap
7.java 内存回收机制
二面:
1.自我介绍
2.项目 1
3.项目 2
三面:
1.自我介绍
2.项目
3.变量的初始化顺序
4.类加载顺序
5.类加载机制
6.垃圾回收机制
7.异常的集成体系即捕捉异常的情况
六、**C++**工程师
一面:(30 分钟)
撕代码,反转链表
设计支持很多数据库的同步备份系统(开放性问题,阅读源码、学习别人的设计思路
很重要)
二面:(60 分钟)
muduo 网络库
自己的项目介绍
slect、epoll 区别网络编程流程
https 和连接建立过程
B+树
TOPk 的问题
hash 冲突解决
虚函数定义
实验室的项目(问了好久,大约 20 多分钟)
三面:(30 分钟)
实验室的项目
自己的项目介绍
看过那些源码
原子行操作
底层实现
高并发访问网站设计
大量已排序数据进行合并说明优化思路
set 和 map 底层数据结构实现,为啥用红黑树
HR 面:(20 分钟)
谈人生谈理想
七、大数据开发工程师
一面:
1、HDFS DataNode 死了怎么办,NameNode 发生了什么变化?
2、JVM GC 回收算法,各自优缺点,什么场景使用?
3、HashMap get 和 put 源码,为什么红黑而非平衡树?
4、CHM 结构,1.7/1.8 区别?
5、排序时间复杂度/空间复杂度,插入,归并等,很大的绝大部分有序的数组已经在
内存,选择什么排序算法,时间复杂度?
6、大数据问题,10G 的文件里面的数字排序
7、HA HDFS Zookeeper 什么作用,为什么要 Zookeeper?
二面:
1、小白鼠问题。16 瓶正常水,1 瓶毒水,小白鼠喝下毒水后一小时死亡,只给一小时
时间,最少用多少只小白鼠可以检测出 14 瓶正常水?
2、两根质地不均匀但是燃烧时间与绳子长度无关的一样的绳子,燃烧完一根绳子耗时
一个小时,只能用这两根绳子,如何准确烧出 15 分钟?3、数据库隔离级别,哪些导致脏读,哪些导致幻行?
4、分代收集算法
5、G1 垃圾回收器
6、线程池的核心参数,几种队列,分别干啥的
7、大数据流处理技术之间的实现原理以及区别
8、Hadoop1.x 和 2.x 之间的区别
9、你的实习经历中 ES 怎么调优的?
10、详细问项目(背景,职责)
11、生活上爱干啥
三面:这是部门老大
1、HBase 架构,为什么其随机查询很快?
2、ES 如何调优?
3、项目中让你出乎意料的收获?
4、小学的时候印象很深刻的事?正反面各一个
5、总结本科的学习,有什么方***?自己认为做的好的一点是什么?
其他还聊天聊了很久。
交叉面:(阿里云的高 P 大佬)
1、科研,问的很详细,背景、技术架构、意义
2、科研落地的话,要考虑什么问题,有什么不足?
3、ES 查询机制?
4、一个分布式系统,为什么测试的时候响应很快,而到实际线上部署时响应就会变慢?
分析可能原因并给出理由
5、分布式系统 CAP 理论,重点解释分区容错性的意义
6、大数据的特性
7、对虚拟内存的理解
8、有啥想问他的
Hr 面:
1、除了简历中的技术,还对什么技术感兴趣
2、城市选择
3、职业规划
4、怎么看待之前的面试官?有留下深刻影响的吗?
八、安卓工程师
电面:1.你常用的设计模式
2.listView 或 Recycler 上学滑动时卡顿的原因
UI 线程进行费时操作;GC 时暂停所有工作线程(这个真忽略了。。)
3.打开浏览器输入一个网址的背后发生了什么(这个真的很常见,大家一定要记住,
TCP 三次握手没让我说)
4.Https 比 Http 多的流程(这个感觉也很常见)
5.Https 流程很复杂,怎么简化(简化完全没有思路,然后面试官也就没让我说了)
6.Android 线程间通信(Handler 机制一定要弄懂)
7.Java 异常分类,举例。发生异常和 Error 有什么不同?
8.Rxjava(我就说自己只是写过 demo,这是函数式编程)
9.JVM GC 的种类和流程(Minor GC 和 Full GC,我***。。。电话打来我正在看,只回
答上 Minor GC,气死我了!!)
10.你还有什么想问吗?
笔试重要吗?不重要
计算机操作系统和编译原理这些重要吗?不重要
希望能收到二面电话。