简单记录面试

久伴:

1.java顶层类有哪些常用的方法

toString  hascode  equal.........

2.两个集合 怎么比较他里面的元素是否相等!

hascde 和eques

java中equals,hashcode和==的区别_爱上在路上-CSDN博客_equals和hashcode的区别与联系

3.页面A开始发送请求,进入到页面B依然在请求,然后返回到页面B,如果想断开请求应该怎么做!(okhttp)

OKHTTP请求的时候可以添加一个tag,界面退出时,查询这个tag,调用call.cancel


4.activitty是怎么管理fragment的

fragmentManeger..............


5.mvvm怎么忽略页面不需要被绑定的一些数据的

6.主线程中如果looper里面写了死循环 looper会一直运行吗

anr   loop本来就是一个死循环


7.dart闭包和java闭包有没有不同dart闭包和java闭包有没有不同

java:函数 代码块包起来,封装的思想

dart:闭包是一个方法(对象);闭包定义在其他方法内部;闭包能够访问外部方法内的局部变量,并持有其状态(这是闭包最大的作用,可以通过闭包的方式,将其暴露出去,提供给外部访问)


8.handle里面 looper.pxxx什么的方法会被重复调用吗

不会,一个线程可以有多个handle但是只有一个looper,多次调用会报错。


9.容器类的一个树状图

list  set          map


10.自定义view的大概步骤,假如要画一个圆角的长方形怎么画

自定义View,有这一篇就够了 - 简书


11.如何保证线程的有序执行

join()最靠谱,设置优先级


12.解决冲突 比如rv嵌套rv  vp嵌套vp

13.mvvm  livedata解决数据倒灌问题

14.sp两种提交方式,优缺点

15.ViewModel为什么在横竖屏切换的时候数据不会重置。

    ViewModel实际上是以HashMap<String,ViewModel>的形式被缓存起来了。ViewModel与页面之间没有直接的关联,它们通过ViewModelProvider进行关联。当页面需要ViewModel时,会向ViewModelProvider索要,而ViewModelProvider会去HashMap中检查该ViewModel是否已经存在缓存中,若存在,则直接返回,否则,则实例化一个。因此,Activity由于屏幕旋转导致的销毁重建并不会影响ViewModel.但是,我们在使用ViewModel,需要注意的时,不要向ViewModel中传入任何类型的Context或带有Context引用的对象,可能会导致页面无法销毁,从而引发内存泄露。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容