现场面-
自我介绍
做项目时遇到最难的问题是什么?如何解决的?
手写单例设计模式
手写双向链表翻转
作者:牛客662148号链接:https://www.nowcoder.com/discuss/38405来源:牛客网Object的常见方法(这个问题一面也问过)Java GC的机制ArrayList的底层实现,扩容原理equals和==hashCode的意义,怎么重写HashCodeActivity的生命周期,启动模式RecyclerView的缓存机制内存泄露,怎么处理Android的手势检测,事件分发
java的8种数据类型
重载和重写的区别
抽象类和接口的区别
final关键字可以修饰什么,作用什么
java 权限的四种不同(public,private,protect,和默认的)
LinkedHashMap 和 HashMap的区别,还有实现原理
编译时异常和运行时期异常区别,分别举个例子
Android四大组件(就问了是什么,没具体问)
handler作用
Activity生命周期 和四种启动方式
Fragment的生命周期
listView优化
Android内存泄漏,举个例子
作者:CangCang链接:https://www.nowcoder.com/discuss/38983来源:牛客网Activity周期
Activity启动模式
handler 使用方式,handler引发的内存泄漏
内存泄漏解决办法
线程与进程区别
线程死锁
怎样才能解决死锁问题
TCP UDP
get post
session cookie
加密算法
https流程
oom
final,finally finalize
手写算法 n!最后有几个0
手写算法 数组实现栈
equal ==
static关键字
锁机制
gc参数调节
作者:CangCang链接:https://www.nowcoder.com/discuss/38983来源:牛客网项目中用到的框架源码,原理(很久)难点,解决方法
手写算法 某个数第一次出现在数组中的位置
一个Activity 打开另一个Activity的生命周期流程
listview源码,原理
为什么快排的时间复杂度是nlogn,为什么最坏情况是n^2
手写堆排序 buildmaxheap adjustheap sort 算法复杂度,为什么是nlogn
软引用弱引用
Android测试的一些工具,类库
作者:紫韵链接:https://www.nowcoder.com/discuss/45285?type=0&order=0&pos=5&page=1来源:牛客网1. java 的几大特性,举例说明你平时是怎么应用这几大特性的2. 设计模式六大原则3. 子线程更新 UI 的方式4. AsyncTask 介绍,有哪些方法5. 代码:View 树遍历6. android 和 ios 的区别7. 如何实现一个包含多种不同布局样式的列表8. 网盘中有 10 个文件,现在用户可以任意拖动这些文件,改变它们的排序,怎么设计上传的接口,使用什么样的数据结构进行存储9. 代码:判断一个字符串是否为一个合格的密码,一个合格的密码需要满足如下条件: 1. 长度必须大于 6; 2. 首字母必须为大写字母 3. 只能包含 'a ~ z' 或 'A ~ Z' 或 '_'或'0~9' 4. 至少有两种不同类型的字符10. 如何处理 crash,假设你的应用在自己的手机上不会出现 crash,但在老板的手机上出现了 crash,老板现在找到你,你应该怎么处理11. 实现 LinkedHashMap 的 remove 方法12. github 账号13. 什么样的代码是好的代码14. 是否了解常见的开发模式,对于一个登录页面,设计 MVP 模式15. 介绍项目,项目中使用了哪些技术点,介绍一下16. 介绍在腾讯的工作内容17. java 线程池18. ANR 异常19. assest 和 raw 目录的区别,你会在 assest 里面放哪些内容20. 如何实现一个不断变化的 view21. 看过哪些源码,用过哪些框架22. AMS 的作用23. LinkedHashMap 源码,结构,为什么要用双向链表,单向链表是否可以实现
作者:Kaycloud链接:https://www.nowcoder.com/discuss/38405来源:牛客网说一下Object的常见方法(这个问题一面也问过)Java GC的机制ArrayList的底层实现,扩容原理equals和==hashCode的意义,怎么重写HashCodeActivity的生命周期,启动模式RecyclerView的缓存机制内存泄露,怎么处理Android的手势检测,事件分发
作者:IrvingQ链接:https://www.nowcoder.com/discuss/49947?type=0&order=0&pos=21&page=1来源:牛客网美团一面
介绍一个项目经历2. 创建线程的方式3. 线程池有什么优势4. 怎么停止一个线程5. 锁的类别 方法锁 对象锁等区别6. 重载和重写 比如 method(String s) method(Object o) 两个方法,调用method(null)会出现什么情况7. Activity生命周期 Activity A -> B 生命周期变化8. View事件分发机制9. ListView里的item有图片,当图片加载成功时可以接收事件,不成功时整个item接收事件,实现方式。10. 自定义View 自定义attr xml可以定义相同属性吗11. Jni12. 屏幕适配相关问题
美团二面介绍实习经历2. Object的方法有哪些 wait notify hashCode equals ... 3.HashMap实现原理与hashCode equals一起分析,如果冲突较多怎么办 做了哪些优化4. 连接字符串方式,StringBuilder, StringBuffer。有没有看过编译后的指令和普通连接的区别5. String类的特性6. 文件流关闭的时机7. GC相关 包括如何确定对象无用 回收算法8. 了解GC对开发有什么用 内存泄露等9. 内存泄露的情况 使用什么工具检测 工具对比 有没有了解实时监测框架10. 子线程能更新UI吗 为什么不能 会出现异常吗11. Activity之间通信有哪些方式12. Intent可以传输什么类型的变量 有大小限制吗13. 本地广播和普通广播区别14. git svn区别 git pull 和 rebase区别
美团三面介绍实习经历2. JVM和DVM或ART有什么区别3. Dex和Class区别 Dex做了哪些优化4. Binder原理5. 了解linux下的其他进程通信方式吗 管道 SystemV...6. 为什么选用Binder,Binder为什么只复制一次
应用层有哪些跨进程方式 AIDL ContentProvider Socket ...
系统级别除了Binder还有哪些跨进程方式? Zygote通过Socket监听来fork新的进程,native crash发出信号kill process ...
插件化组件化 阿里Atlas 360的DroidPlugin技术(项目用到了)对比
动态化方案 了解Weex吗11. 锁用过哪些? 区别是什么? 自旋锁和重入锁有了解吗12. View事件分发13. 怎么拦截事件14. 标签流怎么实现15. 自定义View里的性能优化16. 如何计算图片的所占用的内存