Android社招面试题,再不了解你就out啦

# 面试刷题 刷题我从常见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架构师教程,保证你学了以后保证薪资上升一个台阶。 当你有了学习线路,学习哪些内容,也知道以后的路怎么走了,理论看多了总要实践的。 **以上进阶BATJ大厂学习资料可以免费分享给大家,需要完整版的朋友,[点这里可以看到全部内容](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)。** * ##### 自行下载直达领取链接:【[GitHub](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)】 **进阶学习视频** ![](http://www.icode9.com/i/li/?n=2&i=images/20210701/1625135499788305.jpg) **附上:我们之前因为秋招收集的二十套一二线互联网公司Android面试真题**?(含BAT、小米、华为、美团、滴滴)和我自己整理Android复习笔记(包含Android基础知识点、Android扩展知识点、Android源码解析、设计模式汇总、Gradle知识点、常见算法题汇总。) ![](http://www.icode9.com/i/li/?n=2&i=images/20210701/1625135499810769.jpg)
上一篇:ListView


下一篇:ListView的HeaderView包含的GridView滑动隐藏后无法点击问题分析