天天看點

聊聊我覺得程式員該有的提問方式~附《JavaGuide 面試突擊版》V4.0最新進度

距離最近的 V3.0 版本的釋出,已經過去快 6 個月了。V4.0 版本的 《JavaGuide 面試突擊版》,預計會在明天安排上,助力一波大家來年的春招。

聊聊我覺得程式員該有的提問方式~附《JavaGuide 面試突擊版》V4.0最新進度

今天是周末就不更新技術文了,聊聊程式員提問的智慧。

01

以我自己的一些實際經曆以及這些年的摸爬滾打經驗來看 :學會提問對一個來說真的太特麼重要了。

剛工作那會經常因為提問方式不對而被别人 DISS ,好幾次我都想爆粗口:“你特麼連我問題都聽不懂,真蠢!還 DISS 我呢!” 。

但是,我還是忍住了,畢竟還是要注意自己一下“公衆形象”,老老實實地繼續做我的峽谷噴子就好(我曾因在峽谷噴人多次被關小黑屋,暴躁啊~)。

聊聊我覺得程式員該有的提問方式~附《JavaGuide 面試突擊版》V4.0最新進度

為了解決這個問題,我專門做了大量功課。如果你想要知道如何正确提問的話,務必把這篇文章看完!

02

拿我自己的情況來說。我每周需要處理大量來自讀者的提問。為此,我每周至少要抽出 3 天,每天抽出 1 個小時左右來回答這些問題。

面對這些問題,我也不是來者不拒的,畢竟我也是一個有原則的人。于我而言,你所提的問題品質,決定了我是否願意去幫你解答。

類似像下面這種中二的提問,我覺得這種秀兒有必要出門左拐去看看心理醫生了。這樣的問題還有這麼多人的關注,看出來大家有多閑了吧?

聊聊我覺得程式員該有的提問方式~附《JavaGuide 面試突擊版》V4.0最新進度

如果你提出了一些比較很有價值/含金量的問題的話,會讓我覺得你這個人還挺靠譜的。基于這樣的好印象,說不定我在後面有啥好的項目就會找到你一起來做。

我自己是挺高興有這麼多人願意問我問題的。對于讀者的問題,能回答的我都會盡力去好好解決對方的疑惑。我覺得這也算是一種信任,一種陌生人之間通過技術/代碼建立起來的信任。 俗話說的好:“你我本無緣,隻因共同愛好在此相遇”。

聊聊我覺得程式員該有的提問方式~附《JavaGuide 面試突擊版》V4.0最新進度

但是,現實情況是我經常會碰到一些不太正常的問題,甚至說有些問題的邏輯根本走不通。 我心情好的時候還好,萬一你剛好碰到我很久都沒解決 bug 的時候,emm,這個時候我可能就會發揮我峽谷第一噴子的功力了。

總的來說,會提問的人還是太少了。

我不知道我是不是一個會提問的人,為此我也查閱了網上的一些相關資料,下面給大家分享一下我對如何提問的看法。歡迎有見解的朋友在評論區來說一說。

03

我總結了一些經常被問到的一些問題,我暫且将它們分為:“稍微正常”和“不那麼好”這兩類。

我覺得稍微正常點的問題(還算正常的問題,但提問方式有待改善):

  1. 如何學習某個技術?(優化:提前說清楚目前自己多這個技術了解的情況)
  2. 如何提高自己的程式設計能力?(優化:可以簡單地說說自己對于提高程式設計能力的看法以及當下所做的嘗試)
  3. 計算機專業有哪些比較重要的科目?(優化:可以簡單地說說自己的看法)
  4. 某個技術問題如何解決?(優化:提前說明自己嘗試解決這個問題但是遇到問題沒有解決成功)
  5. 某個技術問題你能給我解釋一下嗎?(優化:可以簡單地說說自己不了解的點在哪裡?)
  6. 可以推薦一些比較好的開源項目嗎?(優化:提前說清楚自己目前的狀态以及需求)
