阿里钉钉团队Android实习面经(3轮技术面+1轮HR面)

本人2月26日找了师兄内推阿里钉钉团队,28号接到了约1面的电话。

钉钉1面,3月1日(电话面试,1个小时)
  1. 本科、研究生学过什么跟计算机相关的课?
  2. tcp、http协议相关;http1.1和2.0区别
  3. 堆排序的过程
  4. Java单例有几种方式
  5. 静态方法同步和普通方法同步的区别
  6. 线程池7大参数、工作原理
  7. 点击手机桌面应用图标后发生了什么(应用程序启动流程、Activity启动流程,没看过源码,没答上来)
  8. View三大流程说了一下,流式布局FlowLayout怎么实现的
  9. retrofit原理(没看过,只说了动态代理+注解),看过okhttp源码,讲了一下okhttp的工作原理(分发器、拦截器,讲了细节)
  10. 聊了项目(讲了好久),几个方面如下:
    (1)项目中用了kotlin协程,于是问了协程的相关理念,面试官可能觉得说的不太全,就给补充了一下。
    然后说协程这样的新技术国外有人用,国内用的很少(因为使用协程会改变老项目原有网络架构,对于新项目
    可以使用,想要取代老项目比较困难)。
    (2)如果用户反应app有问题,该怎么解决?回答网络抓包,面试官说大型项目不可能通过抓包来找问题,后来
    经过暗示,正确做法应该是生成日志文件并提交到服务器。
    (3)聊了项目中登录相关的业务怎么实现的(将服务器响应的token持久化并添加到请求头)。
  11. 提问环节。问了面试官kotlin在企业应用中是否有用到,面试官说由于Java和kotlin并不冲突,因此在项目中是共存的。
第二天下午接到了约2面的电话,就约在当天晚上

钉钉2面,3月2日(电话面试,1个小时)
  1. 聊了研究生、本科阶段得过哪些奖,做过哪些项目或者参加过哪些比赛。具体问了本科参加过的一个水中机器人的比赛(stm32单片机做的),怎么识别水中的路线之类的一些细节;又问了简历中的一个医疗机器人的项目(遇到了
    哪些问题、只是实验室做着玩还是准备用在现实生活中);又问了参加过的数学竞赛,这个竞赛考察了什么能力等等。
  2. 问设计模式,Android源码或者第三方开源框架应用设计模式举例?(说了okhttp拦截器责任链模式)
    自己的项目有没有用设计模式?(retrofit单例,用的kotlin的object关键字实现)
  3. Android源码中你认为有哪些方面设计的很优秀的地方?(说了Android view体系)
  4. 聊kotlin,kotlin相比于Java有哪些优势、具体有哪些特性、语法糖之类的
  5. 谈谈对mvvm、mvc架构的理解,为什么你要在项目中使用mvvm?(当然是Google推荐使用mvvm)
  6. 聊对工作、学习方面的态度,应该具备什么能力等等
  7. 三道算法题(说思路):
    (1)二叉树的最近公共祖先(只想出来一种比较笨的方法)
    (2)遍历二叉树的第k层节点(递归迭代都讲了)
    (3)给一个中文字符串“一万两千八百一十一”(只是个例子),输出这个字符串对应的数值(没想出来)
  8. 提问环节,问了部门的氛围如何之类的
二面之后参加了阿里的第一次笔试,两道力扣hard题,血难,加上我之前没练过ACM输入输出,最后一道也没过0分
(1)力扣1411:网格图涂色的方案数
(2)力扣815:公交路线
笔试之后心态崩了,觉得0分应该进不了阿里了,没想到过了两周二面的面试官给打了个电话,说前两面的面试成绩挺好,可以再给一个机会,用阿里伯乐平台出了4道题(其实是前两道有点难,第一道贪心算法,第二道工厂模式+策略模式+多线程都不会),才又出了后面两道简单的算法题,一个反转字符串中的单词,一个求链表倒数第k个节点,这俩写出来了。一周之后接到了3面的电话。

