|
@@ -0,0 +1,80 @@
|
|
|
+# 问题处理能力
|
|
|
+
|
|
|
+包括问题解决和问题规避两大方面。
|
|
|
+
|
|
|
+## 问题解决能力
|
|
|
+
|
|
|
+> 举个例子:在公交站有清楚明白的站牌、而且有其他等车的人可以帮你解答的情况下,却非要拦住一辆2路汽车,问司机这个站过不过8路。
|
|
|
+
|
|
|
+我是完全没法理解这种人脑子长了是有什么用处的。独立思考、独立解决,不依赖他人。要培养自己独立解决问题的能力,而不是培养别人解决问题的能力。别人帮你是情分,不帮你是本分。所以解决问题首要的原则应该是:***靠自己,少烦人***。
|
|
|
+
|
|
|
+### 问题定位
|
|
|
+
|
|
|
+发现问题第一步应该是***思考问题产生的原因***,可以通过日志记录、错误信息着手。多动手,少动口,不能瞪一眼没看到问题所在就立马张嘴问别人,这不仅会使自己的能力丧失,也会浪费其他人的时间。
|
|
|
+
|
|
|
+在开发过程中,最常见的问题就是应用崩溃。往往这类问题,很容易找到源头。
|
|
|
+
|
|
|
+举个例子,以下是命令行报错信息:
|
|
|
+
|
|
|
+```
|
|
|
+module.js:474
|
|
|
+ throw err;
|
|
|
+ ^
|
|
|
+
|
|
|
+Error: XXX '/Users/xxx/xxx.js'
|
|
|
+ at Function.Module._resolveFilename (module.js:472:15)
|
|
|
+ at Function.Module._load (module.js:420:25)
|
|
|
+ at Module.runMain (module.js:607:10)
|
|
|
+ at run (bootstrap_node.js:420:7)
|
|
|
+ at startup (bootstrap_node.js:139:9)
|
|
|
+ at bootstrap_node.js:535:3
|
|
|
+```
|
|
|
+
|
|
|
+这是最浅显的错误信息,出错的文件位置、出错的行列号、出错的原因全部都一览无余,找出对应部分问题即可。
|
|
|
+
|
|
|
+
|
|
|
+另外还有一些,如:
|
|
|
+
|
|
|
+```
|
|
|
+Error: Redis connection to 127.0.0.1:6379 failed - connect ECONNREFUSED 127.0.0.1:6379
|
|
|
+ at Object.exports._errnoException (util.js:1022:11)
|
|
|
+ at exports._exceptionWithHostPort (util.js:1045:20)
|
|
|
+ at TCPConnectWrap.afterConnect [as oncomplete] (net.js:1090:14)
|
|
|
+ code: 'ECONNREFUSED',
|
|
|
+ errno: 'ECONNREFUSED',
|
|
|
+ syscall: 'connect',
|
|
|
+ address: '127.0.0.1',
|
|
|
+ port: 6379
|
|
|
+```
|
|
|
+
|
|
|
+只知道错误信息,不知道具体出错位置的,也可以根据错误信息很快定位到问题。
|
|
|
+
|
|
|
+其他一些问题,如语法问题、死循环、逻辑错误,在调试过程中很难排查,则需要耐下心来单步跳入检查。
|
|
|
+
|
|
|
+### 解决问题
|
|
|
+
|
|
|
+大多数能遇见的问题都不是什么难题。即便觉得是难题也无非是经验的不足。所以,要善于利用搜索引擎,多记录,多整理,多总结。
|
|
|
+
|
|
|
+有一些顽固问题可能会牵一发而动全身,则需要考虑成本最小化,不能捡了芝麻丢了西瓜。
|
|
|
+
|
|
|
+另外,切忌拆东墙补西墙。要么根治,要么不治。
|
|
|
+
|
|
|
+## 问题规避能力
|
|
|
+
|
|
|
+### 1.避免犯相同的错误
|
|
|
+
|
|
|
+> 很多年轻人工作起来似乎从来不多加思考,不分析,也不想象,只会跟着别人的指示去做事,凭着自己的感觉去工作。结果,上次做过的事情,这次还是不会做。就像那些路盲一样,一个地方去过很多次,永远也不记得如何走。
|
|
|
+
|
|
|
+你犯的错误,大多数都在反复,学会思考总结,避免总是在犯相同的错误。
|
|
|
+
|
|
|
+### 2.举一反三
|
|
|
+
|
|
|
+再进一步,在思考总结的基础之上,学会举一反三,能够有效规避相似的错误。
|
|
|
+
|
|
|
+### 3.科学严谨
|
|
|
+
|
|
|
+严谨是不犯错的前提。
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|