2024年Android高级面试题总结(附答案解析)

答:例如有一个Dog类:

1.即使没有static,构造器其实也是静态方法,所以当首次创建Dog时或者Dog的静态域或者静态方法被访问的时候,Dog的class对象会被加载。

2.在加载Dog的class的时候可能会发现其有基类,此时先暂停Dog的加载,转而去加载其基类。所以基类的static域比子类先初始化。

3.载入class文件之后,会创建一个该该类的class对象,所有关于静态初始化的动作会被执行,所以静态初始化只在Class对象首次加载时进行一次。

4.当使用new的时候,首先为Dog对象在堆上分配足够内存空间。这块内存控件会被清零,所有实例都被初始化成了默认值,包括基类。

5.执行所有字段定义处的初始化,从基类开始。

6.执行构造器。(在第一行会执行基类的构造器)

4.对象的销毁是按照创建的逆序来进行的。

5.final的方法和类都不允许覆盖和继承。private默认实现了final。

6.简述内部类的特点

7.形式参数可被视为local variable,也就是说形式参数相当于在方法中定义了一个局部变量a,当传入c时,只是将c指向的对象给a

8.finally 语句块是在 try 或者 catch 中的 return 语句之前执行的

9.简述jvm中默认的classLoader与功能

10.switch语句后的控制表达式只能是short、char、int、long整数类型和枚举类型,不能是float,double和boolean类型。String类型是java7开始支持

11.重写的特性

12.!=和==,当用于基本类型时候,是比较值是否相同;当用于引用类型的时候,是比较对象是否相同,比较内存地址

13.null可以被强制类型转换成任意类型的对象,于是通过它来执行静态方法

14.如何终止一个线程

15.静态属性和静态方法是否可以被继承

16.列出各种List,Set,Map,Queue并说出他们的同与不同。

17.列出几种线程池

18.解释一下java内存模型

19.解释一下java代码的原子性

20.解释一下volatile字段

21.解释一下synchronized字段

22.Lock的使用

23.wait()和sleep()区别

24.死锁产生的条件

篇幅原因,参考答案均整理到下面这份PDF文档里,需要的朋友可以点击我的GitHub,前往免费领取!**

2020Android 高级面试题总结(附答案解析)

Java相关

二 Android相关

Android部分我就不分几大块了。直接列举,但是列举到的每一项都是面试经常会问到并且会延伸问的,所以需要深入的去研究。

1.Android事件分发机制,请详细说下整个流程

2.Android view绘制机制和加载过程,请详细说下整个流程

3.Activty的加载过程 请详细介绍下

4.Activity的启动模式:

5.Activity缓存方法:

6.Service的生命周期,两种启动方法,有什么区别:

7.怎么保证service不被杀死8.广播的两种注册方法,有什么区别。

9.Intent可以传递哪些数据类型10.Json有什么优劣势

11.动画有哪几类,各有什么特点:

12.Handler、Loop消息队列模型,各部分的作用。

13. 怎样退出终止App:自己设置一个Activity的栈,然后一个个finish()。

14. Android IPC:Binder原理

15.android的优化

16.一个singleton如何实现线程的同步问题

17.android重要术语解释

18.理解Window和WindowManager

19.Bitmap的处理:

20.综合技术:

21.如何实现一个网络框架(参考Volley)

22.ClassLoader的基础知识:

23.插件化框架描述:dynamicLoadApk为例子

24.热修复:Andfix为例子

篇幅原因,参考答案均整理到下面这份PDF文档里,需要的朋友可以点击我的GitHub,前往免费领取!**

2020Android 高级面试题总结(附答案解析)

Android相关

三 Android相关总结

上面的列的相关内容,看似很短一句话,但是每一项都需要你深入的去研究,要了解原理,最好去看一下源码实现。当然还有一些是我没写到的,可能是我写的时候没有想起来,并不代表他们不重要,你也需要重视,再来一波推荐:《Android开发艺术探索》强烈推荐,建议细细的读,如果粗心大意建议读两到三遍,针对性的读。《Android进阶之光》《高级Android开发强化实战》《Android组件化架构》《Android热修复技术原理》《Android插件化开发指南》

五 面试心得

1.准备要充分,知识面要尽量的广,同时深度也要够。2.面试安排上,如果不着急,尽量给自己留多时间,两天一家,及时做总结和补充。3.心态要放平,当做一次技术交流,面试要看一部分的运气,也要看一些眼缘,有的面试官一张嘴你就能感觉到你这次面试完了。想去的公司没有面试好,不要气馁,继续加油准备。4.简历投递方面,拉勾上投了很多经常不匹配,可能是我学历问题(自考本),有一些打击自信心,如果有同样感受的,不妨换BOSS或者其他平台。避免打击自信心。5.写简历一定要体现自己的优势,最好能体现类似于,用到了什么技术,解决了什么问题。简历上写到的一定要胸有成竹。6.类似于你的优势是什么,你觉得你项目中做的比较好的地方有哪些,你能给公司带来什么,这种问题心里要先想一些,免得临场发挥容易紧张说不好。7.我所经历的面试,一般技术面最少是两轮。如果一轮后让你走了,而你还自我感觉良好,那我觉得你有必要回顾一下面试内容,并一条一条找找该问题的相关内容,大部分问题就在于你没有答到点子上,可能是深度不够,也可能是扩展不够。继续加油。

2020Android 高级面试题总结(附答案解析)

简历模板

感觉良好,那我觉得你有必要回顾一下面试内容,并一条一条找找该问题的相关内容,大部分问题就在于你没有答到点子上,可能是深度不够,也可能是扩展不够。继续加油。

[外链图片转存中…(img-cKBPWr5c-1725119270676)]

简历模板

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值