钉钉3面,3月24日(电话面试,40分钟)
  1. 自我介绍
  2. 聊项目,mvc、mvp和mvvm架构各自的特点;在项目中最具有挑战的是什么?项目收获到了什么?
  3. 算法题:给两个字符数组,举例:{h,e,l,l,o, ,w,o,r,l,d}和{e,o},如果第一个数组中存在第二个数组中的元素则去掉,后面的元素往前顺移,结果为:{h,l,l, ,w, r,l,d}。要求时间复杂度为O(n),空间复杂度为O(1)。
  4. 你认为什么样的人可以称之为技术大佬?如果只有30分钟,你会依据什么来判断一个人是不是大佬?你认为自己身边最厉害的技术大佬是谁?他为什么会成为大佬?你愿不愿意推荐他到我们顶顶团队(我说他投了蚂蚁,面试官说他做了错误的选择....)?如果让你在半年之内达到他的水平,你的学习规划是什么?你会不会向他请教学习方法?
  5. 反问:
(1)大厂对新技术的态度是怎样的?
(2)鸿蒙会不会取代Android?Android的前景怎样?面试官先问了我的观点,后来说了自己的观点:不会。
为什么不会?这个要自己查找最近几年出现的智能手机系统,它们为什么没有Android和iOS成功,从中找答案。

钉钉HR面,3月30日(钉钉视频面试,20分钟)
  1. 自我介绍,开了共享屏幕现场给HR展示了之前的一个项目
  2. 你的项目UI界面是自己设计的吗?
  3. 你对未来的规划是什么?
  4. 有没有投别的大厂?
  5. 大厂有很多,为什么要投阿里?为什么要投钉钉部门?
  6. 你对互联网行业加班现状怎么看?你对加班的态度怎样?
  7. 你不是计算机科班出身,有没有信心做好这个工作?你对Android开发感兴趣吗?
提问环节:
(1)实习生待遇怎样?
(2)转正率高不高?(阿里实习期间如果表现正常基本都能转正,除非自己不想转正)
(3)加班情况怎样?(除了大版本更新,平时不会像拼多多那么肝,一般晚上九点就清场了,周末基本也不用加班)

#实习##面经##安卓工程师##阿里巴巴#
全部评论
4月20号楼主终于受到意向书了,听内推人说阿里实习面试没有rank,可能单纯就是流程比较慢
点赞 回复 分享
发布于 2021-04-20 14:31
楼主可以说说helloworld什么思路吗
点赞 回复 分享
发布于 2021-04-17 15:31
技术面都是电面吗
点赞 回复 分享
发布于 2021-04-13 08:09
楼主拿到意向书了吗
点赞 回复 分享
发布于 2021-04-11 18:23
不看标题还以为是字节,阿里什么时候也对算法要求到这种程度了。
点赞 回复 分享
发布于 2021-04-09 15:55

相关推荐

06-28 18:58
已编辑
东北大学 Java
1.自我介绍2.List和Set分别有什么实现了线程安全的集合?ConcurrentHashMap线程安全的执行流程?3.介绍一下CAS的原理,是乐观锁还是悲观锁?4.讲一下任务进入线程池后的执行流程5.有很多线程执行的时间不一样,怎么安排执行?有一个线程依赖于上边这些线程所产生的结果,Java有什么类可以实现这个功能?6.如果一个大型项目,某一个时间所有的CPU的已经被占用了,导致服务不可用,我们开发人员应该如何使服务器尽快恢复正常7.讲一下Java的内存模型8.volatile关键字9.介绍一下单例模式,双重检查锁定的流程10.volatile除了可以保证线程之间的可见性外,还有什么功能?11.有哪些垃圾回收算法?G1用的是什么回收算法?12.老年代无法正常回收,可能是什么原因?13.讲一下Redis的淘汰策略, LRU的底层实现14.你认为,用LRU来进行淘汰,合理吗?如果存放的数量级很大,那么Redis要维护这么大的一个双向链表,这个开销是不是就很大了?应该如何解决这个问题15.讲一下MySQL的索引优化策略,讲一下索引覆盖16.有了解过索引下推吗?17.项目是实验室项目,还是网上找的练手项目?18.微服务是通过什么通信的?19.介绍一下项目用到的 Guava,项目里边你认为比较复杂的地方20.项目里Redis的BitMap是如何实现人群标签的21.准备给项目加上一些什么别的内容?22.有没有对AI,大模型的相关知识有学习,有运用吗?平常用什么AI大模型23. 手撕,给一个n*m的网格,每个网格都有一个值,求到达右下角终点的路径,并且路径和最小。一面过了
查看23道真题和解析
点赞 评论 收藏
分享
评论
6
29
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务