V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
iOS 开发实用技术导航
NSHipster 中文版
http://nshipster.cn/
cocos2d 开源 2D 游戏引擎
http://www.cocos2d-iphone.org/
CocoaPods
http://cocoapods.org/
Google Analytics for Mobile 统计解决方案
http://code.google.com/mobile/analytics/
WWDC
https://developer.apple.com/wwdc/
Design Guides and Resources
https://developer.apple.com/design/
Transcripts of WWDC sessions
http://asciiwwdc.com
Cocoa with Love
http://cocoawithlove.com/
Cocoa Dev Central
http://cocoadevcentral.com/
NSHipster
http://nshipster.com/
Style Guides
Google Objective-C Style Guide
NYTimes Objective-C Style Guide
Useful Tools and Services
Charles Web Debugging Proxy
Smore
Monkey2020
V2EX  ›  iDev

这一个腾讯 iOS 面试题,有大佬知道怎么答吗?

  •  
  •   Monkey2020 · 2020-03-19 15:57:57 +08:00 · 13922 次点击
    这是一个创建于 1714 天前的主题,其中的信息可能已经有所发展或是发生改变。

    题目 4、在杭州 HTTP 请求服务器响应快,可能离服务器距离近,而在深圳访问就很慢很慢,会是什么原因?如果用户投诉,怎么分析这个问题? 腾讯 iOS 面试题链接: https://juejin.im/post/5e707540f265da57455b5f70

    37 条回复    2020-04-07 11:48:45 +08:00
    IMCA1024
        1
    IMCA1024  
       2020-03-19 16:14:22 +08:00   ❤️ 1
    把锅先甩给后端
    qyizhong
        2
    qyizhong  
       2020-03-19 16:21:41 +08:00
    访问慢说明离服务器远呗,可以内置或下发一份域名列表,找一个时机 ping 一遍把响应最快的解析成 ip 缓存下来,以后每次网络请求就把域名替换成这个 ip
    ufan0
        3
    ufan0  
       2020-03-19 16:23:58 +08:00 via Android
    收集用户 IP 和 GPS……干掉
    dunn
        4
    dunn  
       2020-03-19 16:25:24 +08:00 via iPhone
    抛弃深圳用户。
    没人能教我腾讯公司
    skymei
        5
    skymei  
       2020-03-19 16:29:02 +08:00
    把提出问题的人解决掉就行了
    cxknmsl
        6
    cxknmsl  
       2020-03-19 16:30:54 +08:00
    谁投诉就起诉谁,反正老子南山必胜客
    ivechan
        7
    ivechan  
       2020-03-19 16:36:13 +08:00
    首先确定是大范围问题,而不是个例。
    确定不是个例的情况下,在我们保护用户隐私情况下收集到用户信息(呵呵),
    然后通过制图等方式分析特征。
    可以回忆一下经典面试题“浏览器输入网址到看到网页会发生什么”,在里面找答案。
    有几个点比较推荐注意:1. DNS 2. traceroute

    最后解决办法:加钱,上 CDN。
    pmispig
        8
    pmispig  
       2020-03-19 16:41:01 +08:00
    这个应该是后端的问题吧,问客户端开发?
    optional
        9
    optional  
       2020-03-19 16:49:39 +08:00   ❤️ 3
    这种问题
    首先测试其它服务的速度(比如百度),排除用户自身网络问题。
    看用户是不是设置了 http 代理或者其它代理,最好有个 echo 服务返回用户的访问 ip。
    看 dns,是不是没有解析到合适的 cdn 上去(如果有 cdn )。
    看 ping 值或者 traceroute,是不是在一个特殊的网络环境里(比如被穿透了),或者有没有可能是运营商的网络拥塞。
    解决问题就是根据上面的结果做决策。
    murmur
        10
    murmur  
       2020-03-19 16:53:08 +08:00   ❤️ 9
    用户不是心悦会员,直接无视即可。他能找的到客服算我输。
    slgz
        11
    slgz  
       2020-03-19 17:27:18 +08:00
    解决提出问题的人就好了
    IceBay
        12
    IceBay  
       2020-03-19 17:43:11 +08:00
    这些回复,笑死了,哈哈哈哈哈哈
    loarland
        13
    loarland  
       2020-03-19 17:55:48 +08:00   ❤️ 2
    面向全球用户的服务就遇到过这个问题,之前的解决方案也只是配置了一些代理域名,客户端 ping 哪个快就用哪个
    hunter2015
        14
    hunter2015  
       2020-03-19 18:08:03 +08:00
    问后端怎么肥事
    maxmak
        15
    maxmak  
       2020-03-19 18:08:25 +08:00
    面试说加钱的,笑死了
    xnode
        16
    xnode  
       2020-03-19 18:11:57 +08:00
    加钱
    est
        17
    est  
       2020-03-19 18:36:12 +08:00   ❤️ 3
    用户投诉,先解决问题,但是加一个 is_vip() 的判断不生效,然后让用户充会员。










    如果反复投诉,再写一个 is_qiongbi_vip()
    zongren
        18
    zongren  
       2020-03-19 18:50:17 +08:00
    中间链路长吧
    lewis89
        19
    lewis89  
       2020-03-19 18:54:09 +08:00   ❤️ 6
    慢,首先应该排查数据链路层是否存在链路大量重传消息,有些 WIFI 环境链路层确实存在连接极慢的情况,然后排查 IP 层是否存在大量丢包,然后排查 TCP 是否存在阻塞或者大量重传的问题,然后看下是不是只创建了一个 HTTP 的 TCP 连接,因为 HTTP 本身是类似乒乓球的协议,如果多个请求使用同一个连接,HTTP 会依次响应返回,然后再判断服务器的整体响应时间是否存在问题,无非就是这么些原因
    Illusionary
        20
    Illusionary  
       2020-03-19 21:13:28 +08:00
    在我这是好的,不信你过来看
    mooyo
        21
    mooyo  
       2020-03-19 21:21:31 +08:00
    可能用户用的移动宽带
    4KMOMhIkocgLELMt
        22
    4KMOMhIkocgLELMt  
       2020-03-19 22:31:55 +08:00
    肯定是腾讯云不行呗,换阿里云啊 ....
    youngxhui
        23
    youngxhui  
       2020-03-19 22:42:51 +08:00
    去掉客服就好了啊,看他去哪里反馈投诉
    bojue
        24
    bojue  
       2020-03-19 22:44:18 +08:00
    @lewis89 优秀如斯
    wangchonglie
        25
    wangchonglie  
       2020-03-19 22:46:53 +08:00   ❤️ 3
    上面大都是抖机灵的, 不会就别说好了, 而且抖的机灵也没多有趣。
    Raynard
        26
    Raynard  
       2020-03-20 01:25:14 +08:00 via Android
    我觉得是首先排除 ip 识别错误

    如果没错,那就是节点解析或者 cdn 问题,

    然后挂深圳代理发包分析
    xingheng
        27
    xingheng  
       2020-03-20 01:46:01 +08:00
    如果是静态资源的话就加 CDN,如果是写操作的 http 操作应该加服务器分区,后端额外部署一套服务来判断用户 ip 离哪个分区最近。
    说错了请更正?
    lewis89
        28
    lewis89  
       2020-03-20 06:59:20 +08:00
    @bojue #24

    @xingheng #27

    网络慢首先不是想到 CDN,先看下用户本地的网络环境,现在很多游戏都已经开始采用 udp 然后自己在 UDP 上 实现了一个快速重传的可靠 TCP,先检查链路 然后是 IP 然后是 TCP 然后是 HTTP 然后是 CDN 缓存 之类的 是没有毛病的。
    daveh
        29
    daveh  
       2020-03-20 08:56:11 +08:00 via iPhone
    应该这样答:别说杭州到深圳,就杭州本地双卡数据网络切换如电信切移动,微信都会慢的要死,连接半天不上,而别的 app 在网络切换时秒开。让他们当场下 offer,出手解决这些问题。
    ooozx
        30
    ooozx  
       2020-03-20 09:33:09 +08:00
    DNS,CDN
    wingyiu
        31
    wingyiu  
       2020-03-20 09:40:22 +08:00
    @lewis89 说得很好,然鹅你缺少 iOS 的排查工具,你也不可能直接拿用户的手机进行操作,所以这题的答案还要一些端的行为&错误&监控收集上报 SDK,还需要后台的大数据统计分析系统。
    1.确定是否个例,是整个深圳区域都有问题还是
    2.如果是个例,能否找到此用户的上报数据,具体分析
    NeoChen
        32
    NeoChen  
       2020-03-20 09:46:42 +08:00
    先分析人:这个用户能先在杭州测试,又跑到深圳测试,说明这个人来头不小,很可能是大 V,而且会投诉,说明很闲,大 V+很闲...必须给这个用户单独开台服务器让他玩。

    再分析设备:在加上是 iOS 的面试题,很可能用户用的是 iPhone Xs MAX,大家也知道 iPhone 信号确实有时候会有问题,Intel 基带的问题...!?

    然后分析服务器和线路:咱腾讯云可是良心云,貌似杭州没有机房吧?我买的时候好像最近的在上海吧,查查最近是不是线路有出问题过。说到服务器,再查查服务器最近是否有过异常,毕竟一个人不可能同时在杭州和深圳测的,可能碰巧到深圳的时候炸了呢?不过这干 iOS 开发什么事情?

    最后分析一下软件:是不是 VIP 用户多如狗了,得区别对待一下,设立白金 VIP、钻石 VIP 等等,怎么能让很闲的大 V 用户与青铜 VIP 享受一样的待遇呢?青铜 VIP 在杭州快,王者 VIP 得全球都快!再推广一下腾讯的加速器么~ ~
    loginbygoogle
        33
    loginbygoogle  
       2020-03-20 11:12:54 +08:00 via iPhone
    假装什么都没发生
    Monkey2020
        34
    Monkey2020  
    OP
       2020-03-20 14:32:20 +08:00
    @NeoChen 优秀
    brucewuio
        35
    brucewuio  
       2020-03-20 15:29:48 +08:00
    有没有可能是 DNS 解析的时候发生问题? 常识从 http 整个流程入手
    yulihao
        36
    yulihao  
       2020-03-20 19:54:23 +08:00
    如果解析,连接等没问题,那就上 CDN
    shawndev
        37
    shawndev  
       2020-04-07 11:48:45 +08:00
    还能是什么问题?当然是钱没给够!
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   5768 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 31ms · UTC 03:15 · PVG 11:15 · LAX 19:15 · JFK 22:15
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.