基本知识
1. 面向对象三个基本特征:封装、继承、多态
2.面向对象的原则:
单一职责原则、开闭原则(对扩展开放,对修改封闭)、Liskov原则(子类必须能替换父类,子类输入不应比父类多,输出不能比父类少)
依赖倒置原则(依赖于抽象)、接口隔离原则(避免胖接口)
3. 数据库四大特性:
原子性(A)、一致性(C 前后查询应该一致)、隔离性(I事务内的操作不被别人看到)、持久性(事务成功后,数据不会丢失)
4. 关系数据库的设计准则:
http://www.blogjava.net/xzclog/archive/2009/01/04/249711.html
第一范式(1NF)无重复的列
第二范式(2NF) 属性完全依赖于主键
第三范式(3NF)属性不依赖与其他非主属性
5. Agile解决了快速迭代,从需求到测试的过程,但用户并没有真正感受到
DevOps增加了开放与运维的联系
加上快速持续交付需求,推动了微服务的需求。微服务关键词:小服务、独立进程、轻量级的通信机制、可独立部署
微服务的原则:
围绕业务(构建服务、构建团队)、去中心化(用合适的技术解决问题、业务与数据分离(但是每个微服务的数据库不直接对外暴露))
自动化一切、演进式架构(动态演进、适应度函数)
6. 云的基本思想:
硬件资源池化、软件分布化、运维全自动