一名優秀的程式設計師應該向誰提問

沉默王二發表於2020-06-05

這兩年來,向我提問的人真的可以稱得上是不計其數了。哎呀,一不小心又用了個成語,裝逼在無形當中啊。雖然有點誇張,但說真的不算少了,請摸著良心問問,你是不是就問過?

但我特別討厭一種行為,就是用手機拍電腦螢幕的照片來提問。為什麼這麼說呢?請你立刻現在馬上拿起手機自己拍張照試試。如果相機不給力,螢幕畫素又低,我的天吶,看這種照片上的程式碼真的是痛苦啊!

鑑於此,我在群裡三番五次提醒過,請用截圖,不要用手機拍照!但隔三差五還是有人這樣照幹不誤,我很生氣,真的。

你提問,肯定想要得到回答,對吧?如果你用心,那回答的人也就會用心,即便是你的問題石沉大海了,那也是對自己的一種負責任啊。

在提問題的時候,你應該做好充分的準備:

  • 用足夠多的細節來描述問題發生的場景,你想得到什麼樣的答案?
  • 在求助之前,你做了哪些努力?研究過了嗎?得到了一些線索嗎?

那可能有些人會不服氣,拋下一句狠話:“你這大佬也太不負責任了吧?我就是沒有找到答案才過來找你的啊?我努力了呀?”

冷靜一下哈,提個問題你脾氣這麼大,這麼焦躁,怎麼可能得到答案,對不對?

讓你做準備不是我在逃避責任,而是在教你,教會你自己怎麼解決問題。就拿我來說吧,我已經很少向別人提問題了,除了那隻橡皮鴨。

有生以來,我遇到最痛苦的一個問題就是“可學上往”(寫錯別字,我是認真的),真的,當時我問遍了所有我能問的群,我能問的人,因為這個問題很無解,你瞭解的。

在向別人求助之前,可行的解決方案就是去問度娘,對吧,但度娘又怎麼會告訴答案呢。有些好心的同行會扔一句“VVPPNN”,然後我就搜啊搜——搜不到答案。

大概折騰了兩週的時間,還是青銅時代群裡的一位小夥伴告訴了我答案。由於最近風聲緊,我就不提了。不過,我需要坦誠一句,我“可學上往”純粹是為了寫技術文章用(偶爾 1024 下,不騙你),因為有時候,一些知識點,我自己還沒有掌握,必須得先學習一下,然後才能輸出給讀者。

但度娘有時候給的答案,真的是讓你懷疑人生,那些狗屁不是的帖子它的搜尋結果裡全都有。但骨骼這方面做得真的是不錯,有一說一。

(這篇文章寫了不少錯別字,不要怪我,我也是被逼的,忍耐一下,看不懂的地方就 YY 一下)

為什麼我很少提問題了呢?

  • 我碰到了一個問題;
  • 我自己研究了一會,沒找到答案;
  • 我決定還是骨骼吧;
  • 我把關鍵詞扔在搜尋框裡,答案好像還沒找到;
  • 我看了很多帖子,好像答案完全不著邊;
  • 我把問題重新梳理了一遍,準備找技術比我還好的朋友提問;
  • 10 分鐘過去後,我寫下了一百個字,感覺問題已經描述得很清楚了,在好友列表裡準備找朋友了;
  • 突然,我發現好像我搜尋的關鍵詞不太對,於是我就換了一個,又換了一個,抱著試一試的心態,結果真的找到了想要的答案。

不知道你有沒有遇到這樣的情況?反正我真的是經歷了無數次。有時候,答案找不到,我都著急得想捶爆鍵盤了,甚至狠狠地在桌子上捶了一拳,疼痛的感覺讓我冷靜下來。

於是我想到了那隻橡皮鴨,我在心裡對它說:“為什麼這臺伺服器上的首頁開啟時間需要一分多鐘,而另外一臺伺服器上只需要不到三秒鐘?”

“那你有沒有對比兩臺伺服器有什麼不同嗎?”橡皮鴨開口回答道。

“比對了呀,完全一樣啊,程式碼一樣,只是說引數不一樣,war 包也一樣,都用的 Tomcat 啊。”我憤憤不平地說。

“作業系統一樣嗎?”橡皮鴨耐心地開導著我。

“不太一樣,一臺是 Windows Server,一臺是 CentOS。”我回答道。

“那你有沒有想過把 Windows Server 那臺也換成是 CentOS?”橡皮鴨依然很冷靜。

“不會吧,就因為作業系統不同,首頁開啟速度差別就會這麼大?”

“你試試唄,把環境備份下,反正現在切換一下作業系統又不麻煩。”

“好的,聽你的,橡皮鴨。”

一個小時後,神奇的事情發生了,原來問題真的是因為 Windows Server 啊!果然不如 Linux 靠譜啊!

以上就是三年前我真實經歷過的,當時有一臺遺留的 Windows Server,我就沒想著把作業系統換成是 Linux 的,然後同樣的 war 包放上去後,首頁開啟速度超慢,我嘗試過對首頁加上快取,減少 JavaScript、CSS 檔案的大小,對它們進行壓縮,甚至減少了從後臺獲取資料的量,但所有的嘗試都於事無補。

最後,真的是橡皮鴨幫助到了我。當你把自己完全投入到一種假想當中,去問一個透徹而詳盡的問題時,答案真的會悄無聲息地找上門來。

大多數情況下,並不是因為我們的知識庫儲備不足,而是我們尋找問題的方向發生了偏離,一旦我們意識到了這種錯誤,問題也就不再是問題。

當然了,當你嚐盡一切辦法,仍然找不到答案的話,找大牛、找朋友、找同事、找社群,不要臉地提問吧,別怕自己受到打擊,別怕問題無人解答,你要做的是,把問題梳理得越來越清晰,也許答案就在你那裡。

如果覺得文章對你有點幫助,請微信搜尋「 沉默王二 」第一時間閱讀。回覆關鍵字「簡歷」更有一份技術大佬整理的優質簡歷模板,助你一臂之力。

本文已收錄 GitHub,傳送門~ ,裡面更有大廠面試完整考點,歡迎 Star。

我是沉默王二,一枚有顏值卻靠才華苟且的程式設計師。關注即可提升學習效率,別忘了三連啊,點贊、收藏、留言,我不挑,嘻嘻

相關文章