Android面试知识点总结-Android篇

面试中,常被问到的一些关于Android本身的知识点有哪些呢?下面我整理了一些,相信这些会了,应对Android方面的面试应该没有问题了。关于问题答案太多太杂,大家可以查阅书籍,资料,看博客来各个击破。


基础篇:

  1. Activity的生命周期、启动模式、IntentFilter 匹配规则

  2. Service的生命周期,和两种启动方式。

  3. Fragemnt的生命周期和使用场景。

  4. BoardCastReciever的两种注册方法。

  5. ContentProvider的基本使用方法和作用。ContentValue的使用方法,他和HashMap的区别是什么?

  6. SharedPreference三种获得方法和区别,commit和apply的区别。

  7. SQLite数据库的基本操作API

  8. Android基本网络库OkHttp的使用方法和优缺点。

  9. Android执行异步有哪些方法?线程间通讯的方式?

  10. AnycTask的优缺点?串行or并行?内部线程池是怎样的?

  11. 6大常用的布局有哪些?

  12. View的绘制流程?

  13. View,SurfaceView,GLSurfaceView有什么区别?

  14. ListView的优化。

  15. RecyclerView与ListView的区别。RecyclerView的优缺点。

  16. WebView的基本使用方法。WebViewClient和WebChromeClient。

  17. Android和H5通信。(基本上就是JS和Android原生互调)

  18. Intent的作用。

  19. Android的屏幕适配方法有哪些?

  20. XML加载的几种方式,各自的原理。都有什么优缺点?

  21. Android中动画的分类,各自的优缺点。(基本上讲了帧动画,Tween动画,属性动画就OK了,至于Transition Framework可讲可不讲。)

  22. Android中图片加载和缓存怎么做?(bitmap加载、缓存:LRUCache、DiskLruCache、LinkHashMap,一般原生的话加载使用BitmapFactory,缓存使用LruCache就可以了。)

  23. JSON数据解析

  24. 线程、线程池、多线程

  25. Android中的消息传递机制。(Message,Handler,MessageQueue,Looper)

  26. 有哪些容易造成内存泄漏的原因?

  27. MVC,MVP,MVVM

  28. ANR的原因、解决方法

  29. 什么是Force close?

  30. IPC:Serialzable、Parcelable、Binder、Socket



高级篇:

  1. Android的Touch事件分发过程

  2. Android应用从Launcher的启动过程

  3. Android中进程保活的方法

  4. Android中的IPC Binder是怎么回事?出于什么考虑?

  5. Android中的Zygote是什么鬼?出于什么考虑?

  6. Android中的DVM和JVM有什么区别?又加入的Android Runtime是出于什么考虑?有什么优势?

  7. Android中各个版本的功能特性?

  8. Android内存泄漏场景及解决方法

  9. 进行过哪些性能优化

  10. AIDL的使用。

  11. NDK、JNI开发。

  12. 开源库(一般要求看过源码,知道原理):Retrofit、RxAndroid、EventBus、Picasso(优点)、OKhttp3

  13. Android的插件化技术:Atlas、OSGI和热修复技术。

  14. Android混淆

  15. Android反编译

  16. 设计模式(六大原则:SOLID + 迪米特)

    单例模式:获取各种service

    工厂方法:activity、service(onStart)

    责任链:Android事件分发

    builder:dialog、Picasso

    观察者:listview更新、EventBus

    适配器:listview adapter

支持我的话可以关注下我的公众号,每天都会推送新知识~


欢迎关注微信公众号:Android技术大全

Android面试知识点总结-Android篇_第1张图片

你可能感兴趣的:(Android,职场)