Android面试174道题,帮你牢固基础,一战通关
Posted datian1234
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Android面试174道题,帮你牢固基础,一战通关相关的知识,希望对你有一定的参考价值。
本文是专为想要进阶跳槽的 android 开发工程师准备的面试真题汇总题库,涵盖历年大厂高频面试题总结+核心考点深度解析,每题都是经典。
希望能够节省大家在网上搜索资料的时间,帮助大家梳理知识点,并针对面试中可能遇到的问题进行深入分析,在众多面试者中脱颖而出!!!
本人收集近两年各博客、论坛、和程序员网站上的优质Android开发知识点,并结合春招和秋招中各大厂的面试真题,整理了一版《Android中高级面试题集》。
总共只有174题,不会像一些几千页的面试题合集那样冗长难背,所以各位求职者们抓紧收藏起来吧!
Android面试174题
-
SD卡
-
android的数据存储方式
-
BroadcastReceiver
-
sp频繁操作会有什么后果?sp能存多少数据?
-
dvm与jvm的区别
-
ART
-
Activity的生命周期
-
Application能不能启动Activity
-
Activity的状态都有哪些
-
横竖屏切换时Activity的生命周期Activity的状态都有哪些
-
如何设置activity成窗口样式
-
Activity的启动方式
-
Service的生命周期
-
IntentService
-
Fragment和Activity的onCreateOptionsMenu
-
Service的onStartCommand有几种返回值
-
Service的onRebind什么情况下执行
-
Handler防止内存泄露
-
IntentFilter的匹配法则
-
Fragment与Activity传值
-
Fragment 生命周期
-
Fragment的add和replace的区别 //replace==remove|append
-
Fragment如何实现Activity栈的压栈和出栈
-
什么情况下造成内存泄露
-
图片过大导致OOM
-
SoftReference跟WeakRefrence的区别
-
dp与px
-
设置布局为一半宽、高
-
多分辨率支持的清单文件配置
-
Android的事件分发机制
-
ArrayList和LinkedList的区别
-
LruCache
-
什么是ANR,如何规避
-
描述Service的启动方式
-
Android有哪几种布局
-
HashMap、HashTable的区别 //从线程安全性、速度
-
红黑树
-
Handler Looper 工作原理
-
Listview的几种adapter介绍
-
如何在ListView间添加分割线
-
LinkedHashMap 源码解读
-
Drawable转Bitmap
-
Layout_weight
-
android:layout_gravity和android:gravity的区别
-
如何重用布局
-
使用merge减少include布局所造成的布局层次
-
如何优化布局
-
android:layout_gravity的使用规则
-
TextView显示图像
-
SpannableString的使用
-
AutoCompleteTextView的使用
-
在按钮上显示图像的方式有哪些
-
如何动态改变Button的大小和位置
-
如何让一个显示图像的按钮在不同状态下显示不同图像
-
如何实现图像的半透明度
-
HttpURLConnection
-
ProgressBar
-
AbsListView
-
ListView,如何进行数据的增删改查
-
ListView中如何显示数据库中的数据
-
android TypedArray
-
如何动态加载apk文件(未安装)的类
-
Android ContentProvider
-
如何设置Activity为程序启动的默认Activity
-
启动Activity的几种方式
-
Activity传递数据的方式
-
如何将Activity设置成半透明的模态框
-
**如何接收广播 **
-
如何获取短信内容
-
如何拦截手机屏幕休眠和唤醒
-
如何发送广播
-
AIDL与Service
-
如何读取联系人信息
-
请描述Content Provider的uri由哪几部分组成
-
介绍开发ContentProvider的步骤
-
如何为ContentProvider添加访问权限
-
AlertDialog
-
如何自己控制对话框的关闭时机
-
如何改变对话框的透明度
-
如何自己控制Toast的显示和关闭
-
如何使用Notification
-
PendingIntent使用 //跨进程intent
-
点击Notification触发Activity跳转
-
如何自定义Notification的view
-
然后为一个Activity添加选项菜单
-
如何将上下文菜单绑定至可视组件View
-
在单击菜单时,如何能跳转进别的Activity
-
菜单的回调函数有哪些
-
如何使用SharedPreferences存取数据
-
SharedPreferences //构造函数(string name,int mode)
-
Android如何解析xml文件
-
gson
-
如何将table1表的数据和结构复制到table2上
-
SQLite
-
SQLiteOpenHelper.getReadableDatabase和SQLiteOpenHelper.getWritableDatabase将数据库文件放哪了
-
然后将带数据的SQLite同apk一起发布
-
Socket连接成功后,怎么获取服务器的ip和域名
-
BufferedInputStream mark //只有BufferedInputStream实现了mark方法
-
如何打开手机中的蓝牙功能
-
如何获取已绑定的蓝牙设备
-
搜索蓝牙的过程中经过哪些状态
-
隐式Intent
-
如何采用广播监听去电和来电
-
Android支持的电话状态
-
Android如何控制接听和挂断电话
-
请给出访问通话记录的Content Provider URI
-
发送短信 //需要动态请求权限:android.permission.SEND_SMS
-
ContactsContract
-
VideoView 播放视频
-
在工程路径下的res/drawable存放tree.png,如果将图片显示在View上
-
调用Drawable进行绘图
-
如何设置图像透明度
-
如何旋转View
-
Activity 切换
-
Android
-
动画
-
属性动画 Animator
-
定义字符串数组资源
-
图层layer资源
-
Clip图像资源
-
ShapeDrawable
-
如何统一设置多个View的android:textSize和android:textColor
-
属性动画 Animator123布局文件中的”@“、”+”、”?”含义
-
Android获取屏幕高度和宽度的办法
-
AsyncTask
-
Intent可传递的数据类型
-
AlarmManager //闹钟
-
HandlerThread
-
自定义ViewGroup
-
JVM的GC算法
-
OkHttp
-
ButterKnife //源码阅读
-
Dalvik内存模型
-
ART垃圾回收
-
JVM 可达性分析中哪些对象可以作为根节点
-
HashSet
-
SSL中的对称加密和非对称加密
-
Handler的内存泄露问题
-
Android volatile关键字
-
EventBus 源码阅读 //反射Class通常采用通配符 =>Class<?>或者Class<? extends T>
-
String a=“ abc”;String b=“ abc”; 创建了几个对象 //栈存放引用变量 堆存在new出来的对象,并且堆划分出一部分作为常量池
-
java的单例创建
-
Android进程优先级
-
ThreadLocal 源码
-
自定义View对象
-
Android @Override //重写
-
Android Semaphore机制
-
Android Lock同步
-
ThreadPoolExecutor 线程池
-
Android下载图片通过bitmap设置ImageView
-
ImageView
-
onSaveInstanceState //保存app数据,当系统因内存不足时而销毁app,会得到调用
-
ViewPager&PagerAdapter&TabFragmentPagerAdapter
-
Fragment在横竖屏切换时的数据保存
-
DialogFragment //采用子类继承的方式进行使用,相比AlertDialog由FragmentManager负责自动重建
-
SQLiteDatabase
-
IntentFilter的匹配规则
-
Android多进程
-
Android Scroller
-
Sqlite 连接操作
-
Spinner
-
RelativeLayout 源代码
-
Message //static Message sPool,指向队列前头的可用Message对象
-
ArrayDeque 源代码阅读
-
RecyclerView
-
LinearLayoutManager //RecyclerView的布局管理器
-
GridLayoutManager
-
RecyclerView 使用
-
Binder
-
ActivityThread //Android应用的主线程
-
CountDownLatch 线程同步
-
retrofit
-
ClassLoader 类加载器
-
RxJava
解析
由于篇幅原因,解析部分暂未放入本文之中,有需要者可点击文末卡片查看获取方式~
以上是关于Android面试174道题,帮你牢固基础,一战通关的主要内容,如果未能解决你的问题,请参考以下文章
前端基础需要学什么?这篇文章帮你梳理清楚,另附有前端面试551道题
118道 Android 经典基础面试题整理,你能否全部答上?
2022年最新的Android面试大厂必考174题(附带详细答案)