android基本面试题

1.从下往上说一下OSI七个分层? 物理层、数据链路层、网络层、传输层、会话层、表示层、应用层。
2.TCP和UDP的区别?
3.说说数据库连接(join)?
4.说说事务?
5.标准SQL规范中定义了4个事务隔离级别,不同隔离级别对事务处理不同 ?
6.数据库三范式?
7.了解数据结构吗?单向链表概念及特点
8.HashMap原理(Entry:属性有key,value,next) 与Hashtable的区别
9.红黑树数据结构?
10.什么情况下,Activity的onNewInstent()方法会执行?Activity的启动模式相关。
11.Fragment能否不依赖于Activity存在?简析一下Fragment的栈管理。
12.service()的两种启动方式。
13.IntentService()。onHandleIntent
14.在非UI线程中使用Handler需要注意哪些问题?
15.自定义View时有哪些重要的方法,它们的作用及执行顺序是怎样的?
16.如何自定义view()?
17.service启动方式以及区别,以及service的作用 ?
18.binder()机制?
19.activity的launchmode(四种启动模式)
20.布局中优化常用方法()http://blog.csdn.net/guolin_blog/article/details/43376527
21.屏幕适配问题,老生常谈啦
22.broadcast详解(http://blog.csdn.net/harvic880925/article/details/38710901)
23.Eventbus详解(http://blog.csdn.net/harvic880925/article/details/40787203)
24.Android官方指出的Android的数据存储方式总共有五种,分别是:Shared Preferences、网络存储、文件存储、外储存储、SQLite
25.view与viewgroup的事件分发机制(http://blog.csdn.net/guolin_blog/article/details/9097463)
26.android中的动画机制http://blog.csdn.net/eclipsexys/article/details/38401641
27.线程池的使用
28.如何退出全部Activity?
29.Android中的消息机制(http://blog.csdn.net/lmj623565791/article/details/38377229/)
30.Android中的内存优化(http://blog.csdn.net/a396901990/article/details/38707007)
31.volley框架的使用方法与底层源码(http://blog.csdn.net/guolin_blog/article/details/17482165)
32.baseAdapter的继承书写方法
33.listview的优化与bitmap的三级缓存模(http://blog.csdn.net/guolin_blog/article/details/34093441/)
34.如何使用SQLliteDatabase操作SQlite数据库
35.Http与okHTTP与socket的使用?
36.(异步通信中)AsyncTask类的使用?
37.白话文排序算法大全(http://blog.csdn.net/morewindows/article/details/6709644/)
38.搜索二叉树的添加与删除(http://www.linuxidc.com/Linux/2016-08/134742.htm)
39.AVL树的旋转(http://blog.csdn.net/gabriel1026/article/details/6311339)
40.android的布局优化(include,merge,viewstub)(http://blog.csdn.net/guolin_blog/article/details/43376527)
41.view的详细解析(http://blog.csdn.net/guolin_blog/article/details/12921889)
42.java char可以存储中文(uncoid),接口可以继承多接口
43.java多态实现原理http://blog.csdn.net/huangrunqing/article/details/51996424

加强版
1.http(80) 与 https(443),http长链接、无状态、无连接,osi参考模型
2.socket详解 ssl tsl 三次、四次挥手
3.HttpUrlConnection的各种参数使用
4.字节流和字符流的区别与使用,以及转换
5.recyclerview 与listview的使用 //
6.user-agent
7.工具charles查看网络请求具体参数
8.okHttp使用,源码 volley//
9.http请求步骤 post与get
10.图片加载框架Glide Fesoc (内存复用inBitmap)
11.mipmap 与drawable
12.BitmapRegionDecoder(超大图片加载)
13.scheduleDrawable
14.measureSpec详解,三种具体测量
15.自定义value添加自定义属性
16.window-decorview-contentParent-view
17.wms ams rootviewimpl
18.intentService 与 handlerThread
19.AcynTask FutureTask
20.编译时错误与运行时错误 try catch throws throw
21.synchronized 与 lock
22.数据库知识 主键 外键 增删改查 where group by order by limit offset distinct 内链接 外链接,索引 视图 触发器等
23.git 命令 init(创建) status(状态信息) add(添加) rm -cached(移除管理) commit(提交) log -p(log打印) clone branch -d(新建或移除分支 -d为移除) merge合并 push origin(远程提交) b(远程拉取)
24.抽象类和接口的区别与差异
25.六大原则 单一职责 里氏替换 依赖倒置 开闭原则 接口隔离 迪米特原则
26.动态代理 aot jit art 注解实现的原理
27.异常处理 运行时异常 可检查异常
28.java内存五大区域 程序计数器(线程私有) java虚拟机栈(线程私有)(stackoverflow outofmemoryerror) 本地方法栈(为当前native服务的栈)(stackoverflow outofmemoryerror) java堆(线程共享,对象与数组都分配在此) 方法区(线程共享 类信息,常量 静态变量,存一些编译器产生的数据) 栈帧(包含局部变量表,操作数栈,动态链接等)
29.判断无用内存(java堆 与 方法区) 1.引用计数法(缺点:循环引用) 2.可达性分析
30.垃圾收集法:1.标记-清除算法 2.复制算法(新生代回收) 3.标记整理
31.各种垃圾收集器 serial(最老的) Parnew cms G1
32. .class文件格式 每个字节代表的
33.类加载过程 加载 验证 准备 解析 初始化 使用 卸载
34.类加载器 classloader 启动类加载器 扩展类加载器 应用程序类加载器
35.java invoke包具体使用方式 methodHandle
36.Dalvik与ART
37.进程间通信机制 管道 IPC signal(信息) 跟踪Trach //binder
38.client service servicemanager binder之间的关系 (binder机制)
39.匿名共享内存 MemoryFile mmap(一种内存映射文件的方法)
40.屏幕旋转时的activity生命周期
41.lauchmode 4种
42.线程中使用loop
43.mmkv
44.pms ams wms
45.sparseArray
46.ipc通信方式 管道 singal message 信号量 socket https://www.jianshu.com/p/c1015f5ffa74
47.守护进程的含义
48.init进程 zygote进程 system进程
49.android系统层级 应用层 应用框架层 c++库层 linux内核层
50.android手机启动过程 init — androidruntime — zygote — system —-manager —- homeactivity https://www.cnblogs.com/samchen2009/p/3294713.html
51.java — class — dex — apk
52.dex文件格式 dexFile
53.动态加载类机制 双亲委派模型 dexclassloader pathclassloader
54.dalvik ART 垃圾回收机制、
55.android 智能指针 sp wp 强指针 弱指针
56.android load so过程
57.android 方法调用栈
58.ddms mat 查看android内存的方法
59,导致内存泄露的常见场景 1.数据库查询,文件流 2.handler 3.adapter listview 4.listener 5.bitmap
60.插件化 与热修复原理 组件化
61.指令分三步 取指 译码 执行 并行执行 流水线技术
62.OTA系统升级
63.android反编译的方法
64.NDK build android.mk application.mk 文件的用处
65.jni相关知识
66.makefile相关知识 编写规则 相关语法
67.android编译 main.mk config.mk java.mk
68.java android compiler kit
69.如何制作一个sdk供其他人使用
70.冯洛伊曼结构 运算器 控制器 存储器 输入 输出
71.原子性 隔离性 一致性 持久性
72.信号量与pv原语
73.Mutex ReaderWriterMutex
74.low memory killer
75.android:persistent 设置为常驻进程
76.java反射机制
77.进程和线程
78.handler looper message messagequeue ThreadLocal
79.theard runnable callable futruetask
80.wait notify notifyall interrut join sleep yield
81.mvvm databinding
82.lua 学习
83.java智能指针
84.进程间数据传递载体 Parcel
85.android binder详解
86.serviceManager serviceManagerNative ServiceManagerProxy
87.ibinder bpbinder
88.ProcessState IPCThreadState TLS
89.aidl android接口定义语言
90.rxjava
91.livedata livedatabus eventbus
92.lifecycle
93.AMS ActivityStack ActivityTask
94.surfaceflinger bufferqueue
95.viewmanager windowmanager viewrootimpl

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值