`

程序员,你会问问题吗?

 
阅读更多

在工作和生活中,总是会有很多人问题我很多技术方面的问题。有一些时候,问问题的和答问题的总是会有一些不爽的事情发生。如下面的几种情况:

  • 比如:“我的电脑老是蓝屏,怎么办?”,通常这样的问题90%以上的回答是:“重装吧”。这让问问题的人感到很沮丧,但你不能不承认那不是答案。而且有时候让人无法解答,比如:“我的makefiel出错了,你帮我看看我的makfile”,我通常会非反问,报了什么错吗?
  • 另一种情况是,回答问题的人首先先对问问题的人的抱怨,你问的问题就不对,或是,你问的这个问题是什么意思,而导致问问题的人却在不停地解释,结果花了好长时间来讨论问题本身是什么。
  • 还有一种情况是,问的问题太简单了甚至太白痴了,比如你自己试一试或是读读文档就知道了的问题,或是问这个问题直接表明了你的无知或是懒惰。这种问题会相当影响别人对你的印象。
  • 第四种情况是,提问者滔滔不绝,扯这扯那,讲了一大堆,听得听累了。最后都不知道你要干什么。

所以,怎么去问问题,怎么问一个好的问题,是一个很重要的事。你提问的技术直接关系到了你是否能够很快得到你满意的答案。

这里有一篇文章推荐给大家《How To Ask Questions The Smart Way》,中文版在这里《提问的智慧》(链接无效了 囧),我把其中的几个亮点总结如下:

  • 提问前先自己尝试查找答案,读读文档、手册,看看有没有相似的问题,看看那些方法能不能帮你解决问题,自己去试一试。如果你是程序员,你应该先学会自己调查一下源代码。(不然,人家回答你的一定是——RTFM – Read The Fucking Manual)这样的问题很多。我有时候很不愿意回答这样的问题,因为我觉得问问题的人把我当成了他的小跟班了。
  • 提问的时候,找正确的人或是正确的论坛发问。向陌生人或是不负责的人提问可能会是很危险的。不正确的人,会让你事倍功半。如果你问Linux的人Windows太慢怎么办?他们一定会让你把Windows删了装Linux去的。
  • 问的问题一定要是很明确的,并且阐述你做了哪些尝试,你一定要简化你的问题,这样可以让你的问题更容易被回答。对于一些问题,最好提供最小化的重现问题的步骤。
  • 你一定要让问题变得简单易读,这和写代码是一样的。只有简单易读的邮件,人们才会去读,试想看到一封巨大无比的邮件,读邮件的心情都没有了。而且,内容越多,可能越容易让人理解错了。
  • 你问问题的态度应该是以一种讨论的态度,即不是低三下四,也不是没有底气。只有这样,你和你的问题才能真正被人看得起。要达到这个状态,不想让别人看不起你,你就一定需要自己去做好充足的调查。问题 问得好的话,其实会让人觉得你很有经验的,能想到别人想不到的地方。
  • 不要过早下结论。比如:“我这边的程序不转了,我觉得是你那边的问题,你什么时候能fix?”,或是“太难调试了,gdb怎么这么烂?!”。当你这么做的时候,你一定要有足够的信息和证据,否则,你就显得很自大。好的问题应该是,“我和你的接口的程序有问题,我输入了这样的合法的参数,但是XX函数却总是返回失败,我们能一起看看吗?”,“我看了一下gdb的文档,发现我在用XXX命令调试YYY的时候,有这样ZZZ的问题,是不是我哪里做错了?”

http://coolshell.cn/articles/3713.html  转自酷壳

分享到:
评论

相关推荐

    程序员面试100问秘籍

    此外,《程序员面试100问秘籍》中也可能涵盖面试技巧,如如何有效地阐述自己的工作经验、如何回答行为面试问题(比如“你遇到的最大挑战是什么?”)、如何进行有效的自我介绍等。 总的来说,这本书提供了全面的...

    程序员的十大无奈

    这个问题记得以前有人问过我女朋友,我当时当场回答那人,我说:“做程序员的女朋友,不一定幸福,而做我的女朋友呢?绝对幸福”所以说呢,事在人为。 3、程序员的生活单调不单调?对于生活,我无法用单调这个词来...

    程序员面试HR常问问题(含答案)

    程序员面试HR常问问题(含答案)

    初级ASP.NET程序员应聘时几个常问的问题几答案

    在IT行业的面试中,尤其是针对初级ASP.NET程序员的面试,常常会涉及到一些核心概念和技术的考察。以下将详细解析这些常见的面试问题。 首先,我们关注的是C#中的面向对象编程特性,这通常包括封装、继承和多态。...

    变态级java程序员面试32问

    ### 变态级Java程序员面试32问解析 #### 1. final, finally, finalize 的区别 - **final**:关键字final在Java中用于声明一个不可更改的变量、方法或类。当一个变量被声明为final时,一旦赋值之后就无法修改;如果...

    程序员求职面试常见问题(面经集)

    除了技术问题,面试官还会关注你的项目经验和实际解决问题的能力。你需要准备好关于你参与过的项目,特别是那些能体现你技术实力和团队协作能力的项目。在描述项目时,强调你的角色、负责的任务,以及如何解决项目中...

    程序员面试宝典(变态级Java程序员面试32问)pdf

    《程序员面试宝典》一书聚焦于Java程序员的高级面试准备,提炼了32个典型且深入的问题,旨在帮助读者全面掌握Java的核心概念和技术细节,从而在面试中脱颖而出。下面,我们将逐一解析这些题目,深入探讨其中的知识点...

    程序员面试中经典问题(必看)

    很不错的宝典文档,有了它面试不用担心,如果您是在没有几分可以发私信给我,如果有的就请上一点给我吧。

    200道java程序员面试常问知识点

    不过,依据文件标题“200道java程序员面试常问知识点”,我们可以推测该文档可能涉及以下Java程序员面试中的常见问题和知识点: 1. Java基础:包括数据类型、变量、运算符、控制流程(if-else,for循环,while循环...

    Java程序员考试中需要注意的几点

    与其他程序员交流可以拓宽视野,解答疑惑,提升解决问题的能力。参加在线社区和论坛,如Java Ranch和Java联盟,可以获取最新的技术信息,参与讨论,分享经验。此外,利用各种模拟考试软件(如Jxam、JTest、Javacert...

    JAVA程序员面试32问

    JAVA程序员面试32问,经典问题~~~

    程序员如何上位?

    1. 大胆提问:新入职的程序员不应害怕问问题,无论是技术难题还是对业务流程的困惑。积极寻求帮助可以避免浪费时间,同时展现出对工作的热情和主动性。 2. 定位自我:明确个人专长和兴趣所在,选择能够发挥自己优势...

    JAVA程序员面试32问,你能回答多少题

    ### JAVA程序员面试32问详解 #### 1. final、finally、finalize的区别 - **final**:关键字final在Java中有多种用途。它可以用来修饰类、方法以及变量。 - 当用于类时,意味着该类不能被继承。 - 修饰方法时,则...

    新版程序员可能问到的面试问题

    新版程序员可能问到的面试问题

    wxh C++程序员经常问的问题.rar

    以下是从“wxh C++程序员经常问的问题.rar”压缩包中的文档“C++程序员经常问的11个问题.doc”中提炼出的一些关键知识点: 1. **内存管理**:C++程序员常常需要处理动态内存分配和释放。理解`new`和`delete`关键字...

    ASP.NET程序员面试人事常问问题及参考答案

    在面试过程中,除了技术能力,面试官还会关注你的沟通能力、团队协作能力和解决问题的思维方式。因此,全面展示自己各方面的素质至关重要。记住,准备充分、自信展现、积极应对,将有助于你在面试中取得成功。

Global site tag (gtag.js) - Google Analytics