Android面试中最常见的174个问题 (附详细答案),拿走不谢

Posted bug樱樱

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Android面试中最常见的174个问题 (附详细答案),拿走不谢相关的知识,希望对你有一定的参考价值。

从事 android 开发行业的人都知道,这一行可谓入门难、进阶更不容易。Android 相关的知识体系是非常庞大的,要想学好除了背题,还要积累项目、阅读源码,这些相关的资料我们光收集起来都很费劲,更遑论学习。平时工作压力大加班多,我们更是很难抽出系统的时间去复习。

但想要升职涨薪,知识的储备与技术的提升必不可少。要知道,技术面试考察的可是硬实力,面试官都是拥有多年开发经验的大佬,不是会扯皮就能过的。但没时间、没精力怎么办呢?

唯一的办法就是精简!网络上 Android 面试题很多,动辄几千页、几十万字,刚加完班谁害有心情看下去呢?这里我结合2022年各大厂最新面试题集,整理了一份《Android 面试大厂必考174题》,能够帮助大家在最短的时间里掌握更多的知识点,涵盖所有Android基础和进阶相关的必问题目,让大家真正做到高效学习,需要完整版的朋友,可扫描文末二维码免费领取!!

《Android面试大厂必考174题》

  1. SD卡

  2. android的数据存储方式

  3. BroadcastReceiver

  4. sp频繁操作会有什么后果?sp能存多少数据?

  5. dvm与jvm的区别

  6. ART

  7. Activity的生命周期

  1. Application能不能启动Activity

  2. Activity的状态都有哪些

  3. 横竖屏切换时Activity的生命周期Activity的状态都有哪些

  4. 如何设置activity成窗口样式

  5. Activity的启动方式

  1. Service的生命周期

  2. IntentService

  3. Fragment和Activity的onCreateOptionsMenu

  4. Service的onStartCommand有几种返回值

  5. Service的onRebind什么情况下执行

  6. Handler防止内存泄露

  7. IntentFilter的匹配法则

  8. Fragment与Activity传值

  9. Fragment 生命周期

  1. Fragment的add和replace的区别 //replace==remove|append

  2. Fragment如何实现Activity栈的压栈和出栈

  3. 什么情况下造成内存泄露

  4. 图片过大导致OOM

  5. SoftReference跟WeakRefrence的区别

  6. dp与px

  7. 设置布局为一半宽、高

  8. 多分辨率支持的清单文件配置

  9. Android的事件分发机制

  1. ArrayList和LinkedList的区别

  2. LruCache

  3. 什么是ANR,如何规避

  4. 描述Service的启动方式

  5. Android有哪几种布局

  1. HashMap、HashTable的区别 //从线程安全性、速度

  2. 红黑树

  3. Handler Looper 工作原理

  4. Listview的几种adapter介绍

  5. 如何在ListView间添加分割线

  6. LinkedHashMap 源码解读

  7. Drawable转Bitmap

  8. Layout_weight

  9. android:layout_gravity和android:gravity的区别

  10. 如何重用布局

  11. 使用merge减少include布局所造成的布局层次

  12. 如何优化布局

  1. android:layout_gravity的使用规则

  2. TextView显示图像

  3. SpannableString的使用

  4. AutoCompleteTextView的使用

  5. 在按钮上显示图像的方式有哪些

  6. 如何动态改变Button的大小和位置

  7. 如何让一个显示图像的按钮在不同状态下显示不同图像

  8. 如何实现图像的半透明度

  9. HttpURLConnection

  10. ProgressBar

  11. AbsListView

  12. ListView,如何进行数据的增删改查

  13. ListView中如何显示数据库中的数据

  14. android TypedArray

  15. 如何动态加载apk文件(未安装)的类

  16. Android ContentProvider

  17. 如何设置Activity为程序启动的默认Activity

  18. 启动Activity的几种方式

  1. Activity传递数据的方式

  2. 如何将Activity设置成半透明的模态框

  3. 如何接收广播

  4. 如何获取短信内容

  5. 如何拦截手机屏幕休眠和唤醒

  6. 如何发送广播

  7. AIDL与Service

  8. 如何读取联系人信息

  1. 请描述Content Provider的uri由哪几部分组成

  2. 介绍开发ContentProvider的步骤

  3. 如何为ContentProvider添加访问权限

  4. AlertDialog

  5. 如何自己控制对话框的关闭时机

  6. 如何改变对话框的透明度

  7. 如何自己控制Toast的显示和关闭

  8. 如何使用Notification

  1. PendingIntent使用 //跨进程intent

  2. 点击Notification触发Activity跳转

  3. 如何自定义Notification的view

  4. 然后为一个Activity添加选项菜单

  5. 如何将上下文菜单绑定至可视组件View

  6. 在单击菜单时,如何能跳转进别的Activity

  7. 菜单的回调函数有哪些

  1. 如何使用SharedPreferences存取数据

  2. SharedPreferences //构造函数(string name,int mode)

  3. Android如何解析xml文件

  4. gson

  5. 如何将table1表的数据和结构复制到table2上

  6. SQLite

  7. SQLiteOpenHelper.getReadableDatabase和SQLiteOpenHelper.getWritableDatabase将数据库文件放哪了

  8. 然后将带数据的SQLite同apk一起发布

  9. Socket连接成功后,怎么获取服务器的ip和域名

  10. BufferedInputStream mark //只有BufferedInputStream实现了mark方法

  11. 如何打开手机中的蓝牙功能

  1. 如何获取已绑定的蓝牙设备

  2. 搜索蓝牙的过程中经过哪些状态

  3. 隐式Intent

  4. 如何采用广播监听去电和来电

  5. Android支持的电话状态

  6. Android如何控制接听和挂断电话

  7. 请给出访问通话记录的Content Provider URI

  8. 发送短信 //需要动态请求权限:android.permission.SEND_SMS

  9. ContactsContract

  10. VideoView 播放视频

  1. 在工程路径下的res/drawable存放tree.png,如果将图片显示在View上

  2. 调用Drawable进行绘图

  3. 如何设置图像透明度

  4. 如何旋转View

  5. Activity 切换

  6. Android

  1. 动画

  2. 属性动画 Animator

  3. 定义字符串数组资源

  4. 图层layer资源

  5. Clip图像资源

  6. ShapeDrawable

  7. 如何统一设置多个View的android:textSize和android:textColor

  8. 属性动画 Animator123布局文件中的”@“、”+”、”?”含义

  9. Android获取屏幕高度和宽度的办法

  10. AsyncTask

  11. Intent可传递的数据类型

  12. AlarmManager //闹钟

  13. HandlerThread

  14. 自定义ViewGroup

  1. JVM的GC算法

  2. OkHttp

  3. ButterKnife //源码阅读

  4. Dalvik内存模型

  5. ART垃圾回收

  6. JVM 可达性分析中哪些对象可以作为根节点

  7. HashSet

  8. SSL中的对称加密和非对称加密

  9. Handler的内存泄露问题

  1. Android volatile关键字

  2. EventBus 源码阅读 //反射Class通常采用通配符 =>Class<?>或者Class<? extends T>

  3. String a=“ abc”;String b=“ abc”; 创建了几个对象 //栈存放引用变量 堆存在new出来的对象,并且堆划分出一部分作为常量池

  4. java的单例创建

  5. Android进程优先级

  6. ThreadLocal 源码

  7. 自定义View对象

  1. Android @Override //重写

  2. Android Semaphore机制

  3. Android Lock同步

  4. ThreadPoolExecutor 线程池

  5. Android下载图片通过bitmap设置ImageView

  6. ImageView

  7. onSaveInstanceState //保存app数据,当系统因内存不足时而销毁app,会得到调用

  8. ViewPager&PagerAdapter&TabFragmentPagerAdapter

  9. Fragment在横竖屏切换时的数据保存

  10. DialogFragment //采用子类继承的方式进行使用,相比AlertDialog由FragmentManager负责自动重建

  11. SQLiteDatabase

  12. IntentFilter的匹配规则

  13. Android多进程

  1. Android Scroller

  2. Sqlite 连接操作

  3. Spinner

  4. RelativeLayout 源代码

  5. Message //static Message sPool,指向队列前头的可用Message对象

  6. ArrayDeque 源代码阅读

  7. RecyclerView

  8. LinearLayoutManager //RecyclerView的布局管理器

  9. GridLayoutManager

  10. RecyclerView 使用

  11. Binder

  1. ActivityThread //Android应用的主线程

  2. CountDownLatch 线程同步

  3. retrofit

  4. ClassLoader 类加载器

  5. RxJava

由于文章内容比较多,篇幅有限,资料已经被整理成了PDF文档,有需要《Android面试大厂必考174题》完整文档的可扫描文末二维码免费领取!!

以上是关于Android面试中最常见的174个问题 (附详细答案),拿走不谢的主要内容,如果未能解决你的问题,请参考以下文章

2022年最新的Android面试大厂必考174题(附带详细答案)

Carson带你Android面试:Android语言篇 (附答案)

Carson带你Android面试:Android语言篇 (附答案)

Carson带你Android面试:Android语言篇 (附答案)

数字IC前端常见笔/面试问题VerilogSystemVerilogUVM篇(附详细解答)

面试超常见的几个问题,你真的会回答吗?(内附详细回答思路)