重读提问的智慧

0x00

为什么叫”重读“呢……其实在这次读之前已经读过两三遍了……但是还是会在提问的时候被学长批评提的问题不好(

qwq…学长为了让我长记性,,属实是”煞费苦心“。

因此特地认认真真重读《提问的智慧》,同时做一些摘要,以飨读者。

0x01

简介部分

  • 大家都喜欢回答一个能激发思维、提高理解力、暴漏从未思考过的问题的”好问题“。
  • 帮助那些不愿意帮助自己的人是没有效率的。无知没有关系,但装白痴就是不行。
  • 不必在技术上很在行,但你必须表现出能引导你变得在行的特质 —— 机敏、有想法、善于观察、乐于主动参与解决问题。
  • 能立刻得到快速并有效答案的最好方法,就是像赢家那样提问 —— 聪明、自信、有解决问题的思路,只是偶尔在特定的问题上需要获得一点帮助。

在提问之前

  • 应仔细做到:
    • 尝试上网搜索以找到答案。
    • 翻一翻 github 等知名网站的 issue 等。
    • 尝试自己检查或试验以找到答案。
    • 尝试阅读常见问题文件(FAQ)。
    • 尝试阅读已有问题提示
    • 尝试阅读源代码。
  • 不要将所有问题一股脑拋出。
  • 准备好你的问题,再将问题仔细的思考过一遍,因为草率的发问只能得到草率的回答,或者根本得不到任何答案。
  • 小心别问错了问题。
  • 绝不要自以为够格得到答案,你没有;你并没有。

提问时

A.语气语态

  • 不要妄想用自己的痛苦程度来打动他人,而应该是在这点空间中使用极简单扼要的描述方式来提出问题。
  • 不能粗鲁傲慢,也不该低声下气。
  • 礼多人不怪,而且有时还很有帮助。
  • 使问题容易回复,因此要求通过电子邮件回复是非常无礼的,除非你认为回复的信息可能比较敏感。

B.内容

  • 一个好标题范例是目标 —— 差异式的描述,许多技术支持组织就是这样做的。在目标部分指出是哪一个或哪一组东西有问题,在差异部分则描述与期望的行为不一致的地方。
  • 去掉无意义的提问句。
  • 如果你只是想让别人帮忙审查(Review)一下代码,在开头就要说出来,并且一定要提到你认为哪一部分特别需要关注以及为什么。
  • 精确地描述问题并言之有物,尽量去揣测一个黑客会怎样反问你,在你提问之前预先将黑客们可能提出的问题回答一遍。话不在多而在精
  • 描述提问的最根本原因(需求),而不是描述一个自己解决方案中的问题。因为自己的解决方案不一定是最优解。
  • 要确信原原本本告诉了问题的症状
  • 在开头就描述你的目标,然后才陈述重现你所卡住的特定步骤。

C.提问方式

  • 使用清晰、正确、精准且合乎语法的语句。
  • 正确的拼写、标点符号和大小写是很重要的。如果在使用非母语(英语)提问,可以犯点拼写和语法上的小错,但决不能在思考上马虎。
  • English is not my native language; please excuse typing errors.
  • 使用易于读取且标准的文件格式发送问题,或者是截图(但尽量不要拍电脑屏幕)。

提问后

  • 别让自己卷入口水战,最好不要理睬大多数的口水战。

一些好问题

我在 S2464 主机板上试过了 X 、 Y 和 Z ,但没什么作用,我又试了 A 、 B 和 C 。请注意当我尝试 C 时的奇怪现象。显然 florbish 正在 grommicking,但结果出人意料。通常在 Athlon MP 主机板上引起 grommicking 的原因是什么?有谁知道接下来我该做些什么测试才能找出问题?

foo 项目代码在 Nulix 6.2 版下无法编译通过。我读过了 FAQ,但里面没有提到跟 Nulix 有关的问题。这是我编译过程的记录,我有什么做的不对的地方吗?

如何更好地回答问题

  • 态度和善一点。
  • 对初犯者私下回复。
  • 如果不确定,一定要说出来;不要开错误地玩笑,因为会有人当真。
  • 适当的反问之外,要正面地回答问题。

0x03

一些反思

记录下一些自己因为情商被骂的过程和错误:

  • 某一次搭博客的时候,问学长问题时没有原原本本地描述导致花了半个小时才搞明白问题是什么(((… 然后学长血压…噌…就上去了(((
  • (这次不是我)机房一同学因为自己的原因吐槽出题人,被出题人骂了一顿…(引以为戒
  • 问学长问题的时候手贱喜欢打括号…不利于清晰地描述问题
  • 回答问题时没有动手实践…后来自己遇到这个问题才发现当时给的解决方案不完全对…
  • 机房一同学在其他 ctf 群问正在进行比赛题目,,,被干翻
  • 问问题的时候要注意学长/姐的血压问题…并提前买好降压药。。。