2018-08-31 17:08:32 464浏览
我们大家学习Android技术最终的目的就是想要找到一份高薪的好工作,但是有不少的小伙伴技术学的不错,操作有很好,但是往往在面试的时候就折了,怎么都通过不了面试那一关,面试过不了你有再多的才华也无法施展,所以,如何通过Android面试就是一个大问题。本篇文章扣丁学堂Android培训小编和大家分享一些Android面试的要点,希望对小伙伴们有所帮助。
Android面试题总结之Android进阶:
一、Java技术
1.1Java基础
1、对抽象、继承、多态的理解
2、泛型的作用及使用场景
3、枚举的特点及使用场景
4、线程sleep和wait的区别
5、JAVA反射机制
6、weak/soft/strong引用的区别
7、Object的hashCode()与equals()的区别和作用
1.2集合类
1、JAVA常用集合类功能、区别和性能
2、并发相关的集合类
3、部分常用集合类的内部实现方式
1.3多线程相关
1、Thread、Runnable、Callable、Futrue类关系与区别
2、JDK中默认提供了哪些线程池,有何区别
3、线程同步有几种方式,分别阐述在项目中的用法
4、在理解默认线程池的前提下,自己实现线程池
1.4字符
1、String的不可变性
2、StringBuilder和StringBuffer的区别
3、字符集的理解:Unicode、UTF-8、GB2312等
4、正则表达式相关问题
1.5注解
1、注解的使用
2、注解的级别及意义
3、如何自定义注解
二、Android技术
2.1Android基础
1、四大组件的意义及使用,生命周期回调及意义
2、AsyncTask、Handler的使用
3、Android系统层次框架结构
4、AsyncTask的实现方式
5、AsyncTask使用的时候应该注意什么
6、Android常见的存储方式
7、Looper、Handler和MessageQueue的关系
8、Activity的启动流程(考察对Framwork的熟悉程度)
9、多进程开发的注意事项(Application类区分进程,进程间内存不可见、进程间通讯方式)
2.2Resource相关
1、9图片的意义
2、style和theme的作用及用法
3、dpi、sp、px的区别以及转换关系
4、raw和assets文件夹的作用,二者有何区别
5、Android系统如何在多个资源文件夹下查找匹配最合适的资源
2.3虚拟机
1、Java内存模型
2、Android虚拟机的特点
3、Dalvik和Art的区别
4、熟悉垃圾回收的实现机制,了解虚拟机的GC类型
2.4View相关
1、常用组件的使用:ListView、RecyclerView及Adapter的使用
2、View之间的继承关系
3、Invalidate与postInvalidate的区别
4、自定义View的实现方式(根据项目经验询问相关组件)。
5、onMeasure/onLayout/onDraw的作用
6、Paint、Matrix、Shader等绘制相关类的方法作用
7、详细描述事件分发机制
2.5动画
1、Android有哪些动画的实现方式
2、Interpolator类的意义和常用的Interpolator
3、ViewAnimation与属性动画有什么区别
4、如何自定义ViewAnimation
5、属性动画的实现原理
2.6图片处理
1、一般项目中如何加载大图
2、图片压缩的方式
3、如何不压缩图片加载高清图
4、图片加载过程中,一般会使用缓存,这个缓存的主要作用是什么
5、谈谈自己熟悉的图片加载框架
三、项目经验
3.1开发工具
1、代码管理工具:SVN、Git
2、常用的调试工具:HierarchyViewer、DDMS等
3、CI工具:Lint检查,FindBugs、Jenkins
4、内存分析工具:dumpsys、memoinfo、MAT
3.2项目工程
1、APP更新策略:推送或者拉取?
2、如何统一处理错误崩溃
3、如何进行用户行为收集
4、日志管理有哪些要点?(Debug包开放,release包关闭,错误日志反馈)
5、打包方式Ant、Maven、Gradle
6、机型适配情况
3.3开放平台
1、是否使用过第三方平台
2、常用开放平台的熟悉度(微信、QQ、微博、支付宝等常用的支付和分享)
3、是否进行过对第三方平台的统一封装?
4、是否自己开发过SDK?
3.4设计相关
1、有哪些常用的设计模式、设计原则
2、设计模式在Android源码中的应用
3、设计模式在项目中的应用
4、项目中的分包方式
5、MVC在android中的应用,利弊
6、android项目中的常见层次结构,包划分
7、有没有设计过项目中的层级结构、包划分
最好要说的一点是,面试的时候千万不要照搬的要结合你自己知识点掌握的情况而定的,只要你会,用自己语言总结一下才是最好的答案,希望大家能找到理想中的工作。
要了解更多关于Android开发方面内容的小伙伴,请关注扣丁学堂Android培训官网、微信等平台,扣丁学堂IT职业在线学习教育平台为您提供权威的Android开发环境搭建视频,Android培训后的前景无限,行业薪资和未来的发展会越来越好的,通过千锋扣丁学堂金牌讲师在线录制的Android开发教程,让你快速掌握Android从入门到精通开发实战技能。
【关注微信公众号获取更多学习资料】