阿里巴巴面经合集
    一、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.你还有什么想问吗?
    笔试重要吗?不重要
    计算机操作系统和编译原理这些重要吗?不重要
    希望能收到二面电话。