文/何其甚
最近有去分享一次技術實戰內容。內容是自己確定的,然后按照自己的思路做成PPT,附帶了簡明的示例。當時也沒有去想多少,按照項目流程,從發現問題、引入理論、解決問題的思路,自以為天衣無縫應該就是這樣。
然而最近的分享是給大學學生的,再給學生們分享完成后,有老師給我提出意見:你講的知識點太分散,學生們要是有些基礎還好,要是沒有,可能就完成聽不懂。或許是,因為我并不是教師出身。
那次分享的內容是《高并發秒殺搶購系統設計》,我的講解順序是:
1、怎么才算是高并發
2、高并發背后的技術實現有什么問題
3、最容易出現的錯誤方式什么(附帶有例子)
4、改進一下,引入數據庫悲觀鎖
5、改進后還存在什么問題
6、再改進下,引入緩存,樂觀鎖和隊列(附帶有例子)
7、高并發系統常用的幾個衡量指標
整個過程我所秉持的觀念是:在實際項目中因為有問題、要解決問題,所以引入理論、概念,然后解決項目中的問題。我想的是所有理論都是因為要解決問題才誕生的,不應該先有理論才會有理論的應用。
老師給的建議是先要總結出知識點、概念,針對性的進行講解,然后再在項目中串起來。比如我上面的講解,應該是先普及概念,比如悲觀鎖和樂觀鎖,數據庫和緩存。
老師說也的有道理。我想講授知識應該有兩種思路:
1、講述一個項目的技術思路,然后總結知識點;
2、先總結好知識點,然后單獨一個一個對知識點(理論和概念)進行講解,最后項目實例。
最后我想說兩種思路適用的講授受眾不同,第一種思路一般是適合有些經驗的人群,第二種一般是針對沒有什么基礎的人群。
不知道有沒有同感的?