写点什么

这样提问,大牛才会为你解答(提问的智慧)

发布于: 2021 年 01 月 19 日
这样提问,大牛才会为你解答(提问的智慧)

在职场上、在生活中提问无处不在,有时我们扮演着提问者,有时我们扮演着回答者。


有些人可能觉得不就是提个问嘛?有啥难的?我很认真的告诉你,提问是一门技术活。


如何正确地提出问题,是一个至关重要的技能。


在写公众号之后,有很多同学会私信我,问我各种问题,作为过来人,我当然懂得那些初入行的程序员们的困惑,我也经历过那个阶段。


在入行初期,我也会问出一些让人难以回答的问题,后来经过社会的毒打,我才渐渐地懂得提问的艺术。


今天我就想谈谈程序员们应该如何提问,有些观点可能听着有点刺耳,但这就是现实。


错误的提问


提的问题其实只要简单的用下搜索引擎就能得到答案。


比如有人问:什么是区块链?



很难吗?身为程序员搜索引擎都不会用?


还是你已经懒到需要别人把:


  1. 打开搜索引擎

  1. 输入关键字

  1. 点击搜索

  1. 点击答案

这几步骤帮你做了,然后再发你链接,你直接点就行了?


再比如一些代码错误,搜索引擎随便一搜即可得知答案,比如:



前人栽树后人乘凉,你偏不在那棵树下待着,拉着别人让他当场种树。


我从来没劝退过学编程的,看到这种的我要劝退你了。


搜索引擎都不会用写什么代码?


你不适合写代码,你没有编程细胞,你适合做少爷。


所以提问之前至少要先自己搜搜吧?别遇到个问题就抛出来,自己都不努力,不去尝试,就想着饭来张口吗?


还有工作上的一些事情,也需要提一提。


比如领导上周发了个代码规范手册,内容很多,上百条。


然后你今天写代码的时候忘了里面一项具体的约束,但是你有点印象,这时候我建议你自己去拉下那个文档找一找,而不是去问同事。


你可能会觉得问下同事更快,但是你自己记不得不要期望别人能记得,公司文件盘就在那里,你自己下载,翻一下很快,能不打扰别人尽量不要打扰别人。


职场上养成这样的习惯,同事间的关系会更加融洽。


就像小时候妈妈教的,自己的事情自己做。


提一些范围过于大的问题。


比如有人问:如何才能学好编程?


我很能理解你想要努力成长奋斗的热血之心。


人人都想上进,人人都想成为别人家的孩子。


但是问题范围过于大,怎样才算是你心目中的学好编程?


是做出个网站就算了吗?还是做出个有口皆碑的轮子?


是月薪达到 1W、2W、3W?


这类问题很模糊,而且只言片语间是说不清的,这肯定是需要经过系统的研究,这估计得一个专栏才能讲得清,这样你让人如何回答?


如果非得让我给出一个答案,那我只能说努力学习?


我估计得到这答案你又不乐意了,说我在敷衍你。


再来个问题:mysql 如何调优?


我感觉你在面试我,我只能回答你:***********。


懂的掌声!


问题冗长,错别字连篇,一堆代码。


这类问题在我们程序员中还是比较常见。


因为我们碰到的问题经常是需要结合一大段代码,需要涉及具体业务逻辑。


然后一堆代码直接微信发过来,没有任何排版,问题有好几段话,直接一扔,坐着解答。


还有一些打了错别字,语句不通,你聊天的时候打错字可以理解,但是你现在是在提问,是请求别人帮你解答。


你需要为自己的提问负责,你的问题都说不清晰,回答者为什么要耗费精力去解读你的提问?


是有几十套房整天想着如何收租,真的闲的蛋疼了吗?


将心比心,别人向你提问的时候这样一堆甩过来,代码一堆,问题都读不通顺,你有何感想?


所以上点心,这种问题,我贴个 RocketMQ issue template,参照这样的格式,写出来,然后发过来提问。



还有和业务强相关的问题,在你充分研究都束手无策之下,真心建议问下你 leader,放着 leader 不用干嘛?外人理解你业务都得花很大精力。


leader 不是拿来供着的,是拿来用的。


正确的提问


自己要先想清楚细节,精简问题。


问题不要张口就来,你遇到问题你真的努力思考过了吗?


