Android 有不关注热门开源项目的吗?

2018-05-25 09:53:56 +08:00
 Venjer

去 x 浪面试,面试官竟然不知道 okhttp。

面:用过网络框架吗,底层原理是什么? 我:okhttp。然后把连接池复用,拦截器,请求队列这些点说了,说完一直问我底层,我只能想到说到底层是用 okio 来处理那些报文数据。 面:底层没有 httpurlconnecttion/httpclient 吗 我:okhttp 是新出的代替这俩的。

这时我才知道他好像不知道 okhttp。然后我想说一下比如 volley,但是他直接跳过了这个问题。

我觉得这个问题给他造成很不好的印象,后面问了几个简单的问题就让我回去了。

我比较惊讶一点都不关注开源库吗?新技术的走向?

10380 次点击
所在节点    Android
20 条回复
Cheons
2018-05-25 10:24:46 +08:00
缝三年补三年 缝缝补补又三年😂
p2pCoder
2018-05-25 10:27:59 +08:00
我觉得他可能想问的你的是更底层的东西,特别是网络协议相关
firefffffffffly
2018-05-25 10:47:55 +08:00
可能他问你 httpurlconnecttion/httpclient 是希望你介绍一下 okhttp 实现 socket 的使用和对 http 协议解析的部分
lauix
2018-05-25 10:52:18 +08:00
很简单嘛,
告诉他 okhttp 写了 HTTP 头,通过 TCP 短连接,请求服务端。
然后服务端收到 HTTP 请求,判断请求头和路由,然后找到指定的接口文件,读取内容,返回到 Android okhttp 接收变量就是了。
icris
2018-05-25 10:56:34 +08:00
感觉问的没毛病啊,okhttp 底层自然不是 okhttp,okhttp 底层也可以是 httpurlconnecttion ( com.squareup.okhttp3:okhttp-urlconnection )
nicevar
2018-05-25 11:24:33 +08:00
开源库那么多,哪有时间关心,同一类型的了解一个就差不多了,像 okhttp 和 volley 这种不一定都用,很多公司都是自己写的一套
xingda920813
2018-05-25 11:34:07 +08:00
楼上都想的太高端了, 就这个面试来看, 大概率是技术栈陈旧, 基本不了解 OkHttp 的, 仅此而已.
TaoSama
2018-05-25 11:38:14 +08:00
这很正常啊 公司不都是可以 work 就行 who cares 最新技术啊
hyyou2010
2018-05-25 11:49:10 +08:00
直接问他所谓的底层指什么,从 tcp 连接开始说吗?还是从 http 协议开始说?

考这些库或框架远不如考 http 协议。
DeweyReed
2018-05-25 12:28:08 +08:00
楼上说的对,就是技术没及时更新。面试官都是说 httpurlconnecttion/httpclient,估计用的是自己造的轮子。
leekafai
2018-05-25 12:41:54 +08:00
他想问你字节码,你确实答得不到位(滑稽
sampeng
2018-05-25 13:17:53 +08:00
?这是炸鱼么。。。
我面 android 也这么问啊。
按我的思路就是如果这个题你往下答,就可以慢慢扩展到 http,tcp 等更深入的问题。如果只是干涩的询问 tcp 和 http 原理是没有任何作用,说明不了太多问题。如果一直在纠缠项目本身:心里就一句评价:“只知晓表面项目技术细节,没有去深入理解内部机制”。

人家都反复问你底层是什么。你还一直答非所问。

我没搞懂面试官哪一点表现出了不了解热门项目了
WinMain
2018-05-25 13:42:07 +08:00
楼主应该也只是会“用” okhttp,如果能深入了解的话,给面试官讲讲,其实很加分。
NSAtools
2018-05-25 14:09:09 +08:00
@sampeng 赞同,面试官问的没毛病
MrLeion
2018-05-25 14:41:07 +08:00
表示面试官问的没毛病。
MarcoM
2018-05-25 14:58:23 +08:00
。。。已经从原生转到 react 的了解一下
ryan2333
2018-05-25 16:04:02 +08:00
面试官问的有没有问题我不知道,因为具体的面试官是如何问你的 你没有说清楚...

倒是你这个标题 主观上就给你这个面试官定了性.......你是过来找认同感的嘛?
0x11901
2018-05-26 00:30:32 +08:00
现在 Android 问这种问题了么_(:_」∠)_下次面试的时候也问问 tcp 吧
xiiix
2018-05-26 02:42:21 +08:00
公司里面的成熟项目,加个新库都要慎之又慎,能自己实现的绝对不会用第三方(当然 package size 特别小的除外),升级个库,版本什么的一堆坑要解决。。。所以大多数时候都是能 work 就行,哪来什么新技术。。。
Venjer
2018-05-26 21:59:08 +08:00
@xiiix 这个我知道,项目当然稳定第一。项目用不用和他知不知道两码事。另外 okhttp 也不是什么特别新的东西,Android 4.4 官方内部实现都是用 okhttp 替代了,现在都快 9.0 了。
@0x11901 我给他讲 okhttp 先从 tcp http 讲的。
@ryan2333 如何问我的你不看帖子吗 写的很清楚了。给我的第一直观感觉就是这样。想到啥就这么写了。
@WinMain 讲了 人家不为所动啊。心不在焉没看上我呗。
@sampeng 我是挺想往下答呢,人家稍微问一下就跳过去了。okhttp 这种库你说人家表面?我说一个网络框架的原理不就是从他的源码说么,说了一大堆原理人家根本没听懂,那你就说没听过 okhttp 呗,没听过我换一个说。惜字如金的面试官,我还能怎么说。

@hyyou2010 tcp 我也不是没提到。一般这种不就是问网络框架怎么封装的。他是想问个基于 httpclient,结果我说了个 okhttp,我万万没想到他不知道。



@xingda920813 我同意你的观点。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/457639

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX