题目 4、在杭州 HTTP 请求服务器响应快,可能离服务器距离近,而在深圳访问就很慢很慢,会是什么原因?如果用户投诉,怎么分析这个问题? 腾讯 iOS 面试题链接: https://juejin.im/post/5e707540f265da57455b5f70
![]() | 1 IMCA1024 2020-03-19 16:14:22 +08:00 ![]() 把锅先甩给后端 |
![]() | 2 qyizhong 2020-03-19 16:21:41 +08:00 访问慢说明离服务器远呗,可以内置或下发一份域名列表,找一个时机 ping 一遍把响应最快的解析成 ip 缓存下来,以后每次网络请求就把域名替换成这个 ip |
![]() | 3 ufan0 2020-03-19 16:23:58 +08:00 via Android 收集用户 IP 和 GPS……干掉 |
![]() | 4 dunn 2020-03-19 16:25:24 +08:00 via iPhone 抛弃深圳用户。 没人能教我腾讯公司 |
![]() | 5 skymei 2020-03-19 16:29:02 +08:00 把提出问题的人解决掉就行了 |
![]() | 6 cxknmsl 2020-03-19 16:30:54 +08:00 谁投诉就起诉谁,反正老子南山必胜客 |
7 ivechan 2020-03-19 16:36:13 +08:00 首先确定是大范围问题,而不是个例。 确定不是个例的情况下,在我们保护用户隐私情况下收集到用户信息(呵呵), 然后通过制图等方式分析特征。 可以回忆一下经典面试题“浏览器输入网址到看到网页会发生什么”,在里面找答案。 有几个点比较推荐注意:1. DNS 2. traceroute 最后解决办法:加钱,上 CDN。 |
![]() | 8 pmispig 2020-03-19 16:41:01 +08:00 这个应该是后端的问题吧,问客户端开发? |
9 optional 2020-03-19 16:49:39 +08:00 ![]() 这种问题 首先测试其它服务的速度(比如百度),排除用户自身网络问题。 看用户是不是设置了 http 代理或者其它代理,最好有个 echo 服务返回用户的访问 ip。 看 dns,是不是没有解析到合适的 cdn 上去(如果有 cdn )。 看 ping 值或者 traceroute,是不是在一个特殊的网络环境里(比如被穿透了),或者有没有可能是运营商的网络拥塞。 解决问题就是根据上面的结果做决策。 |
![]() | 10 murmur 2020-03-19 16:53:08 +08:00 ![]() 用户不是心悦会员,直接无视即可。他能找的到客服算我输。 |
![]() | 11 slgz 2020-03-19 17:27:18 +08:00 解决提出问题的人就好了 |
12 IceBay 2020-03-19 17:43:11 +08:00 这些回复,笑死了,哈哈哈哈哈哈 |
13 loarland 2020-03-19 17:55:48 +08:00 ![]() 面向全球用户的服务就遇到过这个问题,之前的解决方案也只是配置了一些代理域名,客户端 ping 哪个快就用哪个 |
![]() | 14 hunter2015 2020-03-19 18:08:03 +08:00 问后端怎么肥事 |
15 maxmak 2020-03-19 18:08:25 +08:00 面试说加钱的,笑死了 |
![]() | 16 xnode 2020-03-19 18:11:57 +08:00 加钱 |
![]() | 17 est 2020-03-19 18:36:12 +08:00 ![]() 用户投诉,先解决问题,但是加一个 is_vip() 的判断不生效,然后让用户充会员。 如果反复投诉,再写一个 is_qiongbi_vip() |
![]() | 18 zongren 2020-03-19 18:50:17 +08:00 中间链路长吧 |
![]() | 19 lewis89 2020-03-19 18:54:09 +08:00 ![]() 慢,首先应该排查数据链路层是否存在链路大量重传消息,有些 WIFI 环境链路层确实存在连接极慢的情况,然后排查 IP 层是否存在大量丢包,然后排查 TCP 是否存在阻塞或者大量重传的问题,然后看下是不是只创建了一个 HTTP 的 TCP 连接,因为 HTTP 本身是类似乒乓球的协议,如果多个请求使用同一个连接,HTTP 会依次响应返回,然后再判断服务器的整体响应时间是否存在问题,无非就是这么些原因 |
20 Illusionary 2020-03-19 21:13:28 +08:00 在我这是好的,不信你过来看 |
21 mooyo 2020-03-19 21:21:31 +08:00 可能用户用的移动宽带 |
22 4KMOMhIkocgLELMt 2020-03-19 22:31:55 +08:00 肯定是腾讯云不行呗,换阿里云啊 .... |
![]() | 23 youngxhui 2020-03-19 22:42:51 +08:00 去掉客服就好了啊,看他去哪里反馈投诉 |
![]() | 25 wangchonglie 2020-03-19 22:46:53 +08:00 ![]() 上面大都是抖机灵的, 不会就别说好了, 而且抖的机灵也没多有趣。 |
![]() | 26 IsA26hN4DcQDS7Z9 2020-03-20 01:25:14 +08:00 via Android 我觉得是首先排除 ip 识别错误 如果没错,那就是节点解析或者 cdn 问题, 然后挂深圳代理发包分析 |
![]() | 27 xingheng 2020-03-20 01:46:01 +08:00 如果是静态资源的话就加 CDN,如果是写操作的 http 操作应该加服务器分区,后端额外部署一套服务来判断用户 ip 离哪个分区最近。 说错了请更正? |
![]() | 28 lewis89 2020-03-20 06:59:20 +08:00 |
29 daveh 2020-03-20 08:56:11 +08:00 via iPhone 应该这样答:别说杭州到深圳,就杭州本地双卡数据网络切换如电信切移动,微信都会慢的要死,连接半天不上,而别的 app 在网络切换时秒开。让他们当场下 offer,出手解决这些问题。 |
30 ooozx 2020-03-20 09:33:09 +08:00 DNS,CDN |
![]() | 31 wingyiu 2020-03-20 09:40:22 +08:00 @lewis89 说得很好,然鹅你缺少 iOS 的排查工具,你也不可能直接拿用户的手机进行操作,所以这题的答案还要一些端的行为&错误&监控收集上报 SDK,还需要后台的大数据统计分析系统。 1.确定是否个例,是整个深圳区域都有问题还是 2.如果是个例,能否找到此用户的上报数据,具体分析 |
![]() | 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 得全球都快!再推广一下腾讯的加速器么~ ~ |
33 loginbygoogle 2020-03-20 11:12:54 +08:00 via iPhone 假装什么都没发生 |
34 Monkey2020 OP @NeoChen 优秀 |
![]() | 35 brucewuio 2020-03-20 15:29:48 +08:00 有没有可能是 DNS 解析的时候发生问题? 常识从 http 整个流程入手 |
![]() | 36 yulihao 2020-03-20 19:54:23 +08:00 如果解析,连接等没问题,那就上 CDN |
![]() | 37 shawndev 2020-04-07 11:48:45 +08:00 还能是什么问题?当然是钱没给够! |