当前位置 博文首页 > yes的练级攻略:这样提问,大牛才会为你解答(提问的智慧)

    yes的练级攻略:这样提问,大牛才会为你解答(提问的智慧)

    作者:yes的练级攻略 时间:2021-01-19 10:04

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

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

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

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

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

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

    错误的提问

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

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

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

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

    1. 打开搜索引擎

    2. 输入关键字

    3. 点击搜索

    4. 点击答案

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

    是月薪达到 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,从一点点到亿点点,欢迎在看、转发、留言,我们下篇见。

    下一篇:没有了