Android面试知识点(转)
该文所有问题转自:http://www.cnblogs.com/hpboy/p/3307371.html
一.算法,数据结构
1.排序算法
2.查找算法
3.二叉树
4.广度,深度算法;
二.java基础
1.集合Collection,List,Map等常用方法,特点,关系;
2.线程的同步,中断方式有几种,线程池,线程状态,常用的方法比较,比如wait,sleep等;
3.反射机制
4.IO包的使用,运用了什么设计模式
5.设计模式,常用的设计模式,运用场景;
6.内存管理,引用的种类;
7.json,xml解析,dom和sax的特点;
8.socket
9,值传递和引用;
三.andrid基础
1.Activity的生命周期
http://blog.csdn.net/android_tutor/article/details/5772285
2.Activity的4种启动模式,分别是什么?
http://developer.android.com/guide/components/tasks-and-back-stack.html#ManagingTasks
3.四大组件,五大布局,分别的特点,运用;
四大组件:
Activity
Service
Content Provider
http://developer.android.com/guide/topics/providers/content-providers.html
Broadcast Receiver
五大布局:
LinearLayout,FrameLayout,AbsoluteLayout,RelativeLayout,TableLayout
http://www.cnblogs.com/wisekingokok/archive/2011/08/23/2150452.html
4.Service的生命周期,启动方式,AIDL机制,如何做到不被kill掉
生命周期、启动方式、如何做到不被kill掉:
http://www.cnblogs.com/charley_yang/archive/2011/01/09/1931043.html
AIDL机制:http://coolxing.iteye.com/blog/1222602
5.内存管理,DDMS的工具使用,查看内存使用工具;
http://blog.csdn.net/chaihuasong/article/details/8289367
http://www.miui.com/thread-29268-1-1.html
http://blog.csdn.net/scry5566/article/details/8877836
6.内存优化,sd卡缓冲,引用方式有多少种?
内存优化:http://blog.sina.com.cn/s/blog_476d58ef01015rqr.html
查看内存试用情况:
//系统分配给每个应用的内存
int maxMemory = ((int) Runtime.getRuntime().maxMemory())/1024/1024;
//应用程序已获得内存
long totalMemory = ((int) Runtime.getRuntime().totalMemory())/1024/1024;
//应用程序已获得内存中未使用内存
long freeMemory = ((int) Runtime.getRuntime().freeMemory())/1024/1024;
7.Bitmap加载大图片,如何优化;
http://blog.csdn.net/guolin_blog/article/details/9316683
8.一个应用大概有多少可用内存;
见(6)
9.android进程种类,分别是什么,作用;
http://cn.club.vmall.com/thread-334896-1-1.html
10.JNI相关;
http://blog.edwards-research.com/2012/04/tutorial-android-jni/
11.数据压缩,加密;
12.自定义UI,重写控件,相关xml定义;
13.viewgourp绘制过程和事件分发;
14.android的事件分发机制;
15.android的5个存储方式,各自特点;
http://www.cnblogs.com/hanyonglu/archive/2012/03/01/2374894.html
16.什么是内存泄漏和内存溢出,区别和特点;如何避免;
17.android样式和主题的区别?分别怎么定义?
18.如何避免ANR?
19.产生Force close 一般是什么情况下产生的?
20.如何退出已经打开多个activity的程序?
21.Hander的使用,跟Looper,MessageQuQue,Message的关系?
22.SurfaceView和View的区别
23.onTouch有几种事件?
24.Intent,IntentFileter,Category,action这些关系和作用。
25.webview常用方法,和javascrip的交互;
26.Listview 优化
四.linux
1.linux常用的命令
2.内存管理
3.是否实时操作系统?
五.数据库
1.SQlite创建过程
2.sql语句运用,增删改查,左右连接,分组,排序;
3.SQlite是否支持事务,如何优化;
六.网络相关;
1.http常用的状态码,分别是什么意思?
2.http请求头有哪些,分别是什么意思?
3.http异常有哪些?