猫眼-Android面经

电话一面(70mins)

1.实习经历
2.模块化包依赖管理
3.get和post请求区别
4.https响应报文组成,状态码500和503的代表啥
5.数据库索引作用,什么时候加索引,原理
6.数据库数据脏读情况
7.S锁和X锁区别
8.Java finalize过程
9.如何对象判断是否已死
10.简单介绍GC算法,采用复制算法的原理(操作系统层次讲,不知道。。。)
11.synchronized修饰实例方法和静态方法区别
12.Android性能优化,非静态内部类编译的字节码有几份?
13.RelativeLayout和LinearLayout性能比较,还有约束布局,哪一个性能好(这个有人做研究吗,我觉得层级多的话约束布局最好)
14.介绍volatile,禁止指令重排序的原理
15.每个线程的looper唯一吗?为什么(ThreadLocalMap原理)?
16.装满7升水的水杯和装满13升水的水杯怎么得到5升水,水可以无限加(采用递归实现,不过我讲错了)
17.activity A 调用startActivityForResult启动B,B直接finish掉没有调用setIntent设置resultCode A 会回调onActivityForResult方法吗?
18.可以不断启动同个线程的start方法吗

#猫眼##Android##面经##安卓工程师##秋招#
全部评论
有大佬可以回答下上述的疑惑
点赞 回复 分享
发布于 2018-10-09 15:51
RelativeLayout因为有相对位置信息所以会两次measure,LinearLayout一次,但是如果有weight也会两次;但是RelativeLayout可以降低LinearLayout嵌套所产生布局树的层级;现在新建xml是约束布局了那肯定约束布局有他的优势;线程looper唯一可以看looper源码,生成是用过sThreadLocal.set()实现,之前会先通过sThreadLocal.get()检查该线程是否已有looper
点赞 回复 分享
发布于 2018-10-09 17:24
楼主请问一面后有没有收到二面的通知呢
点赞 回复 分享
发布于 2018-10-13 12:46

相关推荐

3 17 评论
分享
牛客网
牛客企业服务