android面试题

Android面试常见问题列表。
Java基础
简述题(一)
&和&&的区别。
Get和Post的区别
http response code
udp连接和TCP的不同之处
java中的soft reference是个什么东西
抽象类和接口的区别
谈一下对java中的abstract的理解
Overload和Override的区别
Static Nested Class 和 Inner Class的不同
内部类机制
简述题(二)
怎么用接口来连接两个层的
接口是否可继承接口? 抽象类是否可实现(implements)接口? 抽象类是否可继承实体类(concreteclass)?
private和default有什么区别
java里的常量是怎么定义的
类前边加+final的用处?
finally final finalize的作用?
java中final定义的类有什么特点
try{ return} catch{} finally{}; return还是finally先执行。
数组有没有length()这个方法? String有没有length()这个方法?
是否可以继承String类?
swtich是否能作用在byte上,是否能作用在long上,是否能作用在String上?
常量final string str=“ab”可不可以变成”abd”,为什么?
StringBuffer的作用?
String s=new String(“abc”); new了几个对象
简述题(三)
启动一个线程是用run()还是start()?
多线程有几种实现方法,都是什么?同步有几种实现方法,都是什么?
同步和异步的区别?
sleep和wait有什么区别? 一个是用来让线程休息,一个是用来挂起线程
abstract的method是否可同时是static,是否可同时是native,是否可同时是synchronized?
当一个线程进入一个对象的一个synchronized方法后,其它线程是否可进入此对象的其它方法?
简述题(四)


