滴滴国际化部门Android用户端开发面经分享
来源:     阅读:670
织梦模板店
发布于 2021-03-20 19:15
查看主页

作者:白天不懂夜的黑

背景:

985非科班硕士,毕业5年,从事开发4年,会的技术有flutter、kotlin、NDK、Gradle、性能优化、移动架构、UI、音视频等。在今年的7月份就投了一份简历去滴滴,后面通知面试,7月底收到HR的电话说“Offer已经发到你邮箱了”。

今日特此来分享一下我们面试过程,希望能够帮助到大家!

面试过程:

一面

1.android的消息机制

2.为什么每个线程最多只能有一个Looper?这是怎样实现的?

3.Handler为什么会引发内存泄漏?有哪些处理方式?

4.安卓中常用的四种引用类型是什么?它们的特点分别是什么?

5.flutter的使用体会

6.statelesswidget和statefulwidget的异同

7.flutter的状态管理

8.JVM的GC算法都有哪些?详细详情一下分代算法中新生代部分。'stop the world'是什么意思?

9.android的事件传递机制。如何处理滑动冲突?

10.给一段代码,要求找出代码中出现的错误,并且说出这些错误解导致什么报错

11.HashMap的实现。红黑树的性质

二面

1.android线程通信有几种实现方式?

2.自己做的社交app有用到哪些第三方库?

3.为什么选用Glide作为app的图片加载库?有考虑别的库吗?

4.Glide使用时要注意哪些问题?

5.android的进程通信机制有哪些?它们是怎样实现进程通信的?

6.理解ANR吗?什么情况下会出ANR?为什么消息队列不会引发ANR?

7.android的事件传递机制

8.adnroid的自己设置view如何进行优化?

9.app如何保活?

10.你写的应用的笼统架构是什么样的?为什么要搭建这样一个模型?

11.LiveData和ViewModel的实现原理

12.为什么谷歌开始建议开发单Activity的app?

13.理解模块化吗?什么是模块化?

14.flutter在状态管理上都有哪些处理方案?你对这些处理方案有什么看法?

15.算法题:合并两个有序链表

三面

1.Room库和传统的Sqlite有什么不同?它是怎样实现的?使用Room的好处在哪里?

2.如何对app进行增量升级?

3.在一个陌生的城市,如何确定该城市能否适合投放网约车业务?

4.要对1000个人进行新冠检测,最少要检测几次?

5.app国际化会遇到哪些难题?

image

总结

三面就问了这五个问题,而后面试官就在和我详情滴滴的国际化进程和中国移动互联网的一个发展趋势。同时面试官也对我的未来技术发展提出了很多建议。我和面试官也对flutter的前景做了少量讨论,和经验丰富的前辈对话总能学到很多东西,非常感谢面试官。

经验和教训:

面试开头的自我详情最好能够简单说明自己强项,好引导面试官多考你擅长的领域;当然简历也务必须要好好整理,至少让面试官有针对性地进行考察。

分享:

下面是有几位Android行业大佬整理有我收录的少量进阶架构资料。有Android架构视频+BATJ面试专题PDF+学习笔记等资料。希望能够帮助到大家提升技术。假如大家想要获取的话,可以私信我【666】免费获取哦~ 或者者直点击查看介绍

喜欢本文的话,不妨顺手给我点个小赞、评论区留言或者者转发支持一下呗~

免责声明:本文为用户发表,不代表网站立场,仅供参考,不构成引导等用途。 系统环境 windows
相关推荐
函数式编程(一)
如何用 Android Things 和 TensorFlow 在物联网上应使用机器学习
统计学习方法第三章:k近邻法(k-NN),kd树及python实现
Gradle入门系列(二)——groovy高级语法
知识产权环球资讯|华为与Fraunhofer IIS签订专利受权许可协议
首页
搜索
订单
购物车
我的