三年经验老开发一路跌跌撞撞面进大厂,该说不说这份Android面试题笔记挺牛逼!

前言

随着越来越多的培训机构培训学生以及大学计算机专业学生越来越多,导致程序员找工作门槛也越来越高。我有着三年的开发经验,也自认为自己能解决很多问题。但是从找工作的这段时间才发现,自己的解决问题的能力是有,但是技术深度不够扎实。

通过对比自己和中高级Android开发要求,才发现自己也就处于中级水平,照正常来讲,三年的开发经验已经应该处于高级行列。

由于自己之前工作项目要求不高,自己也缺乏学习动力,并且项目基本都是独立开发,所以只是在项目广度够用,也就是说项目的从零到一的过程十分熟悉,对基本的项目架构也比较了解,但是导致技术深度有所欠缺。

比如说NDK开发,c语言学习,高级UI自定义,Android SDK源码了解 以及一些音视频开发,openGl 等,由于项目没有用到,自己也没有去学习。

意识到自身不足已经是经历过几家中厂面试被刷之后,虽然有点失落,但好在我没有放弃。老话说得好勤能补拙,终于功夫不负有心人,在连续一个月的挑灯夜读把这份面试八股文背下,最终 拿到了心仪的offer!

面试题如下(答案太长不方便展开,仅仅展示部分)

1.Android属性动画实现原理;
2.补间动画实现原理
3.Android各个版本API的区别
4.Requestlayout,onlayout,onDraw,DrawChild区别与联系
5.invalidate和postInvalidate的区别及使用
6.Activity-Window-View三者的差别
7.谈谈对Volley的理解
8.描述一次网络请求的流程
9.HttpUrlConnection 和 okhttp关系

10.如何优化自定义View

1)要在onDraw或是onLayout()中去创建对象,因为onDraw()方法可能会被频繁调用,可以在view的构造函数中进行创建对象;
2)降低view的刷新频率,尽可能减少不必要地调用invalidate()方法。或是调用带四种参数不同类型的invalidate(),而不是调用无参的方法。无参变量需要刷新整个view,而带参数的方法只需刷新指定部分的view。在onDraw()方法中减少冗余代码。
3)使用硬件加速,GPU硬件加速可以带来性能增加。
4)状态保存与恢复,如果因内存不足,Activity置于后台被杀重启时,View应尽可能保存自己属性,可以重写onSaveInstanceState和onRestoreInstanceState方法,状态保存。

11.低版本SDK如何实现高版本api?

使用@TargetApi注解· 当代码中有比AndroidManifest中设置的android:minSdkVersion版本更高的方法,此时编译器会提示警告,解决方法是在方法上加上@SuppressLint(“NewApi”)或者@TargetApi()。但它们仅是屏蔽了android lint错误,在方法中还要判断版本做不同的操作。@SuppressLint(“NewApi”)屏蔽一切新api中才能使用的方法报的android lint错误 @TargetApi() 只屏蔽某一新api中才能使用的方法报的android lint错误,如@TargetApi(11)如果在方法中用了只有API14才开始有的方法,还是会报错。


面试经验总结

1.一定要谨慎对待写在简历上的东西,一定要对简历上的东西非常熟悉。因为一般情况下,面试官都是会根据你 的简历来问的;

2.能有一个上得了台面的项目也非常重要,这很可能是面试官会大量发问的地方,所以在面试 之前好好回顾一下自己所做的项目;

3.和面试官聊基础知识比如设计模式的使用、多线程的使用等等,可以结合具体的项目场景或者是自己在平时是 如何使用的;

4.建议提前了解一下自己想要面试的公司的价值观,判断一下自己究竟是否适合这个公司。

5.另外,我个人觉得面试也像是一场全新的征程,失败和胜利都是平常之事。所以,劝各位不要因为面试失败而灰心、 丧失斗志。也不要因为面试通过而沾沾自喜,等待你的将是更美好的未来,继续加油!

以下这份最新版《Android面试大厂必考174题 》包含各个大厂的高频面题及行业最新技术,是由阿里P6的大佬花两月时间整理和完善而出,资料内容全面、结构清晰,非常适合想要求职/跳槽的伙伴!!

内容概要:内涵字节跳动、小米、oppo、美团、阿里巴巴、腾讯、360、华为、京东等一线互联网公司面试技术真题。

参考解析:字节跳动技术团队、郭霖、鸿洋、玉刚、掘金博主 xiangzhihong、Focusing、simpleeeeee、DevYK、简书博主 huangLearn、腾讯享学课堂、慕课网、极客时间…

由于文章内容比较多,篇幅有限,资料已经被整理成了PDF文档,有需要《Android面试大厂必考174题》完整文档的可以加微信 即可免费领取!

## **《****Android面试大厂必考174题****》**

纲要

1. SD卡
2. android的数据存储方式
3. BroadcastReceiver
4. sp频繁操作会有什么后果?sp能存多少数据?
5. dvm与jvm的区别
6. ART
7. Activity的生命周期

img

8. Application能不能启动Activity
9. Activity的状态都有哪些
10. 横竖屏切换时Activity的生命周期****Activity的状态都有哪些
11. 如何设置activity成窗口样式
12. Activity的启动方式

img

13. Service的生命周期
14. IntentService
15. Fragment和Activity的onCreateOptionsMenu
16. Service的onStartCommand有几种返回值
17. Service的onRebind什么情况下执行
18. Handler防止内存泄露
19. IntentFilter的匹配法则
20. Fragment与Activity传值
21. Fragment 生命周期

img

22. Fragment的add和replace的区别 //replace==remove|append
23. Fragment如何实现Activity栈的压栈和出栈
24. 什么情况下造成内存泄露
25. 图片过大导致OOM
26. SoftReference跟WeakRefrence的区别
27. dp与px
28. 设置布局为一半宽、高
29. 多分辨率支持的清单文件配置
30. Android的事件分发机制

img

31. ArrayList和LinkedList的区别
32. LruCache
33. 什么是ANR,如何规避
34. 描述Service的启动方式
35. Android有哪几种布局
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值