Error与Exception的区别
Java中的异常处理机制的简单原理和应用。
Java内存回收机制,GC 垃圾回收机制,垃圾回收的优点和原理。并考虑2种回收机制。
对象Object读写的是哪两个流
反射,求字段的值和方法名
Socket编程的步骤
什么是Java序列化
简述题(五)
常见集合及区别
ArrayList和Vector区别,HashMap和HashTable区别
ArrayList和LinkedList的区别
List, Set, Map是否继承自Collection接口?
hashCode方法的作用
Set里的元素是不能重复的,那么用什么方法来区分重复与否呢? 是用==还是equals()? 它们有何区别?
当x.equals(y)等于true时,x.hashCode()与y.hashCode()可以不相等,这句话对不对?
JSON,fastjson和GSON的区别
XML,解析XML的几种方式的原理与特点:DOM、SAX、PULL
MD5加密原理,可否解密。
heap和stack有什么区别。
用最有效率的方法算出2乘以8等于几? (2<< 3)
java集合类框架
Android面试——Java相关
Android基础
Activity
生命周期及横竖屏切换时生命周期
启动模式
内存不足时,怎么保持Activity的一些状态,在哪个方法里面做具体操作?
介绍Activity、Service、Broadcast、BroadcastReceiver、Intent、IntentFilter
怎么在启动一个activity时就启动一个service
同一个程序不同的Activity如何放在不同的任务栈中?
如何将一个Activity设置成窗口的样式
如何退出Activity?如何安全退出已调用多个Activity的Application?
Activity中如何动态的添加Fragment?
activity的启动过程 参考
不用Service,B页面为音乐播放,从A跳到B,再返回,如何使音乐继续播放?
windows和activity之间关系?
一个activity打开另外一个activity,再打开一个activity?回去的时候发生了什么操作?
onActivityResult(int requestCode, int resultCode, Intent data)方法的用法;
Fragment
生命周期
Fragment嵌套多个Fragment会出现bug吗?
Broadcast Receiver
注册广播有哪几种方式,有什么区别
Android引入广播机制的用意?
无序广播、有序广播 -1000——1000
同优先级,清单文件中上面先收到
Broadcast、Content Provider 和 AIDL的区别和联系
Android基础——广播接收者BroadcastReceiver
Service
注册Service需要注意什么
什么是Service以及描述下它的生命周期。
Service与Activity怎么实现通信
Service有哪些启动方法,有什么区别,怎样停用Service?
什么是IntentService?有何优点?
Service和Activity在同一个线程吗 main 线程 UI线程
Service里面可以弹土司么
如何启用Service,如何停用Service
什么时候使用Service?
说说Activity、Intent、Service是什么关系
AIDL,两个android应用间的互相调用方法?
AIDL的全称是什么?如何工作?能处理哪些类型的数据
Android基础——Service
Android基础——IntentService
Android开发指导——Service
Android开发指导——绑定Service
Android开发指导——进程间通信AIDL
ContentProvider
自定义一个contentProvider。
请介绍下ContentProvider是如何实现数据共享的
创建一个属于你自己的Content provider或者将你的数据添加到一个已经存在的Content provider中,前提是有相同数据类型并且有写入Content provider的权限。
contentProvider权限;
AsyncTask简介
Asynctask具体用法?
Asynctask的Do in background方法是怎么通知UI线程刷新进度条的?
Asynctask的Do in background方法默认是返回 true ,表示任务完成,如果想返回具体的数据呢,怎么做。如果Activity被销毁了,还会执行到postexcutd方法吗?
Android基础——AsyncTask
ListView
手指快速拖动ListView时,如何处理惯性引起的加载问题;
怎么实现ListView多种布局?
ListView与数据库绑定的实现
怎么实现一个部分更新的 ListView?
ListView卡顿的原因与性能优化,大量数据时,说的越多越好
UI相关
谈谈UI中,Padding和Margin有什么区别?
drawable-hdpi的dpi是什么意思?
请介绍下Android中常用的五种布局
Android中px,sp,dip,dp的区别与联系
怎么处理屏幕适配的
简述题(一)
android开发中怎么去调试debug
请解释下Android程序运行时权限与文件系统的权限的区别
JVM 和Dalvik虚拟机的区别
android dvm的进程和Linux的进程应用程序是否为同一个概念
sim卡的ef文件有何作用。
你如何评价Android系统?优缺点
谈下android系统的架构
根据自己的理解描述下android数字签名
简述题(二)
如何加载音乐信息,如何改善其效率。
Android程序与java程序的区别?
什么是 MVC 模式?MVC 模式的好处是什么?
在Android中MVC的具体体现
简述Android应用程序的组成
简述题(三)
如何让程序自动启动
如何让程序不被系统自动销毁
常见异常,5种运行时异常
运行时异常与一般异常有何异同?
什么情况会导致Force Close?如何避免?是否捕获导致其的异常
什么是 ANR 问题?为什么会引起 ANR 问题?
系统上安装了多种浏览器,能否指定某浏览器访问指定页面?请说明原由
ContentValues相关,key是不是任意类型,value是不是任意类型
URL和URI区别用法
数据存储,数据持久化的方式有哪些
进程优先级
intent-filter属性及其含义;
如何打开res/raw 目录中的数据库文件?
简述题(四)
NotifactionManager使用原理
Asset与raw都能存放资源,他们有什么区别?
postInvalidate与invalidate有什么区别?
notifyDataSetChanged 和notifyDataSetInvalidated的区别
Serializable和Parcelable的区别
子线程中更新UI的方法
Scrollview怎么判断是否滑倒底部
ViewPager 怎么做性能优化
布局如何动态加载
外存储器文件遍历输出文件名
Intent启动Activity有几种方式,请分别简述
AndroidManifest.xml文件中主要包含哪些信息
列举常用的Android开源项目及应用场景
文件和数据库哪个效率高
简述题(五)
常见设计模式,并手动简单实现观察者模式
Handler机制
热修复
简述静默安装的原理,如何在无需Root权限的情况下实现静默安装
什么是65535问题,如何防止或解决65535问题
简述实现Android APK插件化的简单方法
如何实现资源文件的混淆
如何在不引用第三方工具的情况下防止应用二次打包?并对应用进行简单加固
简述控制反转(Inversion of Control)的应用场景
怎么考虑数据传输的安全性
xmpp openfire 基于xmpp openfire smack开发之Android客户端开发
应用常驻后台,避免被第三方杀掉的方法,讲讲你用过的奇淫巧技?
简述实现Android APK插件化的简单方法
JS交互
如何实现点击网站某个链接就自动下载一个程序到手机上并自动安装运行;
java和JS的交互 Android中Java和JavaScript交互
WebView 远程代码执行漏洞浅析 解决方案:WebView中的Java与JavaScript提供【安全可靠】的多样互通方案
Android动画
Android中有哪些类型的动画,用属性动画实现控件的缩放
不使用动画,怎么实现一个动态的 View?
Android中的动画有哪些,区别是什么
自定义View
View,SurfaceView,GLSurfaceView有什么区别
View的绘制
如何自定义ViewGroup?
View刷新机制
android UI中的View如何刷新
事件传递及处理机制
View中onTouch,onTouchEvent,onClick的执行顺序
JNI
JNI怎么使用
简单描述你是如何进行JNI开发的
在哪些情况下java代码中需要调用C代码
性能优化
图片缓存及优化,设计一个图片缓存加载机制
内存优化,布局优化,代码优化
内存溢出OOM是怎么引起的?怎么尽量避免OOM问题的出现?
Android中引起内存泄露的原因
Android面试——APP性能优化
数据库
分页查询数据
如何将SQLite数据库与apk文件一起发布?
左连接与右连接的区别
描述Sqlite数据库(类型、关系);
你的项目中Sqlite数据库中存储的数据用SharePreference来处理也可以,为什么不用SharePreference呢;
网络编程
Rest API
Volley相关 Volley Android Volley完全解析
如何控制TCP连接时的拥塞 TCP的流量控制和拥塞控制
三次握手 TCP协议中的三次握手和四次挥手(图解)
Android客户端和服务端如何使用Token和Session
移动端获取网络数据优化
编程算法题
冒泡排序
求素数
单例模式——写一个Singleton出来
二叉树遍历
最长不重复子串(最长重复子串)
有一个一维整型数组int[]data保存的是一张宽为width,高为height的图片像素值信息。请写一个算法,将该图片所有的白色不透明(xffffffff)像素点的透明度调整为5%。
写一个求递归程序 求54321
请使用java或者C++实现反转单链表
生产者、消费者
死锁(同步嵌套同步且锁不同)
写一个多线程实例代码;
写一个方法,交换两个变量的值?
给最外层的rootview,把这个根视图下的全部button背景设置成红色,手写代码,不许用递归
给一串字符串比如abbbcccd,输出a1b3c3d1,手写代码(注意有个别字符可能会出现十次以上的情况)
一个序列,它的形式是12349678,9是最高峰,经历了一个上升又下降的过程,找出里面的最大值的位置,要求效率尽可能高
二叉查找树的删除操作,手写代码
二分查找,手写代码
有海量条 url,其中不重复的有300万条,现在希望挑选出重复出现次数最高的 url,要求效率尽可能的高
一篇英语文章,去掉字符只留下k个,如何去掉才能使这k个字符字典序最小
弗洛伊德算法和 Dijkstra算法的区别?复杂度是多少?讲讲 Dijkstra算法的具体过程
反转字符串,要求手写代码,优化速度、优化空间
给出两个无向图,找出这2个无向图中相同的环路。手写代码
Java实现单例模式的正确姿势
Android面试——编程算法题
部分答案可参考:CSDN:剑萧舞蝶
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章