开发者社区> 问答> 正文

面试Android开发,几家知名的互联网公司的一些面试题目,大神帮我分析下行吗? 400 请求报错 

最近面试了几家知名的互联网公司,有些问题还是希望和大家讨论下,确实问的很不错,值得研究下。希望技术的大神,大牛们指点下。。。万谢!!!

1、网络请求怎么样和UI线程交互?

我采用的是AsynTask异步任务,但面试官说,每次请求都要新建,消耗资源,有什么优化的没,我说采用线程池,然后Handler发送消息,面试官说这样效果不好,又问我怎么实现,这里我就卡住了。。。大神们,你们一般是怎么 处理这种频繁网络交互的请求 的???

2、Activity1打开Activity2,那么Activity2怎么通知Activity1更新数据?

我说的采用回调的方式,但是面试官说,这样耦合性太高,怎么 解决耦合性 的问题,我又卡住了,大神们有什么好的办法没???

展开
收起
kun坤 2020-05-29 22:58:01 484 0
1 条回答
写回答
取消 提交回答
  • 第一个看具体的需求,不把实际场景说清楚,那就扯了。不过AsynTask确实不好用。
    第二个,用观察者模式,实现一个单例的监听类,统一管理需要同步的数据集,在oncreate中注册一个相应的监听,在ondestroy中取消监听。 ###### 第一个问题,我一般是用AsyncTask和Handler处理,这里我也想知道面试官的答案
    第二个问题,一般使用回调吧,或者使用观察者模式、或者本地广播 ###### 第一个我都是封装一下volley。
    第二个问题我猜是onActivityResult吧 ###### 刚出坑的表示第一个问题用Volly框架,第二个问题用EventBus框架,顺带再装装逼告诉他图片缓存用fresco框架(支持gif,webp格式),视频播放用 bilibili开源项目,再扯扯View绘制以及触摸滑动时经过的View监听事件顺序。。 ######bilibili开源项目是啥?######

    引用来自“水至浅”的评论

    第一个看具体的需求,不把实际场景说清楚,那就扯了。不过 AsynTask确实不好用。 第二个,用观察者模式,实现一个单例的监听类,统一管理需要同步的数据集,在oncreate中注册一个相应的监听,在ondestroy中取消监听。 总结的很好,就是面试时候太紧张,很多东西都想不到了。######第二个不仅可以用各种xxxBus, 原生的ContentProvider/Observer就可以###### 第一个,频繁的网络通信应该考虑TCP,Socket连接了。毕竟http每次都要连接,确实浪费,就算是http1.1的连接复用也不如socket效率高。 第二个,onActivityResult,所谓的eventbus也好,观察者模式也好。再好的解耦也不如安卓原生的,比如他们能跨进程通知不?
    2020-05-29 22:58:08
    赞同 展开评论 打赏
问答排行榜
最热
最新

相关电子书

更多
阿里云技术面试红宝书 立即下载
超全算法笔试-模拟题精解合集 立即下载
程序员面试宝典 立即下载