B树
B树也称B-树,它是一颗多路平衡查找树。描述一颗B树时需要指定它的阶数,阶数表示了一个结点最多有多少个孩子结点,一般用字母m表示阶数。当m取2时,就是我们常见的二叉搜索树。
一颗m阶的B树定义如下:
- 每个结点最多包含m个子结点;且M>2
- 根结点的儿子数为[2, M]
目前大多数互联网公司的开发流程如下图:
一个新功能的出现,可能来自多个地方。运营觉得有了XX功能,用户量就能增加XX倍;产品觉得XX竟品做了XX功能,我们也要做个一模一样的;开发觉得XX
库又提升了XX性能。版本初期,一般由产品统一收集相关需求。
这个阶段,产品开始整理前面收集到的idea。他不太清楚的点可能会找开发、测试。比如XX功能技术上是否可行。然后开始写产品文档。完成后,会进行需求宣讲,
开发、测试同事会参与。这个过程中,开发、测试会提出自己的意见,产品方进行解答。没问题后,该需求会进入设计阶段。这个阶段中,开发人员会根据需求进行
概要设计,比如了解需要用到的技术,看看里面有什么坑。
当设计稿完成后,该需求会进入到开发阶段。开发人员拿到需求后,一般的小厂就开始对着产品文档、设计稿开发了,大厂会做详细设计,比如画流程图。开发完成后,
小厂就直接进入测试阶段了,做的稍微好点,开发会进行简单的自我测试,稍微再好点的,可能会自己写些测试脚本。而大厂会有其他的一些流程,比如单元测试
、集成测试
,
开发完成后,进行代码Review
。开发的过程中还牵扯到前后端联调,所以在刚开始开发时,做同一个需求的不同端同事应该沟通好联调相关事宜。
1 | brew services list 查看服务状态 |
1 | brew install mysql |