面试总结

博主分享了自己的求职经历,并总结了Android面试相关问题。包括Kotlin使用,Handler、HashMap等源码分析,Activity启动与View绘制流程,事件分发、图文混排等知识,还提及内存性能优化、网络协议、设计模式等内容,算法部分较少。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

很久没有写博客了。

2018年12月18号,从上家公司离职,然后给自己放了个假,然后是过年。年后来了北京重新找找工作,深感就业的艰难。终于,在2019年4月9号,入职了新的公司。

在上家公司干了3年,有3年没有面试过了,刚开始,很不适应。遇到过坑。现在,把面试,总结一下。希望,对正在找工作和即将要找工作的人有所帮助。

我算法方面,很差。我没有刷过算法题,基本就是面试遇到了,记下来,回家了学一下。所以,这个面试系列博客,算法很少,追求、注重算法的,可以忽略了。

面试相关问题:

要会 kotlin!kotlin!kotlin!

1、handler源码分析

引申问题:

	send、post区别

	延迟消息处理流程

2、HashMap、ConcurrentHashMap源码分析,注意区分 jdk 1.8 之前和 1.8 及以后

3、ArrayList、LinkList、SparseArray

4、Activity启动流程、view绘制流程

引申问题:

	为什么Activity中,onCreate、onStart、onResume方法,都拿不到xml布局中,控件的实际宽高

	拿到实际宽高的方法:view.post、视图树

	对比 runOnUIThread、view.post、handler区别和联系

5、源码分析

OkHttp、Retrofit2、RxJava2、EventBus、Glide、RecycleView。。。

引申、相关问题:

	对比不同的图片库:如,对比 Gilde、Picasso

	OkHttp的拦截器链是怎么实现的?

	RxJava2 是链式调用的,数据传递流程是什么样的?

	EventBus是这么管理、切换线程的

	Glide请求图片用的什么网络框架?Glide怎么拿到图片宽高的?

6、事件分发

引申问题:ScrollView、EditText滑动冲突解决

7、图文混排:SpannableString

引申问题:

	TextView有行间距的时候,emoji表情会错位(下沉),如何解决

8、WebView优化、内存泄漏

引申问题:

	shouldInterceptRequest

	shouldOverrideUrlLoading

	js(H5)、webview相互调用(原生代码)

	JSBridge(js(H5)、webview相互调用的三方库)源码

	外部浏览器唤醒APP,跳转到指定界面

9、自定义view相关

引申问题:

	canvas.save()、canvas。restore()

	强制控件展示正方形

	invalidate()、postInvalidate()、requestLayout()比较

10、内存、性能优化

11、布局优化:

分析RelativeLayout、LinearLayout源码,对比其性能

ConstraintLayout使用

merge、include、viewStub使用

引申:ViewStub 源码分析

12、动画

各种动画的区别

引申:属性动画原理

内存问题:属性动画的无限动画,如果界面销毁时不停止,会造成内存泄漏

13、Java内存模型、GC机制

14、网络协议

HTTP、Https、TCP/IP

三次握手、四次挥手

引申:为什么是三次握手?2次行不行?4次行不行?为什么?

15、Activity的启动模式,对应的适用场景

引申问题:

	Intent的Flag

16、单例、锁、线程、线程安全

引申问题:

	有5种单例写法,都要会

	乐观锁、悲观锁

	wait、sleep、yield、join

	volatile关键字的作用

	双重判断+volatile,一定可以保证数据的线程安全么?理由、证明

17、异常

引申问题

	ANR

	那些情况,可以导致APP闪退、崩溃,举例说明

	try{...}catch(){...}finally{...} 中
		catch可以捕获Error吗?理由、证明
		finally一定可以走到吗?理由、证明

	对比:final、finally、finalized

18、设计模式、框架

单例、工厂、Builder、代理。。。。。。

MVC、MVP、MVVM

19、泛型擦除

20、安卓中,Dalvik、ART虚拟机对比

21、进程间通信

22、算法、现场设计功能

23、热修复、逆向。(加分项)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值