首页 > 阿里巴巴-达摩院-研发工程师 (Java)-一二三四面
头像
云岫1231
编辑于 2020-10-13 16:02
+ 关注

阿里巴巴-达摩院-研发工程师 (Java)-一二三四面

一面


周三,历时1h。

上来先介绍了一下他们是干嘛的,类似于阿里小蜜那种智能客服(我盲猜一下是做智能语音服务的智能服务事业部)。

然后让我介绍一下简历中的项目。

先问了问项目中用到的一些东西(这时就已经快20min了)。

之后是提问:

1.HashMap和TreeMap的区别
2.HashMap如何解决冲突(链表,红黑树)
3.红黑树有什么特点?
4.怎么求n个节点的满二叉树的高度
5.设计模式:单例模式的使用场景,举例一种单例模式,如何优化(如何提高效率
模板模式是什么,使用场景
6.Linux:说几个你知道的命令,如何查看进程,如何查看CPU使用率,怎么开启定时任务
7.遇到过内存泄漏吗?内存泄漏怎么解决
8.数据库:数据库怎么优化慢查询,
索引能加快查询速度的话,能加快写速度吗
怎么优化写速度
索引是越多越好吗

然后说虽然系统里你好像已经笔试过了,但是还是再来两道算法题看看😅
1.(口述思路)求两个链表的相交节点,分了有环/无环两种情况
2.(阿里伯乐系统,在线手撕算法)给了一个数组,给了一个sum,求数组中的元素相加和为sum的所有case

最后,例行官方话术:
你有什么想问的?

二面

周五,历时1h5min。

让我介绍一下简历中的项目。
先问了问项目中用到的一些东西(于是20分钟过去了)。

然后是提问:(10多分钟)
1.介绍一下HashMap
2.数据库对两张表怎么关联查询。
举个例子,一张用户表,一张订单表,用户ID两个表中都存在。那怎么设计表?
(ID作为外键)
3.数据库怎么存储图片
4.数据库中有哪些数据类型
5.数据库索引的作用,为什么能加快查询速度,索引的原理
6.进程和线程的关系和区别
7.怎么实现多线程
8.口述一下如何实现Runable接口
9.数组和链表的区别,和使用场景
JAVA中的链表用的哪个类
10.栈和队列的区别
还有很多,记不清了……

算法题:(手撕)
1.在一个有序数组中查找指定元素
2.在一个循环有序的数组中查找指定元素
(二分法)

最后,例行官方话术:
你有什么想问的?

三面

历时35min
面试官忙,约了时间与二面相隔了一周,周一
自我介绍。
讲项目,项目挖得挺深。
讲完项目开始聊人生。🤣

过了一个半小时,招聘助手打电话来约了4面

四面(交叉面)

周三,历时30min

1.自我介绍
2.项目介绍,挖得很深

提问:
1.JAVA的反射机制
2.设计模式了解吗?
3.JAVA的垃圾回收机制了解吗?
4.JAVA的OOM知道吗?
5.你遇到了OOM会怎么办?
6.为什么有垃圾回收机制还会OOM呢?

最后,例行官方话术:
你有什么想问的?


更新:
最终收到了另一个BU的OC,这段面经留着造福牛油们了~


全部评论

(4) 回帖
加载中...
话题 回帖

推荐话题

相关热帖

历年真题 真题热练榜 24小时
技术(软件)/信息技术类
查看全部

近期精华帖

热门推荐