之所以有這樣一個帖子甩給你,是因為我想保持冷靜與禮貌,并試圖讓你保持提問的激情。然而,我最想說的是,你tmd提問之前又沒有用腦?能不能稍微Google一下Baidu?-- By 甩貼人
“沒有問題是就是學(xué)習(xí)中的一個大問題!”,這是我常說的一句話。確實如此,沒有提問就意味缺乏閱讀、缺乏思考、不夠嚴(yán)謹(jǐn)細(xì)致,也就難以進(jìn)步。如何提問,如何高效地提問,如何提出有意義的問題,這是本文所關(guān)注的要點。沒有人天生會提問,提問需要智慧,需要鍛煉。首先,提問者必須牢記以下原則:
關(guān)于提問的重要原則
原則0. 作為大學(xué)新生(或者職場新人)在提問之前首先要激發(fā)自己提出問題的潛力,同時抑制自己向他人提問的沖動。矛盾嗎?不矛盾!提出問題,就是發(fā)現(xiàn)問題的開始。不輕易向他人提問,就是要迫使自己去解決問題,而不是寄望于不勞而獲地得到答案。
原則1. 在任何時候確保自己可以提出高質(zhì)量的問題。何為高質(zhì)量問題?具體分析比較復(fù)雜,簡單來說,就是回答者愿意積極響應(yīng)的問題。如果大家都不愿意回答,那就是“低質(zhì)量”問題。抑制自己向他人提問的沖動是確保可以提出高質(zhì)量問題的重要前提。
然后,推薦三個通用問題給大家使用。在學(xué)習(xí)工作中,牢記這三個問題,常常提醒自己問這些個問題,或者在尋求他人幫助的時候以這三個問題為“模板”設(shè)計問題。
設(shè)計問題的模版
問題0. 定義是什么?
從表面上看,這個似乎不應(yīng)該成為問題,而事實上,這是一個大問題:在閱讀學(xué)習(xí)中,學(xué)生們往往會錯過(忽略)某些重要的概念。很難說清楚是什么原因?qū)е露x被忽略,總之這是一種值得注意的現(xiàn)象。
這迫使我們在學(xué)習(xí)過程中不斷地強化這個問題,定義是什么?這個概念到底什么意思?比如:“溢出”這個定義是什么?定義出現(xiàn)在哪里?為什么要這個定義?有趣的是,在科研中我們還往往能碰到等價定義、類似的定義等等,我們還必須問:“為什么這兩個定義等價?這兩個類似的定義區(qū)別在哪里?”
問題1. 動機(motivation)是什么?
“這個概念(問題、定理、算法)的動機是什么?”。一般而言,知識點中通常包括問題的描述(概念)、解題的方法、定理的描述與證明、結(jié)論的推廣與應(yīng)用等。在學(xué)習(xí)這樣的知識點時就適合提出這個問題。
比如,在程序設(shè)計學(xué)習(xí)中,針對指針這個概念,你就可以問:為何要使用指針,指針應(yīng)該用于什么場景。如果引入指針概念時有相應(yīng)的上下文(特定條件),我們還可以問,現(xiàn)在這些條件還適用嗎?又比如,針對對象與類,可以問:為何要提出這樣的概念,提出的意義(動機)何在,在什么場合下應(yīng)該使用(或者不應(yīng)該使用),有什么優(yōu)勢和缺陷?
問題2. 邏輯關(guān)聯(lián)是什么?
其次,我們通??梢詥枺骸斑@里的邏輯關(guān)聯(lián)是什么?(為何從已知條件會得到這樣的結(jié)論)” 。通常,我們很容易會通過自己的直覺接受或者否認(rèn)一個結(jié)論,然后在數(shù)學(xué)證明中,除了有非常符合人類直覺的結(jié)論也有反直覺的結(jié)論,無論是哪一種,在接收一種結(jié)論前,我們最好的做法是完全掌握這個結(jié)論從條件到最后得以證明的整個過程。意思是,每一個邏輯關(guān)聯(lián)都必須嚴(yán)格論證或驗證。否則,我們往往就只是知其然而不知其所以然,人云亦云,錯過了許多有意義的細(xì)節(jié)。細(xì)節(jié)遺漏多了就會導(dǎo)致整個知識體系的把握存在嚴(yán)重的缺陷。
提這個問題還迫使我們緊扣關(guān)鍵概念、邏輯推導(dǎo),這是非常有益的學(xué)習(xí)過程。在《計算機科學(xué)概論》的課程中,回答“為何定長計算非常重要”時,大家普遍存在關(guān)鍵概念不清,邏輯關(guān)聯(lián)不明的問題。既不清楚什么是“定長計算”,也不清楚為什么要定長計算。
除此以外,提問還需要注意避免某些不恰當(dāng)?shù)奶釂柗绞?/strong>:
問題描述含糊
比如,“老師,為何我的程序明明是對的,但是執(zhí)行不了?”。這個問題在實際工作中經(jīng)常出現(xiàn),但是在不同的學(xué)生身上的表現(xiàn)又各不相同。有一點是比較普遍地相同,就是提問者強調(diào)自己沒錯,為何機器(系統(tǒng))會錯?這很危險!實際上,這個問題,有可能是編譯沒過,也可能是進(jìn)入了死循環(huán),甚至程序正常執(zhí)行并結(jié)束......而這些都被提問者歸結(jié)為“執(zhí)行不了”??梢?,能清醒地明白自己的處境,清晰地描述自己的問題是多么的重要。不要怕啰嗦,被提問者不是神仙,他們需要更多的信息了解你的處境。
問題描述過于“個性化”
所謂個性化,指沒有使用大家公用的術(shù)語,添加了過多的個人口語化或者情緒化的內(nèi)容。導(dǎo)致與接受提問者無法有共同的語境,也就無法正常交流。值得強調(diào)的是,討論問題切忌帶入個人的情緒。
提問的場合方式不對
說一個我最怕接到的提問,手機短信或者微信發(fā)來,“老師,你什么時候有空?” 實話實說,我回答不了這個問題。這只是一個例子,拿到學(xué)術(shù)提問上來說,你不能指望手機短信、微信能有多詳細(xì)的解答。類似惡劣的提問還包括,在討論區(qū)嘩一下幾十上百行代碼摔出來,問:“我到底錯在哪里?”
應(yīng)多提有價值的問題
不是所有的問題都具有相同的價值,有意義的問題將會得到更多的贊許??紤]一本書,即使是大家公認(rèn)的經(jīng)典著作、教材也不會是完全無錯的,講解、解釋、證明等也許都會存在某些不完備之處,如果你的問題可以切中于此,問題的價值就相對高。如果你總能提出這樣的問題,說明你學(xué)習(xí)到位。你的問題通常會得到兩種反應(yīng):被問者對你的夸獎,或者你的問題難倒了被問者。
另外,作為老師,在上一門課的時候已經(jīng)在心目中準(zhǔn)備了若干潛在的問題,如果你的問題不能切中老師的問題設(shè)定,說明你沒有學(xué)(問)到點子上。相反,如果你的提問能切中老師的問題設(shè)定,則你將會得到老師的贊許,得到更多的指導(dǎo)。如果你能問一個超越老師問題的好問題,更說明你在學(xué)習(xí)中已經(jīng)取得主動。
小結(jié)
最后,建議多提小問題,多探討大問題。大問題要化成小問題,小問題要體現(xiàn)出大問題的精髓。切忌害怕提問,如果害怕自己被鄙視而不提問題,那永遠(yuǎn)都提不出問題,學(xué)習(xí)將會遭遇瓶頸。也許,為了提問,還可以看看相關(guān)書籍,比如:

對于程序員(或程序媛)來說,這份關(guān)于提問的建議推薦大家看看。
2014-12-19發(fā)表
2017-06-11晚改寫
2017-07-31晨改寫