Android面试常问到的知识点
一.算法,数据结构
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的生命周期
2.Activity的4种启动模式,分别是什么?
3.四大组件,五大布局,分别的特点,运用;
4.Service的生命周期,启动方式,AIDL机制,如何做到不被kill掉
5.内存管理,DDMS的工具使用,查看内存使用工具;
6.内存优化,sd卡缓冲,引用方式有多少种?
7.Bitmap加载大图片,如何优化;
8.一个应用大概有多少可用内存;
9.android进程种类,分别是什么,作用;
10.JNI相关;
11.数据压缩,加密;
12.自定义UI,重写控件,相关xml定义;
13.viewgourp绘制过程和事件分发;
14.android的事件分发机制;
15.android的5个存储方式,各自特点;
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异常有哪些?