由于一直從事技術和平臺產品方面的工作,我們部門經常會收到公司內外同事和同仁的問題郵件,有些好的問題能讓你發現自己技術上的缺陷、產品的bug或提升的空間,去思考、回答和解決這樣的問題真是一件讓人愉悅,充滿挑戰和成就感的事情。但是非常遺憾的是,這樣的好問題卻是鳳毛麟角。我經常會被一些莫名其妙的問題搞的啼笑皆非,比如:
程序運行過程中突然內存溢出,該如何解決?
如何配置JVM的虛擬機參數?
程序部署到Linux上后,頁面出現中文亂碼,是不是中間件的配置出現問題了?
集群節點不能自動復制,如何解決?
最可氣是第四個問題,經過了解環境逐一排查,最后發現兩個節點根本就ping不通嘛,這種“異常”在現場該是多么容易發現啊!
當然,類似的傻問題我年輕的時候也問過,誰會不犯錯呢,真正讓我認識到這一點的重要性,還是在工作中與國外程序員的郵件交流。在2005年期間,與國外程序員共同維護公司內部的一個平臺級產品,郵件往來必不可少,慢慢的我發現國外的程序員提的問題或報的bug都非常有規律,每個問題或bug都有非常清晰的標題,正文是環境描述,已經采取了什么措施、結果,相關日志,Core dump,圖片等等,一般讀完郵件就能非常清楚的了解對方想要表達的意圖和希望你能提供的幫助,而且你也知道該做什么,如何回復等等。久而久之,自己也不好意思再去寫那些傻問題了。
那么作為技術人員,如何去問一個讓雙方都滿意的好問題并最大程度的得到回復呢?這一點對提問者重要,對被問者同樣重要,大好人生,誰也不愿意為一個爛問題浪費時間。
簡單總結一下,如果你按照以下步驟進行,提出的問題一定會更靠譜一些,提出好的問題是你提升的第一步,其實這個過程在提問之前已經開始了:
遇到問題不要急著問別人,在時間允許的情況下看是否自己能夠解決,一方面鍛煉自己分析問題和解決問題的能力,另一方面,一旦問題解決了,問題就不是問題,而是你的經驗和知識庫。況且現在互聯網有那么多的技術資料和各類問答網站,想碰到一個別人沒碰到的問題,已經非常困難了,除非是內部產品。
如果做了努力依然不能解決,或者客觀條件不允許你自己解決了,那么首先要選擇提問對象,不管是社區還是公司同事,確保他是你所知道的最佳解決人選。
你需要一個好的標題,用清晰的短句描述你遇到的問題
至關重要的正文
(1)用清晰的語言描述你遇到的問題
(2)提供軟件環境,包括操作系統、數據庫等相關軟件及其版本號
(3)問題是否可以重現,采用什么方式重現
(4)采用了什么措施解決問題,最終結果(可提供日志、程序、截圖等描述)
(5)盡可能提供問題相關的可分析文件,包括日志、截圖和Core dump等
(6)不要長篇大論,簡明扼要,描述主要問題
最后,不要忘了說請和謝謝,畢竟你需要別人幫助你解決問題,沒人欠你什么。
-
程序員
+關注
關注
4文章
953瀏覽量
29831
發布評論請先 登錄
相關推薦
評論