一个优秀的人首先应该具有很好的自学能力。会检索关键词找到正确对象,高速浏览等。在遇到问题时不是一筹莫展、不断抱怨、问怎么办或立刻去寻求别人的帮助做伸手党,而是想我该怎么做才能解决问题。办法总比困难多,我们应该用尽所有办法,利用手上拥有的资源去找办法。比如,翻阅书籍,阅读使用手册,搜索网络等。然而当你真的尽力尝试各种办法后依旧无法解决问题时再去向他人寻求帮助。读了《提问的智慧》这篇文章令我受益匪浅。
《提问的智慧》主要是写在黑客的世界里,你所提技术问题的解答很大程度上取决于你提问的方式与解决此问题的难度,教你如何提问才更有可能得到满意的答复。但提问的技巧在生活中也都是通用的。
刚才说过,在遇到困难的时候要先自己想尽自己能想到的办法去解决问题,那么在你提问时一定对这个问题有所了解,因此在提问时一定要提问的具体一些,让对方知道你是真的想解决这个问题,而不是把问题一下丢给别人就不管了,像是让别人帮你做家庭作业一样。没有人喜欢去这样这样的人,没有人喜欢伸手党。我们也都知道,老师们都喜欢一点就通的学生,也会为一些遇到不会的题的同学耐心解答,但绝不会喜欢作业一个字没写就拿给老师说我一个题都不会请给我讲一下的学生。因此在提问前一定要自己先尝试着解决问题。
在通过电邮、新闻组或论坛提技术问题以前,做以下事情:
1.尝试在你准备提问论坛的历史文档中搜索答案
2.尝试搜索互联网以找到答案
3.尝试阅读手册以找到答案
4.尝试阅读“常见问题文档”(FAQ)以找到答案
5.尝试自己检查或试验以找到答案
6.尝试请教懂行的朋友以找到答案
7.如果你是程序员,尝试阅读源代码以找到答案
提问时要具体到步骤,组织好逻辑让他人更易听懂,注意礼貌用语让你更容易得到他人的帮助。
描述问题应准确且有内容
- 仔细、清楚地描述问题的症状
- 描述问题发生的环境(主机、操作系统、应用程序,任何相关的),提供销售商的发行版和版本号(如:“Fedora Core 7”、“Slackware 9.1”等)
- 描述提问前做过的研究及其理解。
- 描述提问前为确定问题而采取的诊断步骤。
- 描述最近对计算机或软件配置的任何相关改变。
- 如果可能,提供在可控环境下重现问题的方法。
用一些例子来比较一下吧。同样的问题两种提法,一种愚蠢,另一种明智。
愚蠢:
我在哪能找到关于 Foonly Flurbamatic 设备的东西?
这个问题在乞求得到"搜搜该死的网络"式的回复。
明智:
我用谷歌搜索过“Foonly Flurbamatic 2600”,但没有找到什么有用的,有谁知道在哪能找到这种设备的编程信息?
这个人已经搜索过网络了,而且听起来他可能真的遇到了问题。
愚蠢:
我不能编译某项目的源代码,它为什么这么破?
提问者假设是别人搞砸了,太自大了。
明智:
某项目的源代码不能在某Linux 6.2 版下编译。我读了常见问题文档,但其中没有与某 Linux 相关的内容。这是编译时的记录,我做错了什么吗?
提问者已经指明了运行环境,读了常见问题文档,列出了错误,也没有假设问题是别人的过错,这家伙值得注意。
愚蠢:
我的主板有问题,谁能帮我?
某黑客对此的反应可能是:“是的,还需要帮你拍背和换尿布吗?”,然后是敲下删除键。
明智:
我在 S2464 主板上试过 X、Y 和 Z,当它们都失败后,又试了 A、B 和 C。注意我试 C 时的奇怪症状,显然某某东西正在做某某事情,这不是期望的行为。通常在 Athlon MP 主板上导致某某事情的原因是什么?有谁知道我还能再试点什么以确定问题?
相反地,这个人看来值得回答。他或她展现了解决问题的能力而不是坐等天上掉馅饼。
在最后那个问题中,注意“给我一个回答”与“请帮我看看我还能再做点什么测试以得到启发”之间细微但重要的差别。
总而言之,提问题时要抓住重点,要精炼而不在于多。天上没有掉馅饼的事,别人也有别人的事情要做,凭什么要为你浪费时间,因此向别人提出自己的问题寻求帮助的前提是一定要自己先想办法解决而又无法解决。这样你对这个问题有了一定的了解,提出的问题也就越具体、越有水平、越表现出你的态度诚恳,也是对别人的尊重,这样你才有可能得到别人的帮助。