我從CSDN上看到的一篇文章,感覺很不錯(cuò),今天分享給大家
關(guān)于提問,你有沒有碰到過這種情況,有人拿著一個(gè)問題跑來,大概交代了一下他想解決的場景,然后描述了他的思路,然后這中間碰到一個(gè)障礙,就問你怎么解決這個(gè)障礙。
面對這類具體的障礙問題,我經(jīng)常很難回答。因?yàn)榧词故峭粋€(gè)場景,不同人會(huì)有不同的思路,而也許我的思路就不會(huì)有這樣的障礙。比如:你想去一個(gè)十公里外的地方,對方也許會(huì)問你怎么套馬鞍的問題,這時(shí)你就很困擾,因?yàn)槟愕乃悸肥亲嚮蜷_車啊。這就是一個(gè)針對技術(shù)人員面對同一場景問題,所能選取的不同技術(shù)方案可能處在不同的時(shí)代背景下的類比。
所以,關(guān)于怎么提問我覺著本身就是一個(gè)好問題。
在國內(nèi)的技術(shù)社區(qū)比如:CSDN 或 SegmentFault 都有技術(shù)問答社區(qū)。我跑上去瀏覽過幾次,基本上每個(gè)問題的瀏覽量寥寥十幾二十,回答更是少的可憐。上面的問題大部分都是類似下面兩種模式:
某某出錯(cuò)了,怎么辦?如何針對某某封裝一個(gè)庫?某某可以是一種具體的技術(shù)或框架,這兩種提問模式代表了兩個(gè)方向,都讓人無法回答。第一種太模糊而無法回答,而第二種則太龐大則不愿回答。
如果你能繞過這兩個(gè)提問的大坑,提出一個(gè)具體的問題,那么算是前進(jìn)了一大步。但具體問題也有一個(gè)陷阱,就是前面套馬鞍那個(gè)例子。也許有人回答了你怎么正確的套馬鞍,但你依然可能走在落后的道路上。所以就具體問題提問,除了問及手段,還最好跟上你的目的和你就此目是怎樣提出的手段,然后才走到了這一步的障礙,讓你不得不在此提問。
具體的問題是關(guān)于「術(shù)」的問題,一般都是解答題。表達(dá)清楚你的解答目的,也許你的困擾在高手那里根本就不存在。你只是走了一個(gè)彎路而已,這樣不僅繞過了障礙,還獲得了一條近路,是最有意義的提問。
而另有一類具體問題,叫做答案藏在問題中,屬于無法提問的問題。說得比較抽象,我舉個(gè)例子:曾經(jīng)碰到過一個(gè)線上問題,系統(tǒng)間隙性出現(xiàn)超時(shí),只有重啟能解決。而且出現(xiàn)的很無規(guī)律性,不和什么流量之類成正比,就是莫名其妙偶然出現(xiàn),然后不能恢復(fù),只好重啟。曾經(jīng)困擾了很久這個(gè)問題,但這類問題雖然很具體,但你只有一個(gè)現(xiàn)象,你甚至找不到一個(gè)好方式來描述這個(gè)問題。
如果我就把上面這段描述的關(guān)鍵現(xiàn)象,偶現(xiàn)超時(shí)并結(jié)合使用的具體技術(shù),如:JVM配置、開源框架配置和業(yè)務(wù)場景一起拋出來問人,你覺得有人能回答嗎?這類就屬于答案藏在問題中的問題,唯一的辦法只能是找和你一起共事的同事從各人不同的思維角度去分析、抽絲剝繭。當(dāng)你能找出提問的方式,基本答案也就出來了。
當(dāng)我定位到上面現(xiàn)象的根源是服務(wù)線程池的配置有誤,結(jié)合在某些慢業(yè)務(wù)場景下會(huì)引發(fā)連鎖超時(shí)。這時(shí)的問題是怎么配置服務(wù)線程池才最合理,這個(gè)問題本身就簡單到完全無需再問了,自然就有了答案。
《大教堂與集市》的作者 Eric Steven Raymond 曾就如何提技術(shù)問題寫過一篇影響頗大的文章 How To Ask Questions The Smart Way,距今已經(jīng)十多年了,修訂了十多次(見下圖的修訂歷史),翻譯成了十多個(gè)國家的文字,我覺得值得好好讀讀。
這篇與其說是文章,不如說是一個(gè)關(guān)于如何提技術(shù)問題的提問指南,而且把寫文檔當(dāng)作寫代碼的模式,不斷提交新的 Fix 和 Feature,并提供完整的修訂歷史,這就是我所推崇的方式和口味:“像寫代碼一樣寫文檔(規(guī)范),像寫文檔一樣寫代碼(可讀)。”
具體提問之術(shù)的指南,大家可以去仔細(xì)閱讀 Eric 的文章,最后歸納下其關(guān)于提問之術(shù)的基本理念:
草率的問題,只能得到一個(gè)草率的答案。你得到的答案的好壞取決于提問的方式和開發(fā)答案的難度。只索取而不愿思考和付出的提問者,要么什么也得不到,要么只會(huì)得到RTFM或STFW。術(shù)語解析:RTFM: Read The Fucking Manual STFW: Search The Fucking Web123123
李笑來老師最近在得到專欄的一篇文章《什么決定命運(yùn)》提到:
選擇決定命運(yùn),什么來決定選擇?價(jià)值觀。價(jià)值觀這個(gè)概念就比較抽象了,所以我們還是舉一個(gè)比較具體的例子來說明。吳軍博士也在他的得到專欄里寫了好幾篇關(guān)于巴菲特的投資理念的文章,其中有一條是:巴菲特不做空。長期以來巴菲特都秉持一個(gè)投資原則,永遠(yuǎn)不做空自己的國家。這就是在投資這件事上巴菲特的價(jià)值觀所做出的選擇。
去年有一部很著名的講 2008 年美國金融危機(jī)的電影《大空頭》,里面布拉德·皮特飾演一位聲望很高的退休銀行家,兩個(gè)初出茅廬的年輕投資者找上他幫忙參與到貸款違約保險(xiǎn)市場中。當(dāng)跟著布拉德·皮特賣空的兩位年輕人高興的手舞足蹈(他們馬上就要賺一大筆錢)時(shí),布拉德·皮特嚴(yán)肅的對他們說:
你們知道你們剛剛做了什么嗎?我們在對賭美國經(jīng)濟(jì)。這是另一個(gè)關(guān)于投資價(jià)值觀的生動(dòng)例子。
是的,我們完成了交易,我們做到了(年輕人高興之情溢于言表)。
這意味著什么,意味著什么,你們清楚嗎?(連說兩遍)
假如我們是對的,人們就會(huì)失去房子,失去工作,失去退休金,失去撫恤金。
別在我面前為此而跳舞。
大部分問題都是從一個(gè)選擇題開始,才是解答題,而很多時(shí)候我們都忽略了選擇題,因?yàn)閲@你的環(huán)境里通常有一個(gè)默認(rèn)選擇,這就是隨波逐流。而默認(rèn)選擇一般都不是好選擇。
關(guān)于提問之道就是給自己的選擇題,這類問題可以提出來,正如李笑來在文中所說:“聽聽大多數(shù)人的話,參考少數(shù)人的意見,最終自己做決定。”這類問題的回答者只有自己,也只能是自己。無法逃避,逃避是一種不選擇,但實(shí)際也是一種選擇。
所以,這就是為什么一開始就要養(yǎng)成寫作記錄的習(xí)慣呢。有人說我沒東西可寫、沒有積累也寫不出什么來,而且文筆也不好。這是一個(gè)誤區(qū),至少你可以從記錄問題和解決問題開始寫起,不斷去積累并留下一些東西。比如,對于程序員,你總會(huì)碰到各種問題,那么我就把這些問題按一種模式記錄下來也可以,比如像下面這樣:
問題的上下文問題的具體描述問題的解決思考和思路問題的解決方案和具體技術(shù)或辦法問題解決后留下的思考或其他延伸的疑問之前寫過一篇文章《程序員,你為什么值這么多錢?》 提到了除了積累價(jià)值,也要傳遞價(jià)值。這篇文章發(fā)出去后,有人評論說:“就是除了會(huì)做,還要會(huì)吹嘛?”,很多程序員對此評論表示贊同。其實(shí)自吹自擂乃下策,更好的方式是:“Share what you learn(分享你所學(xué)到的)”。可以是一個(gè)問題、一個(gè)觀點(diǎn)或一個(gè)認(rèn)識(shí),任何你學(xué)到的東西。
Give give give, and sometimes you will receive.這就是我所認(rèn)同的傳遞價(jià)值和提升價(jià)值的好方式。
持續(xù)給予,終有所獲。
…
所有的成長過程都是從提出一個(gè)問題開始,并找到了答案,最后融入自身的價(jià)值觀,完成下一次更好的選擇,周而復(fù)始。
上一篇 php字符串截取