你真的理清数据的来龙去脉的吗?


你真的自己打断点一步一步调试过了吗?


还是你只看到,呀,这个服务报错了,怎么回事?


于是问旁边的老哥,我这调用怎么报错了,你帮我看看?


我以前就是这样的,因为我是真的不懂,束手无策,那时断点都打不利索。


随便出点问题就睁眼瞎。


这时候就需要反思下自己,去学习,让知识武装自己。


再说回来,如果你仔细思考过你可能会发现问题被你解决了。


有时候就是缺少前后的梳理,你就集中在某个点,一直想一直想,抓破脑袋也想不出来。


这时候就可以通过为了要正确的提问反推一下自己,因为正确的提问需要提炼问题,需要清楚里面的细节,所以迫使你自己从头开始理,往往到最后问题就被你自己解决了。


就算还有疑问,那问题也相当精简和准确,面对回答者的反问,你能很清晰地把流程说清楚,提高解决问题的效率。


所以自己先摸清细节,精简问题,既能锻炼自己的问题排查能力,提炼能力,还能更好地提问,百利而无一害。


不要觉得替你解决问题理所当然,要珍惜每一次提问。


我其实是一个不喜欢提问的人,我觉得会麻烦别人,除非自己真的解决不了我才会发问。


奈何能力有限,所以我还是会经常问别人问题,我也有提问得不到回复的时候,我会气愤,凭什么不回答我的问题。


人之常情,我很能理解编辑了一段话之后得不到任何回应的感受。


但是反过来想想人家可能在赶项目?


人家可能每天凌晨两点到家?我又没给人钱,人家有什么义务和责任来回答我的问题?


所以要接收这个现实,也没什么好抱怨的,他不是你爸妈,他也很忙,理解一下。


所以有人回答你的提问时你要珍惜,在提问之前你要思考这个问题这样问好不好,是不是模棱两可?


别人抽出时间回答你的问题,你能做的就是缩短别人回答的时间,最高境界就是能提出一些有价值的问题,让双方都得到收益。


还有,保持尊重,不要用向你提问是给你面子一样的语气说话,蜜汁自信?


尽量自己先思考得出几个可能性,或者说几个方案。


提问之后说出自己的理解,至少证明你努力思考过。


毕竟你自己是当事人,你熟悉自己的问题场景,所以可以说说几个大方向,或者备选方案。


我随便举个例子,比如:我现在要做些日志的处理,消息队列用哪个好?


把这种问题换成:我现在要做些日志的处理,消息队列是用 Kafka 、RocketMQ 还是 RabbitMQ?


这样问题就更加具体,这里就有个选择题好过简答题的说法。


比如你向领导提问,让他做决定。


提问 A:领导,最近业绩有点下滑,我这里有两个方案,A 方案需要 XXXX,B 方案需要 XXXX,您觉得哪个比较好?


提问 B:领导,最近业绩有点下滑,我该怎么办?


你是领导,你喜欢哪个?


毋庸置疑,在考试的时候我就喜欢做选择题,而不是简答题。


领导招你是要你想给方案,而不是给你想方案。


最后


这篇文章的目的不是出于讽刺,而是希望大家都能正确的提问。


正确的提问不仅能提高个人对问题的分析能力、提炼能力,还能提高解决问题的效率。


这样,你好我好大家好,才是真的好。


别做伸手党,有些问题真的是需要自己钻研才能成长,别人告诉你的和你自己研究出来的不一样。


还有强调一下,这篇文章不是让我们不要提问,而是正确的提问。


然后再推荐看一篇文章,《How-To-Ask-Questions-The-Smart-Way》,专门写给我们编程人士看的。



英文版地址:http://www.catb.org/~esr/faqs/smart-questions.html


中文版地址:https://github.com/ryanhanwu/How-To-Ask-Questions-The-Smart-Way/blob/master/README-zh_CN.md


欢迎关注我的公众号【yes 的练级攻略】,更多硬核文章等你来读。





我是 yes,从一点点到亿点点,欢迎在看、转发、留言,我们下篇见。


发布于: 2021 年 01 月 19 日阅读数: 42
用户头像

分享后端技术干货,驰骋技术的江湖。 2019.01.17 加入

公众号「yes的练级攻略」

评论

发布
暂无评论
这样提问,大牛才会为你解答(提问的智慧)