拼多多Android面经 | 拼多多2025校招客户端工程师

【拼多多校园招聘】内推链接:https://careers.pinduoduo.com/campus/grad/detail?t=sLVSuAmjie,内推码:sLVSuAmjie。客户端研发工程师 期待你的加入!我们一起,无拼不青春!(通过此链接投递计入内推,内推简历优先筛选~)

1、Activity的启动模式。

(1)启动模式主要包括: standard, singleTop, singleTask, singleInstance.

(2)标准模式在每次启动时, 都会创建实例; 三种单例模式, 会根据情况选择创建还是复用实例。在Activity启动中, 创建实例的生命周期: onCreate -> onStart -> onResume;重用实例的生命周期: onNewIntent -> onResume。

(3)在AndroidManifest的Activity中,使用launchMode属性,可以设置启动模式,默认是standard模式;

2、Activity是如何缓存的?

3、Android的Service的生命周期有两种启动方法,有什么区别?

4、怎么保证service不被杀死/进程保活?

(1)Service设置成START_STICKY(onStartCommand方法中),kill 后会被重启(等待5秒左右),重传Intent,保持与重启前一样

(2)通过 startForeground将进程设置为前台进程,做前台服务,优先级和前台应用一个级别,除非在系统内存非常缺,否则此进程不会被 kill.具体实现方式为在service中创建一个notification,再调用void android.app.Service.startForeground(int id,Notificationnotification)方法运行在前台即可。

(3)双进程Service:让2个进程互相保护,其中一个Service被清理后,另外没被清理的进程可以立即重启进程。

(4)AlarmManager不断启动service。该方式原理是通过定时警报来不断启动service,这样就算service被杀死,也能再启动。同时也可以监听网络切换、开锁屏等广播来启动service。

5、动画有哪几类,各有什么特点,请简单分析下属性动画的实现原理。

6、请简述Handler/looper机制。

7、请介绍下activty的加载过程。

8、请分析下Android的事件分发机制,请详细说下整个流程。

(11)Activity是事件的起点,事件分被封装成MotionEvent对象发给Activity的dispatchTouchEvent方法。

(2)dispatchTouchEvent内部会把事件传给setContentView指定的布局,即根布局ViewGroup。

(3)根布局的dispatchTouchEvent在接收到事件后调用onInterceptTouchEvent方法。

(4)onInterceptTouchEvent方***判断是否拦截该事件,如果拦截就将事件传给onTouchEvent方法处理。不拦截就直接把事件传给子控件。

(5)onTouchEvent方法负责处理事件,返回值决定是否要消费掉该事件,返回true表示以后由此控件来处理该事件,返回false表示以后也不再接收该事件。

(6)当所有控件的onTouchEvent都返回false时事件由Activity的onTouchEvent来处理。

9、请分析下View的绘制流程。

10、请简述Android IPC机制及Binder原理。

11、请简要阐述下你对ClassLoader的理解/双亲委托机制。

12、请介绍下你知道的插件化框架,原理和框架。

13、请介绍下你知道的热修复框架。

AndFix、Dexposed、微信的Tinker、手机QQ的QFix和RocooFix。

14、如何加快冷启动速度?

15、Android开源框架用过多少?知道他们的具体实现吗?

全部评论

相关推荐

07-23 11:37
延安大学 C++
绷不住了,晚上十点发拒信,是还在加班吗这样一想挂了好像也没什么不好
码农索隆:这个都是真人发嘛,会用到机器人定时发嘛
点赞 评论 收藏
分享
白火同学:先说结论,准大三不是特别好找实习,boss沟通300+没有实习是很正常的情况。一是暑期实习时间太短了,二是在这么多准大四都找不到实习,从实习时间和掌握技术层面,企业会优先看他们。 再说简历,其实985本+准大三到这水平的简历也很优秀了,要说的话,项目经历可以再优化一下,可以基本围绕采取STAR原则,分为项目概述、技术架构、技术亮点、实现结果,再发给AI润色一下。 最后说操作,准大三的话,如果想找实习那就多投,不过现在也7月中旬了,时间上已经略晚了。如果7月底实在找不到,也可以多刷点算法,多学点技术,这实习也不至于一定得有,当然有更好。
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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