Skip to content

Commit 381e6d0

Browse files
committed
添加问题排查
1 parent 41e0766 commit 381e6d0

File tree

2 files changed

+38
-2
lines changed

2 files changed

+38
-2
lines changed

MD/问题排查.md

Lines changed: 37 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,37 @@
1+
问题:如果某用户反馈,访问我们网站的某一个功能反应很慢,你会如何分析并处理这个问题?
2+
3+
首先告诉面试官,我的思路是先确定问题会发生在哪些环节(用户电脑->运营商网络(DNS)->网站服务商(接入层-中间件或第三方接口-数据层)),然后最有可能发生在我们自己的后台服务器中,其次是代码里的问题,但是需要按以下的流程进行问题的解决:
4+
5+
第一步:问题的重现
6+
7+
首先假定是我们网站内部的问题并尝试在测试环境来检测是否该功能很慢。
8+
9+
如果我们自己简单尝试之后无法重现问题,那么我不会去猜测可能是什么问题然后去一个一个排除,这是效率极为低下的解决方式,而是尝试立马与客户沟通,并问以下几个问题:
10+
1. 您能录制一下这个问题发生时的视频吗?如果不行,能把重现的步骤告诉我们吗?
11+
2. 能方便提供下您的账号吗,方便我们进行错误排查?
12+
13+
第一步一定是能够重现这个问题,才能开始问题的定位,所以这个两个问题是必须的。
14+
如果依然无法重现问题,则可能与用户机器性能、访问时段、访问时的网络环境等等有关系,则需要作进一步交流。
15+
16+
第二步:问题的定位
17+
18+
如果不能在线上环境重现问题,那么则需要与客户一起来定位问题,比如提供网络监测工具,来测试是否有人影响客户的网络或者客户的网络本身就有问题,提供硬件信息收集工具来收集客户的硬件数据。
19+
20+
如果此时我能在线上环境重现问题,那么基本上就能排除的客户那边的问题,问题则很可能发生在我们网站内部,进行以下方面的排查,所有步骤可以同时进行:
21+
1. 自己在本地创建能调试问题的环境,使用调试工具排查是否是代码中的问题,前后端都包括
22+
2. 在线上环境中进行一次问题的重现,收集出现问题时的日志记录与监控情况,特别关注日志中记录错误与耗时的信息、监控CPU/网络/内存/硬盘/数据库是否为正常状态
23+
24+
第三步:问题的解决
25+
26+
如果是客户的网络问题,建议换个网络供应商或者室友。
27+
28+
如果是网站内部问题,通过针对性的代码修复或者服务器环境的基础设施的修复之后,再判断该问题的优先级,如果需要紧急修复则在代码的产品环境分支上紧急做一次修复的提交,然后merge回开发分支,最后在产品环境分支上再做一次发布。
29+
如果优先级不高,则根据项目安排,放到合适的时机去修复,如在下一次发布的时候一并修复。
30+
31+
第四步:问题的反馈
32+
33+
假设现在我们已经觉得已经把问题修复了,但是可能客户不这样觉得,我们需要在修复问题之后主动询问或发送一条反馈收集表格来验收我们的修复结果与提升用户满意度。
34+
35+
----------
36+
37+
以上是通用的回答模板,面试官想问的就是解决问题的思路而不是具体的方法,毕竟这种问题涉及的更多的是运维方面的知识,本人也仅仅碰到过两次会问这个问题的面试官,并且要求也不高,至于具体的问题只能具体性的分析,本文不涉及。

README.md

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,6 @@ PS:除开知识点,一定要准备好以下内容:
2424
### [数据结构](https://github.com/xbox1994/2018-Java-Interview/blob/master/MD/数据结构.md)
2525
### [高并发](https://github.com/xbox1994/2018-Java-Interview/blob/master/MD/高并发.md)
2626
### 分布式
27-
* [CAP理论](https://www.zhihu.com/question/54105974)
2827
* [缓存](https://www.zhihu.com/question/21419897)
2928
* [](https://www.jianshu.com/p/c2b4aa7a12f1)
3029
* [事务](https://mp.weixin.qq.com/s/RDnf637MY0IVgv2NpNVByw)
@@ -36,4 +35,4 @@ PS:除开知识点,一定要准备好以下内容:
3635
### [搜索引擎](https://github.com/xbox1994/2018-Java-Interview/blob/master/MD/搜索引擎.md)
3736
搜索引擎是因为个人项目关系,那个搜索引擎非常简单,但有很多东西可以问到,可选择性学习借鉴,了解到对项目是如何提问的,还有问题的深度
3837
### [秒杀架构](https://github.com/xbox1994/2018-Java-Interview/blob/master/MD/秒杀架构.md)
39-
### [问题排查](https://www.zhihu.com/question/36402618)
38+
### [问题排查](https://github.com/xbox1994/2018-Java-Interview/blob/master/MD/问题排查.md)

0 commit comments

Comments
 (0)