本人2月26日找了师兄内推阿里钉钉团队,28号接到了约1面的电话。
钉钉1面,3月1日(电话面试,1个小时)
- 本科、研究生学过什么跟计算机相关的课?
- tcp、http协议相关;http1.1和2.0区别
- 堆排序的过程
- Java单例有几种方式
- 静态方法同步和普通方法同步的区别
- 线程池7大参数、工作原理
- 点击手机桌面应用图标后发生了什么(应用程序启动流程、Activity启动流程,没看过源码,没答上来)
- View三大流程说了一下,流式布局FlowLayout怎么实现的
-
retrofit原理(没看过,只说了动态代理+注解),看过okhttp源码,讲了一下okhttp的工作原理(分发器、拦截器,讲了细节)
-
聊了项目(讲了好久),几个方面如下:
(1)项目中用了kotlin协程,于是问了协程的相关理念,面试官可能觉得说的不太全,就给补充了一下。
然后说协程这样的新技术国外有人用,国内用的很少(因为使用协程会改变老项目原有网络架构,对于新项目
可以使用,想要取代老项目比较困难)。
(2)如果用户反应app有问题,该怎么解决?回答网络抓包,面试官说大型项目不可能通过抓包来找问题,后来
经过暗示,正确做法应该是生成日志文件并提交到服务器。
(3)聊了项目中登录相关的业务怎么实现的(将服务器响应的token持久化并添加到请求头)。 - 提问环节。问了面试官kotlin在企业应用中是否有用到,面试官说由于Java和kotlin并不冲突,因此在项目中是共存的。
钉钉2面,3月2日(电话面试,1个小时)
-
聊了研究生、本科阶段得过哪些奖,做过哪些项目或者参加过哪些比赛。具体问了本科参加过的一个水中机器人的比赛(stm32单片机做的),怎么识别水中的路线之类的一些细节;又问了简历中的一个医疗机器人的项目(遇到了
哪些问题、只是实验室做着玩还是准备用在现实生活中);又问了参加过的数学竞赛,这个竞赛考察了什么能力等等。 -
问设计模式,Android源码或者第三方开源框架应用设计模式举例?(说了okhttp拦截器责任链模式)
自己的项目有没有用设计模式?(retrofit单例,用的kotlin的object关键字实现) - Android源码中你认为有哪些方面设计的很优秀的地方?(说了Android view体系)
- 聊kotlin,kotlin相比于Java有哪些优势、具体有哪些特性、语法糖之类的
- 谈谈对mvvm、mvc架构的理解,为什么你要在项目中使用mvvm?(当然是Google推荐使用mvvm)
- 聊对工作、学习方面的态度,应该具备什么能力等等
-
三道算法题(说思路):
(1)二叉树的最近公共祖先(只想出来一种比较笨的方法)
(2)遍历二叉树的第k层节点(递归迭代都讲了)
(3)给一个中文字符串“一万两千八百一十一”(只是个例子),输出这个字符串对应的数值(没想出来) - 提问环节,问了部门的氛围如何之类的
二面之后参加了阿里的第一次笔试,两道力扣hard题,血难,加上我之前没练过ACM输入输出,最后一道也没过0分
(1)力扣1411:网格图涂色的方案数
(2)力扣815:公交路线
笔试之后心态崩了,觉得0分应该进不了阿里了,没想到过了两周二面的面试官给打了个电话,说前两面的面试成绩挺好,可以再给一个机会,用阿里伯乐平台出了4道题(其实是前两道有点难,第一道贪心算法,第二道工厂模式+策略模式+多线程都不会),才又出了后面两道简单的算法题,一个反转字符串中的单词,一个求链表倒数第k个节点,这俩写出来了。一周之后接到了3面的电话。
- 自我介绍
- 聊项目,mvc、mvp和mvvm架构各自的特点;在项目中最具有挑战的是什么?项目收获到了什么?
- 算法题:给两个字符数组,举例:{h,e,l,l,o, ,w,o,r,l,d}和{e,o},如果第一个数组中存在第二个数组中的元素则去掉,后面的元素往前顺移,结果为:{h,l,l, ,w, r,l,d}。要求时间复杂度为O(n),空间复杂度为O(1)。
- 你认为什么样的人可以称之为技术大佬?如果只有30分钟,你会依据什么来判断一个人是不是大佬?你认为自己身边最厉害的技术大佬是谁?他为什么会成为大佬?你愿不愿意推荐他到我们顶顶团队(我说他投了蚂蚁,面试官说他做了错误的选择....)?如果让你在半年之内达到他的水平,你的学习规划是什么?你会不会向他请教学习方法?
- 反问:
(2)鸿蒙会不会取代Android?Android的前景怎样?面试官先问了我的观点,后来说了自己的观点:不会。
为什么不会?这个要自己查找最近几年出现的智能手机系统,它们为什么没有Android和iOS成功,从中找答案。
钉钉HR面,3月30日(钉钉视频面试,20分钟)
- 自我介绍,开了共享屏幕现场给HR展示了之前的一个项目
- 你的项目UI界面是自己设计的吗?
- 你对未来的规划是什么?
- 有没有投别的大厂?
- 大厂有很多,为什么要投阿里?为什么要投钉钉部门?
- 你对互联网行业加班现状怎么看?你对加班的态度怎样?
- 你不是计算机科班出身,有没有信心做好这个工作?你对Android开发感兴趣吗?
(1)实习生待遇怎样?
(2)转正率高不高?(阿里实习期间如果表现正常基本都能转正,除非自己不想转正)
(3)加班情况怎样?(除了大版本更新,平时不会像拼多多那么肝,一般晚上九点就清场了,周末基本也不用加班)
全部评论
(5) 回帖