最全Android面试题大集合(Android、Java、计算机基础、设计模式)持续更新

写在前边

最近在准备面试,费了很大劲收集整理了面试题,包括Android基础、Android高级、Java、计算机基础、设计模式、以及一些常见的问题。所有题目来源于网络,包含了掘金,简书以及其他平台的文章。面经等等。有大厂也有小公司,有基础也有高级,文章最后附上了链接,希望能帮到有需要的人,做好充足的准备,找到满意的工作。


Android

  • 基础:

    • 1.四大组件及生命周期;

    • 2.安卓子线程是否能更新UI,如果能请说明具体细节。

    • 3.什么是ANR?ANR产生的原因和解决步骤 ?ANR 具体产生的类型有哪些,具体说下其产生的最大超时时间。 如何避免它?

    • 4.activty和Fragmengt之间怎么通信,Fragmengt和Fragmengt怎么通信

    • 5.广播注册一般有几种,各有什么优缺点

    • 6.服务启动一般有几种,服务和activty之间怎么通信,服务和服务之间怎么通信

    • 7.数据库的知识,包括本地数据库优化点。

    • 8.如何针对具体的SQL做优化;mysql的存储引擎有哪些,区别;

    • 9.请描述安卓四大组建之间的关系,并说下安卓MVC的设计模式。

    • 10.ContentProvider的权限管理(读写分离,权限控制-精确到表级,URL控制);

    • 11.Activity的四种启动模式对比;Activity状态保存于恢复;

    • 12.什么是AIDL 以及如何使用;

    • 13.请解释下在单线程模型中Message、Handler、Message Queue、Looper之间的关系;

    • 14.Fragment生命周期;Fragment状态保存;

    • 15.startActivityForResult是哪个类的方法,在什么情况下使用,如果在Adapter中使用应该如何解耦;

    • 16.AsyncTask原理及不足(AsyncTask 如何使用;);

    • 17.IntentService原理;

    • 18.Activity 怎么和Service 绑定,怎么在Activity 中启动自己对应的Service;

    • 20.请描述一下Service 的生命周期;

    • 21.如何通过广播拦截和abort一条短信;

    • 22.广播是否可以请求网络?广播引起anr的时间限制;

    • 23.事件分发中的onTouch 和onTouchEvent 有什么区别,又该如何使用?

    • 24.说说ContentProvider、ContentResolver、ContentObserver 之间的关系;

    • 25.请介绍下ContentProvider 是如何实现数据共享的;

    • 26.Handler机制及底层实现;

    • 27.Binder机制及底层实现;

    • 28.在manifest 和代码中如何注册和使用BroadcastReceiver;

    • 29.说说Activity、Intent、Service 是什么关系;

    • 30.ApplicationContext和ActivityContext的区别;

    • 31.Serializable 和Parcelable 的区别;

    • 32.请描述一下BroadcastReceiver;

    • 33.OOM的避免异常及解决方法;

    • 34.两个Activity 之间跳转时必然会执行的是哪几个方法?

    • 35.理解Activity,View,Window三者关系

    • 36.四种LaunchMode及其使用场景

    • 37.recycleView与listView的区别

    • 38.什么情况下,Activity的onNewInstent()方法会执行?Activity的启动模式相关。

    • 39.Fragment能否不依赖于Activity存在?简析一下Fragment的栈管理。

    • 40.View的post(Runnable r)方法里,r会带来一个新的线程吗?多线程相关。

    • 41.在非UI线程中使用Handler需要注意哪些问题?

    • 42.Android ListView优化之局部刷新(更新)(非notifyDataSetChanged)

    • 43.EventBus的机制是什么?和Handler的区别怎样?

    • 44.Broadcast Receiver在什么情况下能用得到?

    • 45.请简述一下你对fragment的理解?

    • 46.请简述一下Fragment的生命周期?

    • 47.说说你知道的Android5.0和Android6.0的新功能?

    • 48.RecyclerView 和 ListView 使用对比分析

    • 49.Android的APK瘦身方法你了解多少?

    • 50.android项目目录中res目录和assets目录的区别?

    • 51.你用过Gradle吗?

    • 52.Activity的四种状态是什么,分别对应的Activity的生命周期是什么?

    • 53.请说说你是怎么优化ListView的?

    • 54.android中进程的优先级?

    • 55.Serializable和Parcelable

    • 56.Context相关

    • 57.Jar和Aar的区别

    • 58.什么是三级缓存

    • 59.Android为每个应用程序分配的内存大小是多少

    • 60.更新UI方式

    • 61.Activity启动过程详解

    • 62.SurfaceView和View的最本质的区别


  • 高级

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

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

    • 3.多线程和安全问题(安卓解决线程并发问题)

    • 4.多线程多点下载的过程

    • 5.怎么让自己的进程不被第三方应用杀掉,系统杀掉之后怎么能启动起来。

    • 6.自定义view效率高于xml定义吗?说明理由。

    • 7.activty的加载过程 请详细介绍下(不是生命周

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值