文/何其甚
最近有去分享一次技术实战内容。内容是自己确定的,然后按照自己的思路做成PPT,附带了简明的示例。当时也没有去想多少,按照项目流程,从发现问题、引入理论、解决问题的思路,自以为天衣无缝应该就是这样。
然而最近的分享是给大学学生的,再给学生们分享完成后,有老师给我提出意见:你讲的知识点太分散,学生们要是有些基础还好,要是没有,可能就完成听不懂。或许是,因为我并不是教师出身。
那次分享的内容是《高并发秒杀抢购系统设计》,我的讲解顺序是:
1、怎么才算是高并发
2、高并发背后的技术实现有什么问题
3、最容易出现的错误方式什么(附带有例子)
4、改进一下,引入数据库悲观锁
5、改进后还存在什么问题
6、再改进下,引入缓存,乐观锁和队列(附带有例子)
7、高并发系统常用的几个衡量指标
整个过程我所秉持的观念是:在实际项目中因为有问题、要解决问题,所以引入理论、概念,然后解决项目中的问题。我想的是所有理论都是因为要解决问题才诞生的,不应该先有理论才会有理论的应用。
老师给的建议是先要总结出知识点、概念,针对性的进行讲解,然后再在项目中串起来。比如我上面的讲解,应该是先普及概念,比如悲观锁和乐观锁,数据库和缓存。
老师说也的有道理。我想讲授知识应该有两种思路:
1、讲述一个项目的技术思路,然后总结知识点;
2、先总结好知识点,然后单独一个一个对知识点(理论和概念)进行讲解,最后项目实例。
最后我想说两种思路适用的讲授受众不同,第一种思路一般是适合有些经验的人群,第二种一般是针对没有什么基础的人群。
不知道有没有同感的?