在学习一门技术之前,
是不是应该思考这门技术对我们的项目有那些用处,
解决了那些痛点,如何系统的去学习这门技术?
好,废话不多说,聊聊我最近的一些思考!1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17干货来了,可以按照下面的顺序问题去学习!
1、为什么要用这门技术?之前的项目遇到过什么样的问题?
2、这门技术相对于其他的同类技术,为什么选用这门技术?两者或者多者的比较?有哪些优缺点?
举例:
如自身的相关数值:数据量、TPS、响应时间。
缓存相关的有:本地缓存、分布式缓存(redis、mamcached)、客户端缓存、数据库缓存。
选型指标:容量、并发量、响应时间、使用成本、扩展性、容灾。
3、这门技术可以运用在什么场景上?
4、如何运用这门技术?这门技术是怎么实现的??
5、如何保证高可用和一致性等等?
6、用这门技术可能会有什么坑?亲身经历有什么坑?如何解决??有没备选或者应急方案??
举例:
https://github.com/aalansehaiyang/technology-talk/blob/master/system-architecture/architecture-experience.md
(可以看看缓存那一块)
7、利益化:面试时会问什么样的问题?(高级开发,架构师,cto不同的角色)
参考示例文章如:https://data.qq.com/article?id=2879
思路决定出路,思想决定高度!
磨刀不误砍柴工!
高级开发看到技术,架构看到未来,cto看到价值!