聊聊我覺得程式員該有的提問方式~附《JavaGuide 面試突擊版》V4.0最新進度
  1. 如何找到一個讓自己滿意的工作?(優化:可以簡單地說說自己目前的情況以及所做的努力)
  2. 可以幫忙看看簡介還有什麼問題嗎?(優化:可以先簡單地說說自己目前的情況)
聊聊我覺得程式員該有的提問方式~附《JavaGuide 面試突擊版》V4.0最新進度
  1. 初學某個技術有哪些書籍推薦呢?(優化:提前搜尋一些相關的書籍,做好功課之後再提問)
  2. ......

我覺得覺得不那麼好的問題(讓人讨厭的問題):

  1. 某某軟體可以發一下麼?我能在哪找到 某某資源?(我的内心 OS:難道不會 Google?最不濟應該也會百度吧!)
  2. 什麼環境變量怎麼配置啊( 我的内心 OS: Google?百度?)
  3. 随便截個 bug 圖,然後扔下一句話:“這是什麼問題”(我的内心 OS:我滴個乖乖,我也要搬磚,我也有很多自己的 bug 要解決。我特麼哪有閑心思給你解決這種問題!是不是應該把 stackoverflow 推薦給他?)
  4. 我怎麼才能破解他人賬号?(我的内心 OS:這人是白癡吧?)
  5. ......

04

我希望大家對你提問的人一定要保持了解尊重的态度。沒有人有義務非要去回答你的問題。

聊聊我覺得程式員該有的提問方式~附《JavaGuide 面試突擊版》V4.0最新進度

我自己平時比較忙的時候,經常會忘記回答别人的問題。甚至說,有些問題我自己也不太清楚,然後就把問題先放着,想着說過一會再回來回答,結果後面就忘得一幹二淨。

并且,我上面也說了:“你的提問方式真的很大程度影響了别人回答你問題的欲望”。

是以,大家在提問題之前可以先這樣想:“别人如果回答我的問題是情分,如果沒能解決我的問題也很正常,如果忘記或者不想回答我的問題也沒毛病”。至少我每次問别人問題前都是這樣想的,這樣别人很久或者沒回答我問題,我也不至于糾結半天!

05

下面說一下我覺得比較好的提問方式或者說是高效提問方式:

  1. 别問搜尋引擎能解決的問題 :最重要的就是遇到問題之前首先通過搜尋引擎解決!很多時候你花半個小時到處問問題,你 Google/百度 一下,可能 10 分鐘就解決了。如果一個程式員連搜尋引擎都利用不好的話,我覺得可以早點轉行了。
  2. 有問題直接問,不要上來就來一句“在嗎”或者“有時間嗎” :現在遇到這種提問的小夥伴,我都會直接怼回去。直接說明自己的問題或者請求不是更好嗎?
  3. 提前做功課 :問别人問題之前自己先做一些功課,不要一上來就問一下很 Low 的問題,讓别人對你的印象不好;
  4. 注意添加上下文資訊 :提題的時候盡量添加一些上下文資訊,比如說你為什麼問這個問題、這個問題是在什麼情況下出現的。
  5. 可以簡單說說自己的看法以及做過的嘗試 :你可以先說明一下自己對于這些問題的看法,你準備如何解決,你做過哪些嘗試,你期待對方給你什麼樣的回答。
  6. 縮小你的問題的範圍 :越是範圍小而清晰的問題越容易回答。

最後,再分享一下有些我覺得比較好的提問網站:

  • 國内: 知乎、segmentfault
  • 國外: stackoverflow (stackoverflow 主要是程式員問答,你遇到的很多程式問題在這裡應該都有其他人遇到過 )

另外,更多關于如何提問的内容,詳見 github 上開源版『提問的智慧』 https://github.com/ryanhanwu/How-To-Ask-Questions-The-Smart-Way/blob/master/README-zh_CN.md

我是Guide哥,Java後端開發,擁抱開源,喜歡烹饪,自由的少年。一個喜歡使用Lombok的技術人。我們下期再見