提问的智慧:展示你是‘赢家’(winner),而非‘失败者’(loser)

92 阅读5分钟

大家好,我是MAI麦造

在职场中,实习生经常会提出问题,有得让人实在是难以回答。
其主要原因还是在提出的问题非常模糊。

本篇文章总结自 《提问的智慧》(How To Ask Questions The Smart Way)

这是开源社区与技术论坛广为流传的一篇指南性的文章,由 Eric S. Raymond 编写。

对于如何描述问题提出问题在哪儿提出、非常的有启发。

1. 展示你是‘赢家’(winner),而非‘失败者’(loser)

只有那些积极主动、认真思考、尽自己最大努力去查找和解决问题的人,才会得到高质量的帮助。

你要表现出你“自己已经做了很多功课”,而不是把问题直接扔给别人,让他们帮你全盘解决。

这样才能赢得高手们的尊重和回应。

反之,如果你只是在社区不停地索要答案,不愿意先自己尝试,那你就会被视为“失败者”,很容易被忽视甚至被排斥。

失败者提问:

“我的程序不工作,帮帮我!”(没有说明环境,没有展示自己尝试过什么)

赢家提问:

“我在 Ubuntu 20.04 上使用 Python 3.9 运行下面这段代码时,遇到了这个错误信息。之前我查过官方文档,也在网上搜索过类似的问题,但没找到解决办法。代码和错误日志如下……我试过重装相关库,但问题依旧。不知有没有人遇到过类似情况,能指点一下可能的原因或调试方向?”

2. 提问之前先自己做功课

在你问别人问题前,先在网上搜索看手册和FAQ翻阅旧帖自己尝试解决

这样你不会浪费别人的时间,也更容易得到答案。

假设你的Linux系统里某个程序报错,你先用Google搜索错误信息,或者查程序的帮助文档,再试试调整设置和重新安装,如果都无效,你可以带着这些尝试的过程去提问。

3. 选择适当的地方提问

不同的问题适合问不同的社区或论坛

比如编程问题适合Stack Overflow电脑硬件问题适合Super User专门的项目有自己的邮件列表和论坛。不要跨平台乱发,避免让人觉得你不尊重社区。

你问Python代码问题,不要发到Linux安装群里,也不要同时间重复发多个地方。

4. 写个准确、简洁而有信息量的标题

标题是别人看到的第一眼,要简单明确描述问题

比如“X.org 6.8版中,MV1005显卡导致鼠标指针变形”,而不是“救命啊!我的笔记本坏了!

标题写“Python 3.8中,requests库请求超时错误”,比“求助,代码不工作”吸引更多专家关注。

5. 用清晰、规范的语言表达问题

拼写无误、语法正确、避免聊天用语或火星文,可以让人更容易理解你的问题和认真回答。

对非母语者,礼貌提示语言困难更易获得宽容。

例如写“我在尝试连接数据库时出现TimeoutError,请问可能原因?”与写“连接数据库不成功咋办?

6. 描述真实的症状而非猜测的原因

发问时陈述你看到的错误和表现,不要冒然推断“我觉得是硬件坏了”,让技术高手帮你分析问题。

程序崩溃时显示Segmentation fault,运行20分钟后发生。”比“我怀疑硬盘坏了,怎么修?

7. 提供尽可能详细的背景和步骤

说明你的环境(系统版本、硬件信息)、你做了哪些操作、之前改动了什么,最好提供最小可复现问题的测试案例。

例如:“我的Ubuntu 20.04系统,在执行make时,出现以下错误日志……”并附出错命令和相关代码段。

8. 不要一味追求完整答案,要请教解决思路或检查点

比起“给我完整代码”,更容易获得回应的是“代码为什么会在第7行出错?有没有测试方法?”你表现出愿意学习和尝试的态度。

例如:“我测试某个函数时,预期输出A,实际返回B,哪里可能出错?”比“请帮我写个修正代码。

9. 礼貌尊重,结尾别忘感谢和反馈结果

用“谢谢您的帮助”表达感激很重要, 问题解决后最好回来汇报结果或加短评,帮助社区知识积累。

例如:“感谢大家的指导,问题是因为驱动版本不兼容,更新后已解决。”

10. 面对无礼或挫折保持冷静,不要放弃

有时你会收到不耐烦甚至刻薄的回应,不代表没人想帮,保持理性,改进问题后继续寻求帮助。

对方说“RTFM”(去看说明书),不要生气,而是认真读文档后再回应“我查过文档,没找到XX说明,能否帮忙?”

11. 避免常见的无意义问题和误区

诸如“程序没用”、“谁帮我修电脑?”、“我怎么破解密码?”等问题不会得到帮助,技术社区只帮忙解决明确且合理的技术难题。

避免提问“我程序不工作,谁能帮我?”而要具体说“我执行脚本时出现以下错误,期待输出XX,实际是XX。

最后

本文只是总结了一些核心观点,更多的还是需要阅读原文image.png

英文原文链接: www.catb.org/~esr/faqs/s…

简体中文翻译版: github.com/ryanhanwu/H…