构师训练营第八周学习笔记
本周主要是学习三方面的内容,分别是:
数据存储: 文件和磁盘IO
数据结构和算法
网络通信
其中,数据存储的核心是介绍机械硬盘的数据读写原理,这个对数据读取的性能有至关重要的影响。比较好的实现是磁盘顺序读写。通常来说,一般实现磁盘的顺序写的办法是,基于LSM树,在内存合并内容,然后再顺序写入磁盘。
其次,在数据结构和算法方面,主要介绍了常用的数据结构,包括数组,链表,树,栈,队列等等。也介绍了基于hash表实现的快速查找和查询的数据结构。算法方面,除了介绍经典的贪心算法和动态规划,还展开说了一下基于遗传算法解决背包问题的思路,比较增长眼界。
最后说的是网络通信方面的内容。从操作系统对网络的数据处理的过程说起,说明网络通信的读和写的阻塞点,最后说明阻塞式编程和非阻塞式编程之间的差异。阻塞式编程结构简单,比较直观,很好理解,但是性能低下。非阻塞式编程是基于网络事件驱动的,理解和使用较为复杂,但是性能是非常好。
下图是本周的脑图笔记:
版权声明: 本文为 InfoQ 作者【李日盛】的原创文章。
原文链接:【http://xie.infoq.cn/article/2f4ca809b85a6c9b5648304bc】。文章转载请联系作者。
评论