看 android 招聘几乎每一个都要求熟悉 socket 编程,实际上这个用的有这么多么? - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
viator42
V2EX    Android

看 android 招聘几乎每一个都要求熟悉 socket 编程,实际上这个用的有这么多么?

  •  
  •   viator42 2016-11-06 22:10:51 +08:00 17730 次点击
    这是一个创建于 3309 天前的主题,其中的信息可能已经有所发展或是发生改变。
    个人认为做 App 网络访问感觉还是 http 方便,自己做的项目也是用的 http 。感觉这应该是 HR 不懂从别的地方抄来的
    22 条回复    2016-11-14 22:17:25 +08:00
    tscat
        1
    tscat  
       2016-11-06 22:24:10 +08:00
    我也觉得 http 方便。。
    但是和业务相关吧,有的业务,比如聊天,还是 socket 这样的比较好。
    如果只是开发 xx 商场,那基本上还是 http 好用的
    bookit
        2
    bookit  
       2016-11-06 22:24:55 +08:00
    我精通 socket 编程,各种情况都处理过

    为 socket 层增加过异步机制,为系统增加 ssl 功能

    但,实际上多数人用不到这个
    neoblackcap
        3
    neoblackcap  
       2016-11-06 22:27:21 +08:00
    看情况,如果跟通讯相关,实时性要求高的可能会用到,比如直播,聊天之类的。你总不可能每隔一段时间就去轮询服务器吧?
    tomczhen
        4
    tomczhen  
       2016-11-06 22:33:05 +08:00
    个人觉得,如果楼主真的很了解 http 协议的话就不会发这种问题了。:doge:
    viator42
        5
    viator42  
    OP
       2016-11-06 22:39:49 +08:00
    @neoblackcap IM ,音视频流这些肯定是需要 socket 的。只是获取数据就没必要了吧
    snnn
        6
    snnn  
       2016-11-06 22:43:00 +08:00
    做游戏的要用。
    huihui123
        7
    huihui123  
       2016-11-06 22:44:08 +08:00 via iPhone
    可能工作中用不到,理解下还是应该的,比如一些网络编程上的思路。
    kozora
        8
    kozora  
       2016-11-06 22:48:06 +08:00
    IM 业务
    miketeam
        9
    miketeam  
       2016-11-06 22:49:51 +08:00 via iPhone   2
    很少用到。平时都有备份 socket 代码的,需要用的时候 copy 。另外 fb 开源了一个 socket 框架。蛮好的。其实我也不明白为什么要写哪些东西。 socket 使用的地方就是你觉得需要轮询的地方!前端(说 app 开发属于前端过分吗?)面试感觉应该致力于了解动画实现,流畅性,测试能力,数据库,调用硬件相关的功能,处理文档,缓存,图形图像, 2 维码,直播,加密解密,视频解码,解析 json , xml , html ,页面排版,富文本相关,线程, iOS 里面有 runtime 和 runloop ,安卓不知道是什么,然后合作开发相关的就是文档编写, git 使用,那么更高级的应该考察混编的能力,就是混合 c , c++,周边相关的可以考察 python ,对于其他的比如分享好友圈啊,支付啊那只不过是加个三方库而已,没什么说的。
    raysonx
        10
    raysonx  
       2016-11-07 09:46:05 +08:00 via Android
    这不是基础吗?换我面试我也会问。
    kaedea
        11
    kaedea  
       2016-11-07 10:09:11 +08:00
    这个又不是很深的东西,网络编程是计算机基础…
    kaichen
        12
    kaichen  
    PRO
       2016-11-07 10:33:18 +08:00
    其实金融类的行情更新,做拍卖或者秒杀的场景也需要用到。
    zhouquanbest
        13
    zhouquanbest  
       2016-11-07 10:49:20 +08:00
    招聘贴也是有模板的
    实际上也就是要你有个基础 毕竟写过 Socket 和没写过还是有很大差别 遇到特定场景也能救个火
    我记得大学时计算机网络的课设就是用 socket+gtk 写个 Linux 上的类 QQ im demo ,造出来后还是觉得受益匪浅的,即使现在写 Android 基本直接用 OkHttp ,遇到些坑有以前那点经验也蛮方便解决
    vjnjc
        14
    vjnjc  
       2016-11-07 11:26:32 +08:00
    同意楼上,招聘的 HR 写要求的时候都是拷贝粘贴的!!所以大部分 JD 看不出什么。
    lishunan246
        15
    lishunan246  
       2016-11-07 11:28:00 +08:00 via Android
    网游基本上都得用 socket
    zcljy
        16
    zcljy  
       2016-11-07 14:06:48 +08:00
    内网通信 http 显然不行啊。还得是大 socket
    timestamp
        17
    timestamp  
       2016-11-07 14:49:53 +08:00
    有的招聘信息感觉不是负责人编的,反正我们以前公司是这样
    sampeng
        18
    sampeng  
       2016-11-07 17:05:46 +08:00
    1.hr 是 copy 的。但是 copy 的招聘主管的需求。
    2.如果我面试,虽然不用 socket ,但是要答不上来,直接就 pass 了。。就像你会做微积分,但是加减做不好一样的道理。。。。
    LancerXin
        19
    LancerXin  
       2016-11-07 19:49:59 +08:00
    别的公司不知道,反正我们公司是需要的,因为的确用到了。
    ibigbug
        20
    ibigbug  
       2016-11-14 02:58:54 +08:00
    > App 网络访问感觉还是 http 方便

    你说方便,你觉得 HR 不懂,你懂。那么如果问你知道 HTTP 的 keep alive 怎么实现,你怎么回答?

    你说说 HTTP 和 「 socket 」 的区别是啥?
    viator42
        21
    viator42  
    OP
       2016-11-14 09:13:59 +08:00 via Android
    @ibigbug 不停地发心跳包或者长链接
    HTTP 和 socket 都是基于 TCP 的连接。 HTTP 连接传输的是超文本,一方作为客户端另一方作为服务端实现单向的请求响应。 socket 传输的是字节流,传输的双方都可以作为服务端和客户端实现双工通信。
    答完了
    ibigbug
        22
    ibigbug  
       2016-11-14 22:17:25 +08:00
    @viator42 第一句答错啦, HTTP 的 keepalive 没有心跳,只是一次 req-res 结束之后不去 socket.close()

    至于你说 socket 是基于 TCP ,那我 UDP 算啥? HTTP 传输的是超文本,那我上传图片是超文本么? 什么是超?

    TCP 不能一方作为客户端一方作为服务端?

    你认为通过网络传输的除了字节流还有什么其他东西么?

    HTTP 2 也能双工哦~

    你好像一句都没说对~
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     833 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 25ms UTC 20:22 PVG 04:22 LAX 12:22 JFK 15:22
    Do have faith in what you're doing.
    ubao msn snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86