android--面试集锦

1.java

HashMap源码分析
ConcurrentHashMap 的实现原理
JVM 内存区域 开线程影响哪块内存
垃圾收集机制 新生代与老年代
对象创建过程
关于Java的锁 synchronized和lock 详解
Java中对象的生命周期
classLoader原理 类加载机制 双亲委派模型
抽象类和接口的区别
生产者 消费者
ThreadLocal 线程本地储存类
ThreadPoolExecutor源码 复用机制
内部类和静态内部类和匿名内部类区别,以及项目中的应用
关于String
并发集合了解哪些
LinkedHashMap LRUCache原理
volatile的原理
object类的equal 和hashcode 方法重写,为什么?

2.Android

消息屏障
ANR 如何产生?
bitmap recycler 方法是否需要调用

AlertDialog,popupWindow,Activity区别

简述tcp四次挥手?

点击事件被拦截,但是相传到下面的view,如何操作?

SP是进程同步的吗?有什么方法做到同步

recycleview listview 的区别,性能
https://blog.csdn.net/chentaishan/article/details/103503575

TCP/UDP的区别

动态权限适配方案,权限组的概念
网络请求缓存处理,okhttp如何处理网络缓存的
图片加载库相关,bitmap如何处理大图,如一张30M的大图,
进程保活
listview图片加载错乱的原理和解决方案
https相关,如何验证证书的合法性,https中哪里用了对称加密,哪里用了非对称加密,对加密算法(如RSA)等是否有了解

自定义view
获取view的宽高
onWindowFocusChanged
View.post(new Runnable())
通过ViewTreeObserver
View事件传递
activity栈
view渲染
四大组件
Service的开启方式

Android进程分类
前台切换到后台,然后再回到前台,Activity生命周期回调方法。弹出Dialog,生命值周期回调方法。
Activity的启动模式
App启动崩溃异常捕捉
事件传递机制的介绍
ListView的优化
封装view的时候怎么知道view的大小
下拉状态栏是不是影响activity的生命周期,如果在onStop的时候做了网络请求,onResume的时候怎么恢复
不影响生命周期

3.Framework

对 Dalvik、ART 虚拟机有基本的了解;
Android 上的 Inter-Process-Communication 跨进程通信时如何工作的;
App 是如何沙箱化,为什么要这么做;
权限管理系统(底层的权限是如何进行 grant 的)
进程和 Application 的生命周期;
AMS 的作用
binder 的作用
App中唤醒其他进程的实现方式
AIDL机制
应用安装过程
项目:拉活怎么做的
进程间通信的机制
简述IPC?
进程间通信方式?
Binder相关?
ActicityThread相关?
简述Activity启动全部过程?

3.Android第三方框架

okhttp

retrofit
ARoute 路由

glide

eventbus
EventBus作用,实现方式,代替EventBus的方式

Hanlder源码分析
AsyncTask源码分析
Recyclerview源码分析~~ RecycleView优化

4.算法

集合 Set实现 Hash 怎么防止碰撞
HashMap的实现,与HashSet的区别
hashmap如何put数据(从hashmap源码角度讲解)
算法判断单链表成环与否?
排序,快速排序的实现
树:B 树的介绍
图:有向无环图的解释
两个不重复的数组集合中,求共同的元素。
翻转一个单项链表
合并多个单有序链表(假设都是递增的)
堆排序过程,时间复杂度,空间复杂度
快速排序的时间复杂度,空间复杂度
二叉树 深度遍历与广度遍历
B树、B 树
常用数据结构简介
判断环(猜测应该是链表环)
排序,堆排序实现
链表反转
leakcanrry 内部数据结构 队列

堆的概念,堆排序 (数据结构)
https://blog.csdn.net/chentaishan/article/details/115261773
HashMap
https://blog.csdn.net/chentaishan/article/details/108287813
二叉树,给出根节点和目标节点,找出从根节点到目标节点的路径
集合的接口和具体实现类
https://blog.csdn.net/chentaishan/article/details/107880321
TreeMap具体实现

5.设计模式

适配器模式,装饰者模式,外观模式的异同?

https://blog.csdn.net/chentaishan/category_9456290.html

6.性能优化

SpareArray原理
性能优化,怎么保证应用启动不卡顿
怎么去除重复代码
内存泄露如何产生?
内存泄漏的可能原因?
用IDE如何分析内存泄漏?
海量数据,内存中放不下,怎么求出。
性能优化如何分析systrace?

启动优化
布局优化
内存泄漏
缓存机制
framework
android消息机制
socket http

jni
插件化开发
组件化开发

其他

微信主页面的实现方式
微信上消息小红点的原理

猜你喜欢

转载自blog.csdn.net/chentaishan/article/details/109557715