1
tlday 2017-06-22 21:34:00 +08:00 via Android
可能是想问 AFNetworking ?异步编程? Reactive ?
|
2
tlday 2017-06-22 21:36:25 +08:00 via Android
或者解析 XML ? DOM 解析和 SAX 解析? DTD 校验什么的?我觉得你应该当时就问清楚他问问题的意图 ,不该自己回家瞎猜。
|
3
xiaoshenke 2017-06-22 21:49:02 +08:00
序列化反序列化而已。难道是让你造一个 gson 出来(逃)?
|
5
chipmuck 2017-06-23 10:49:59 +08:00
可能就想问,你用什么库解析? :D (哈哈哈哈
|
6
flyingghost 2017-06-23 12:31:36 +08:00 1
只问数据解析,说明对你的定位不是系统架构师,充其量是个客户端开发或者架构。从客户端角度回答的尽可能视角宏观条理清晰并在他感兴趣的点能展开一些细节,就很好了。给个参考:
数据解析这一块主要考虑几个问题: 1,最关键的就是数据传输协议。协议定义是根据场景、需求等多方面因素而选择的。常见的有 json、xml 等文本格式,也有 Thrift、protobuf 等二进制格式,比较少见的场景也有 java 序列化、php 序列化等语言绑定的格式。也可以自定义格式。 2,应用层协议。这个和业务逻辑相关,主要是注意数据版本、数据结构、字段类型等。 3,传输容错机制。可能需要重传机制、确认机制、容错机制等。一般应用用不到。 4,解析器输入,一般是整体输入(比如 json ),有可能需要做到流式输入(比如自定义协议), 5,输出同理,有些业务场景可能需要流式输出或者分段输出。根据业务场景决定。 其实说实话,感觉面试官提这个问题本身就水平一般,这是一个很局促很片面既不好扩展广度又不好扩展深度的问题。 |
7
firefox12 2017-06-23 16:33:37 +08:00
最原始的问题, 你如何知道 一个 http 的结果已经完全发给你了,然后你再来解析负载。解析 json 的话,你能够写一个 json 的解析器,判断 json 格式的对错, 我想他会很满意。这些问题都是有无限扩展的。
|