掃二維碼與項(xiàng)目經(jīng)理溝通
我們?cè)谖⑿派?4小時(shí)期待你的聲音
解答本文疑問(wèn)/技術(shù)咨詢(xún)/運(yùn)營(yíng)咨詢(xún)/技術(shù)建議/互聯(lián)網(wǎng)交流
提出好的問(wèn)題是在編寫(xiě)軟件時(shí)的一個(gè)非常重要的技能。這么多年來(lái)我對(duì)此也算略有小成。這里有一些我用著覺(jué)得很棒的指導(dǎo)方針!

我們擁有10年網(wǎng)頁(yè)設(shè)計(jì)和網(wǎng)站建設(shè)經(jīng)驗(yàn),從網(wǎng)站策劃到網(wǎng)站制作,我們的網(wǎng)頁(yè)設(shè)計(jì)師為您提供的解決方案。為企業(yè)提供成都網(wǎng)站制作、做網(wǎng)站、微信開(kāi)發(fā)、小程序制作、手機(jī)網(wǎng)站制作設(shè)計(jì)、H5頁(yè)面制作、等業(yè)務(wù)。無(wú)論您有什么樣的網(wǎng)站設(shè)計(jì)或者設(shè)計(jì)方案要求,我們都將富于創(chuàng)造性的提供專(zhuān)業(yè)設(shè)計(jì)服務(wù)并滿(mǎn)足您的需求。
我實(shí)際上是那種總是會(huì)問(wèn)出愚蠢問(wèn)題或“不好”問(wèn)題的大信徒。我一直在問(wèn)人們一些愚蠢并且完全可以通過(guò)谷歌搜索或搜索代碼庫(kù)解決的問(wèn)題。大多數(shù)時(shí)候我都不愿意自己去搜索解決,但有的時(shí)候我又會(huì)無(wú)論如何都自己去搞定,而且也不會(huì)認(rèn)為這如同世界末日一樣可怕。
所以本文中列舉的各個(gè)策略不是關(guān)于“在提問(wèn)之前你必須要做的所有事情”,而是“一些可以幫助提出更好的問(wèn)題并得到我想要的答案的要點(diǎn)!”。
我們的目標(biāo)是提出易于回答的關(guān)于技術(shù)概念方面的問(wèn)題。我時(shí)常碰到知識(shí)淵博并且這些知識(shí)也是我想知道的人,但他們并不總是知道如何確切地用***的方式解釋。
如果有一系列好的問(wèn)題,那么就可以幫助解答的人將他們所知道的內(nèi)容有效地解釋給我聽(tīng),并指導(dǎo)他們告訴我我感興趣的東西。那么我們?cè)撊绾巫龅竭@一點(diǎn)呢?
這是我最喜歡的提問(wèn)技巧之一!提問(wèn)形式基本上是這樣的:
例如,我最近在和人(一個(gè)優(yōu)秀的問(wèn)題提問(wèn)者)談?wù)摼W(wǎng)絡(luò)!他們說(shuō)“所以,我在這里的理解是有某個(gè)遞歸式dns服務(wù)器鏈……”。那是不正確的!實(shí)際上沒(méi)有遞歸式DNS服務(wù)器鏈。(當(dāng)你談到遞歸式DNS服務(wù)器時(shí),只涉及一個(gè)遞歸式服務(wù)器)因此他們說(shuō)出他們當(dāng)前的理解,可以方便我們澄清它實(shí)際上的工作原理。
我對(duì)rkt很感興趣,但我不明白為什么rkt在運(yùn)行容器時(shí)會(huì)比Docker占用更多的磁盤(pán)空間。
雖然“為什么rkt比Docker要使用更多的磁盤(pán)空間”不怎么像是正確的問(wèn)題——我差不多知道代碼是如何工作的,但我不明白為什么他們那樣寫(xiě)代碼。所以我把這個(gè)問(wèn)題寫(xiě)到 rkt-dev 郵件列表:為什么rkt存儲(chǔ)容器圖像時(shí)不同于Docker?
我:
我得到的答案超級(jí)超級(jí)有幫助,正是我所尋找的。我花了很長(zhǎng)時(shí)間以一種我滿(mǎn)意的方式制定了這個(gè)問(wèn)題,我很高興我花了時(shí)間,因?yàn)樗刮腋玫孛靼琢藗€(gè)中奧妙。
闡明你的理解并不容易(需要時(shí)間思考你所知道的并澄清你的想法),但效果會(huì)很好,更方便你要求幫助的人針對(duì)性地提出解答。
我有很多問(wèn)題一開(kāi)始有點(diǎn)模糊,如“SQL中的連接查詢(xún)JOIN如何工作?”。這個(gè)問(wèn)題不是很棒,因?yàn)檫B接查詢(xún)?nèi)绾喂ぷ饔泻芏嗖煌牟糠?!那么?duì)方怎么知道我有興趣學(xué)習(xí)的是什么?
我喜歡問(wèn)那種答案是一個(gè)直截了當(dāng)?shù)氖聦?shí)的問(wèn)題。例如,在SQL連接查詢(xún)示例中,一些事實(shí)問(wèn)題的答案可以是:
當(dāng)我問(wèn)像這樣超級(jí)具體的問(wèn)題時(shí),被問(wèn)的人并不總是知道答案,但至少他們理解了我感興趣的問(wèn)題是怎么樣的——很明顯,我并不想知道如何使用連接查詢(xún),我就是想了解一些實(shí)現(xiàn)細(xì)節(jié)和算法。
很多時(shí)候當(dāng)有人向我解釋某事時(shí),他們會(huì)說(shuō)一些我不明白的東西。例如,可能有人正在向我解釋一些關(guān)于數(shù)據(jù)庫(kù)的東西,并說(shuō)“好的,我們使用MySQL的樂(lè)觀鎖,因此……”。等等,我不知道什么是“樂(lè)觀鎖”啊。所以這需要提問(wèn)了! : )
阻止某人接著說(shuō)下去并提問(wèn)“嘿,那是什么意思?”是一個(gè)超級(jí)重要的技能。我認(rèn)為它是自信的工程師的屬性之一,并且培養(yǎng)起來(lái)會(huì)大有裨益。我看到很多高級(jí)工程師經(jīng)常要求澄清說(shuō)明他或她不明白的地方——我覺(jué)得當(dāng)你對(duì)自己的技能更有信心時(shí),這更容易。
越是這么去做,在我要求別人澄清的時(shí)候就越是感覺(jué)自然。事實(shí)上,如果有人在我解釋的時(shí)候不要求我澄清,我反而會(huì)擔(dān)心他們不是真的有在聽(tīng)!
這也為問(wèn)題回答者創(chuàng)造了在觸及他們知識(shí)領(lǐng)域范圍之外時(shí)可以承認(rèn)的余地!很多時(shí)候,當(dāng)我問(wèn)某人問(wèn)題時(shí),如果問(wèn)到他們不知道的東西。我問(wèn)的人通常真的非常善于說(shuō)“不,我不知道!”
當(dāng)我開(kāi)始當(dāng)前這份工作時(shí),我首先去了數(shù)據(jù)團(tuán)隊(duì)。當(dāng)我看我的新工作需要什么的時(shí)候,有這些要求!Hadoop,Scalding,Hive,Impala,HDFS,zoolander,以及等等。我可能之前聽(tīng)說(shuō)過(guò)Hadoop,但這些單詞是什么意思我基本上是兩眼一抹黑。其中一些是內(nèi)部項(xiàng)目,其中一些是開(kāi)源項(xiàng)目。所以我從要求幫助我理解每個(gè)術(shù)語(yǔ)的含義和它們之間的關(guān)系開(kāi)始。我可能會(huì)問(wèn)的一些問(wèn)題是:
實(shí)際上我編寫(xiě)了一部關(guān)于所有術(shù)語(yǔ)的“字典”,因?yàn)樾g(shù)語(yǔ)實(shí)在太多,并且理解所有的術(shù)語(yǔ)意味著真正幫助我定位自己,以便于以后提出更好的問(wèn)題。
在我鍵入上面的SQL問(wèn)題時(shí),我在Google搜索框中輸入了“如何實(shí)現(xiàn)SQL連接”。我點(diǎn)擊了一些鏈接,看到“哦,我知道了,有時(shí)有排序,有時(shí)有哈希連接,以前我聽(tīng)說(shuō)過(guò)”這些話(huà),然后寫(xiě)一些我遇到的更具體的問(wèn)題。首先稍微Google一下,這可以幫助我寫(xiě)出更好的問(wèn)題!
也就是說(shuō),我認(rèn)為人們有時(shí)對(duì)“在沒(méi)有谷歌搜索之前就不要提問(wèn)題”這一原則太過(guò)苛刻——有時(shí)我在和某人一起吃午飯的時(shí)候,因?yàn)閷?duì)他們的工作好奇,于是我就會(huì)問(wèn)到相關(guān)的基本問(wèn)題。這完全正常!
但是做研究非常有用,并且做足夠的研究以便于提出一系列超贊的問(wèn)題真的很有意思。
在這里我主要談?wù)撓蚰愕耐聠?wèn)問(wèn)題,因?yàn)榇蠖鄶?shù)時(shí)候我都是向他們求助的。
詢(xún)問(wèn)同事時(shí),我會(huì)思考到的一些問(wèn)題是:
我不總能做好這些事情,但考慮這些確實(shí)于我有所幫助。
此外,我通常會(huì)更多地去問(wèn)更靠近問(wèn)題的人——幾乎每天我都會(huì)與之談?wù)摰娜?,一般說(shuō)來(lái)我更很傾向于去問(wèn)他們問(wèn)題,因?yàn)樗麄兏私馕业墓ぷ鞅尘?,從而給我一個(gè)有用的答案。
《How to ask questions the smart way by ESR》是一個(gè)流行和相當(dāng)有敵意的文檔(它的開(kāi)頭陳述很爛,如‘我們稱(chēng)呼這樣的人為“失敗者”’)。內(nèi)容關(guān)于如何在互聯(lián)網(wǎng)上向陌生人提問(wèn)。向互聯(lián)網(wǎng)上的陌生人問(wèn)問(wèn)題是一個(gè)超級(jí)有用的技能,可以讓你獲取真正有用的信息,但這也是一類(lèi)“硬模式”的問(wèn)題。因?yàn)榕c你對(duì)話(huà)的人對(duì)你的情況知之甚微,所以更仔細(xì)地陳述你確切想要知道什么更佳。我不喜歡ESR文檔,但它確實(shí)說(shuō)明了一些有用的東西。文章的“How To Answer Questions in a Helpful Way”部分還是挺不錯(cuò)的。
更高級(jí)的問(wèn)題提問(wèn)形式是提出問(wèn)題以揭示隱藏的假設(shè)或知識(shí)。這種問(wèn)題實(shí)際上有兩個(gè)目的——***,得到答案(可能這個(gè)人知道但其他人不知道的信息),但也要指出,這里有一些隱藏的信息,并且共享這些信息是有用的。
Etsy的“Debriefing Facilitation Guide”中的“The Art of Asking Questions”部分就是在討論已發(fā)生事件的背景下的一個(gè)非常好的入門(mén)介紹。以下是從該指南摘錄的幾個(gè)問(wèn)題:
這些類(lèi)似的問(wèn)題(看起來(lái)很基本,但實(shí)際上并不明顯)在某些權(quán)威人士提問(wèn)的時(shí)候特別強(qiáng)大。我特別愿意看到經(jīng)理/高級(jí)工程師問(wèn)及這類(lèi)基本但重要的問(wèn)題,如“你是怎么知道數(shù)據(jù)庫(kù)崩潰的?”,因?yàn)樗鼮樗捷^低的人創(chuàng)造了以后提問(wèn)相同問(wèn)題的空間。
André Arko的“How to Contribute to Open Source”里面有部分是我非常欣賞的
既然你已閱讀了所有要點(diǎn)并pull請(qǐng)求,那么就開(kāi)始查看你可以回答的問(wèn)題。如果問(wèn)題你以前就回答過(guò),或者你剛剛閱讀的文檔就可以解答,那么用不了多少時(shí)間你就能發(fā)現(xiàn)這一點(diǎn)。回答你知道怎么回答的問(wèn)題。
如果你正在攀登一個(gè)新項(xiàng)目,那么回答那些正在學(xué)習(xí)你剛學(xué)完的那些內(nèi)容的人的問(wèn)題,可謂是鞏固知識(shí)的好方法。每當(dāng)我***次回答關(guān)于一個(gè)新主題的問(wèn)題時(shí),我總是會(huì)有一種“OMG,要是我答錯(cuò)了該怎么辦啊,OMG”的感覺(jué)。但通常我都可以正確回答他們的問(wèn)題,然后我就會(huì)感覺(jué)自己棒棒噠,好像自己更好地理解了主題!
好的問(wèn)題可以為社區(qū)做出巨大的貢獻(xiàn)!我回答了一些關(guān)于CDN的問(wèn)題,并在 CDNs aren’t just for caching寫(xiě)出了答案。很多人告訴我,他們真的很喜歡這篇博文,我認(rèn)為我問(wèn)的這些問(wèn)題幫助了很多人,不僅僅惠及自己。
很多人表示自己很喜歡回答問(wèn)題!我認(rèn)為將好的問(wèn)題當(dāng)作一件你可以做的超棒的事情,并放到對(duì)話(huà)中是很重要的,而不要只是認(rèn)為“問(wèn)好的問(wèn)題,這樣人們才只會(huì)稍微惱火,而不會(huì)非常非常惱火”。

我們?cè)谖⑿派?4小時(shí)期待你的聲音
解答本文疑問(wèn)/技術(shù)咨詢(xún)/運(yùn)營(yíng)咨詢(xún)/技術(shù)建議/互聯(lián)網(wǎng)交流