分析Android未来几年的发展前景,建议收藏

# 面试刷题 刷题我从常见Android基础知识面试题,刷到了Java面试题,继而攻坚Android高级面试题,以及突破学习Flutter相关热点技术面试题(不是很难),最后总攻今年大厂面试真题总结。 ## Android基础知识 **一、 Activity** 1、 什么是Activity? 2、 请描述一下Activity 生命周期 3、 常见的Activity类型有FragmentActivitiy,ListActivity,TabAcitivty等。请描述一下Activity 生命周期 4、 如何保存Activity的状态? 5、 两个Activity之间跳转时必然会执行的是哪几个方法? 6、 横竖屏切换时Activity的生命周期 7、 如何将一个Activity设置成窗口的样式 8、 如何退出Activity?如何安全退出已调用多个Activity的Application? 9、 Activity的四种启动模式,singletop和singletask区别是什么?一般书签的使用模式是singletop,那为什么不使用singletask? 10、 Android中的Context, Activity,Appliction有什么区别? 11、 两个Activity之间传递数据,除了intent,广播接收者,content provider还有啥? 12、 Context是什么? **二、 Service** 1、 Service是否在main thread中执行, service里面是否能执行耗时的操作? 2、 Activity怎么和Service绑定,怎么在Activity中启动自己对应的Service? 3、 请描述一下Service的生命周期 4、 什么是IntentService?有何优点? 5、 说说Activity、Intent、Service是什么关系 6、 Service和Activity在同一个线程吗 7、 Service里面可以弹吐司么 8、 什么是Service以及描述下它的生命周期。Service有哪些启动方法,有什么区别,怎样停用Service? 9、 在service的生命周期方法onstartConmand()可不可以执行网络操作?如何在service中执行网络操作? **三、 Broadcast Receiver** 1、 请描述一下BroadcastReceiver 2、 在manifest和代码中如何注册和使用BroadcastReceiver 3、 BroadCastReceiver的生命周期 **四、 ContentProvider** 1、 请介绍下ContentProvider是如何实现数据共享的 2、 请介绍下Android的数据存储方式 3、 为什么要用ContentProvider?它和sql的实现上有什么差别? 4、 说说ContentProvider、ContentResolver、ContentObserver之间的关系 **五、 ListView** 1、 ListView如何提高其效率? 2、 当ListView数据集改变后,如何更新ListView 3、 ListView如何实现分页加载 4、 ListView可以显示多种类型的条目吗 5、 ListView如何定位到指定位置 6、 如何在ScrollView中如何嵌入ListView 7、 ListView中如何优化图片 8、 ListView中图片错位的问题是如何产生的 9、 如何刷新ListView中单个item的数据,不刷新整个ListView的数据? **六、 Intent** 1、 Intent传递数据时,可以传递哪些类型数据? 2、 Serializable和Parcelable的区别 3、 请描述一下Intent 和 IntentFilter **七、 Fragment** 1、 Fragment跟Activity之间是如何传值的 2、 描述一下Fragment的生命周期 3、 Fragment的replace和add方法的区别 4、 Fragment如何实现类似Activity栈的压栈和出栈效果的? 5、 Fragment在你们项目中的使用 6、 如何切换fragement,不重新实例化 ## Java面试题 **一、 Java基础** 1、 Java中引用类型都有哪些 2、 什么是重载,什么是重写,有什么区别? ) 3、 String、StringBuffer和StringBuilder的区别 4、 关键字final和static是怎么使用的 5、 TCP/IP协议簇分哪几层?TCP、IP、XMPP、HTTP、分别属于哪一层? **二、 Java中的设计模式** 1、 你所知道的设计模式有哪些 2、 单例设计模式 3、 工厂设计模式 4、 建造者模式(Builder) 5、 适配器设计模式 6、 装饰模式(Decorator) 7、 策略模式(strategy) 8、 观察者模式(Observer) **Android 高级** **一、 Android性能优化** 1、 如何对Android应用进行性能分析 2、 什么情况下会导致内存泄露 3、 如何避免OOM异常 4、 Android中如何捕获未捕获的异常 5、 ANR是什么?怎样避免和解决ANR(重要) 6、 Android线程间通信有哪几种方式(重要) 7、 Devik进程,linux进程,线程的区别 8、 描述一下android的系统架构? 9、 android应用对内存是如何限制的?我们应该如何合理使用内存? 10、 简述android应用程序结构是哪些? 11、 请解释下Android程序运行时权限与文件系统权限的区别? 12、 Framework工作方式及原理,Activity是如何生成一个view的,机制是什么? 13、 多线程间通信和多进程之间通信有什么不同,分别怎么实现? **二、 Android屏幕适配** 1、 屏幕适配方式都有哪些 2、 屏幕适配的处理技巧都有哪些 **三、 AIDL** 1、 什么是AIDL以及如何使用 2、 AIDL的全称是什么?如何工作?能处理哪些类型的数据? **四、 Android中的事件处理** 1、 Handler机制 2、 事件分发机制 3、 子线程发消息到主线程进行更新UI,除了handler和AsyncTask,还有什么? 4、 子线程中能不能new handler?为什么? **五、 Android中的动画** 1、 Android中的动画有哪几类,它们的特点和区别是什么 2、 如何修改Activity进入和退出动画 3、 属性动画,例如一个button从A移动到B点,B点还是可以响应点击事件,这个原理是什么? **六、 ContentObserver 内容观察者作用及特点** **项目框架的使用** 一、 自我介绍 二、 开发中都使用过哪些框架、平台 三、 都使用过哪些自定义控件 四、 自定义控件:绘制圆环的实现过程 五、 自定义控件:摩天轮的实现过程 六、 自定义控件:可拖拽排序的GridLayout的实现过程 七、 流式布局的实现过程 八、 项目的流程 九、 项目中常见的问题 十、 即时通讯是是怎么做的? 十一、 设计模式六大原则 十二、 第三方登陆 十三、 第三方支付 十四、 常见框架分析 # 学习分享,共勉 **Android高级架构师进阶之路** 题外话,我在阿里工作多年,深知技术改革和创新的方向,Android开发以其美观、快速、高效、开放等优势迅速俘获人心,但很多Android兴趣爱好者所需的进阶学习资料确实不太系统,完整。今天我把我搜集和整理的这份学习资料分享给有需要的人,若有关Android学习进阶可以与我在Android终极开发交流群一起讨论交流。?**[点击这里前往我的Git领取资料](https://github.com/a120464/Android-P7/blob/master/Android%E5%BC%80%E5%8F%91%E4%B8%8D%E4%BC%9A%E8%BF%99%E4%BA%9B%EF%BC%9F%E5%A6%82%E4%BD%95%E9%9D%A2%E8%AF%95%E6%8B%BF%E9%AB%98%E8%96%AA%EF%BC%81.md)** 的同时,还可以加入一个好的学习交流圈,何乐而不为呢?加入我们和我们一起吧!! * **Android进阶知识体系学习脑图** ![](http://www.icode9.com/i/li/?n=2&i=images/20210705/1625445995801675.jpg) * **Android进阶高级工程师学习全套手册** ![](http://www.icode9.com/i/li/?n=2&i=images/20210705/1625445996577056.jpg) * **对标Android阿里P7,年薪50w+学习视频** ![](http://www.icode9.com/i/li/?n=2&i=images/20210705/1625445996388381.jpg) * **大厂内部Android高频面试题,以及面试经历** ![](http://www.icode9.com/i/li/?n=2&i=images/20210705/1625445996331277.jpg)
上一篇:ListView的HeaderView包含的GridView滑动隐藏后无法点击问题分析


下一篇:仿QQ对话列表滑动删除与置顶的原理及实现