jiandan97 发表于 2017-3-21 19:43:54

做一个“会”提问的程序员

做一个“会”提问的程序员为什么说做一个会提问的程序员呢?提问谁不会啊!直接张嘴就可以问,但是在实际工作中,除非关系已经非常不错的同事,才会放下手中的活给你做一个解答,而更多的人的反应是即使不忙,也会告诉你,等下,然后最终不了了之。所以我们就需要找一个方法,一个提问的方法,让对方能即使的给你回答。在兄弟连(www/itxdl/cn)中,大家都在紧张的学习,怎么能让别人回答了你,还非常高兴呢?首先你要选择一个好的问题。我最开始的时候有很多问题比较模糊,例如“SQL中的连接查询JOIN如何工作?”。这个问题并不是很棒,因为连接查询如何工作有很多不同的部分!那么对方怎么知道我有兴趣学习的是什么?我喜欢问那种答案是一个直截了当的事实的问题。例如,在SQL连接查询示例中,一些事实问题的答案可以是: ·连接两个大小为N和M的表的时间复杂度是多少?是O(NM)吗?还是 O(NlogN)+ O(MlogM)?·MySQL在进行连接查询之前是否始终将联结列排序作为第一步?·我知道Hadoop有时会“hash连接”——这是其他数据库引擎也使用的一个连接策略吗?·当我在一个索引列和一个未索引列之间进行连接时,我需要对非索引列进行排序吗? 当我问像这样超级具体的问题时,被问的人并不总是知道答案,但至少他们理解了我感兴趣的问题是怎么样的——很明显,我并不想知道如何使用连接查询,我就是想了解一些实现细节和算法。我们的目标是提出易于回答的关于技术概念方面的问题。如果有一系列好的问题,那么就可以帮助解答的人将他们所知道的内容有效地解释给我听,并指导他们告诉我我感兴趣的东西。 到底怎么问才是解决问题的方便的途径?大部分时候我们选择提问的对象时我们的同事,同学,甚至是领导。那这个时候我们就需要考虑及格问题:·第一现在是不是适合提问?(如果他们在忙着做一件紧急的事情或者正在和别人进行交谈,那么这个时候提问要么就是被拒绝,要么就是被嫌弃了,可能这次问题解决了,但是下次可能就会有阻碍了)·第二:初步判断这个问题他是否有能力回答?(同样的工作环境,甚至可能接触的知识面都是一样的,你不会的时候,就需要想一下,他的知识储备是不是可以满足我的提问内容?还是说都一样不会,反而降低了各自的工作效率。)第三:提问和我自己度娘亲亲哪个花的时间更多?(如果我问了一个问题,将花费他们5分钟回答,却将节约我2个小时的时间,那就棒棒哒 ,反而我提问了之后半天的时间都没有解决,然而最终却通过度娘10分钟就解决了。这样的提问就是不必要的了。) 也许在自己身边,很多人表示自己很愿意帮助自己回答问题!我认为将好的问题当作一件你可以做的超棒的事情,并放到对话中是很重要的,当然当时在兄弟连学习的时候遇到问题基本都是可以随时解决的,毕竟老师随时都会在教师,或者办公室,甚至有的时候晚上12点之后还有老师值班,不管是否是我当时的授课老师,都会得到比较满意的答案。OK,分享就大概是这些,如果你是初学者,问题会比较多,自学的时候可能会迷茫,不妨去兄弟连试试(177<1011<6169),也许你会很轻易的就将你想学的知识学到手。祝君好运。
页: [1]
查看完整版本: 做一个“会”提问的程序员