架构师训练营 - 第八周 - 本周总结

用户头像
sljoai
关注
发布于: 2020 年 07 月 29 日
架构师训练营-第八周-本周总结

数据结构与算法-2020年7月23日(此部分内容还没有看呢?!)

  1. 红黑树

  2. 遗传算法

网络与数据库-2020年7月25日

  1. 多个负载均衡点的作用是什么呢?

  2. 粘包

  3. no_deplay

  4. 建立连接,3次握手

  1. 客户端主动发送两次,服务端发送一次;

  2. 断开连接,四次挥手;





  1. 服务端两次,客户端两次;

  2. 应用层HTTP协议

  3. 格式

  1. 

  2. 如何查看呢?

  3. 七种方法

  4.  Get

  5. Head

  6. Post

  7. Put

  8. Delete

  9. Trace

  10. Options

  11. 请求服务器支持的所有协议

  12. 

  13. 数据流?

  14. 

  1. 

  2. HTTP响应的5种状态

  3. HTTP协议版本

  4. HTTP/1.0: 1996

  5. 每次请求会创建一个新的TCP连接;

  6. 每次请求之前都要进行TCP握手连接;

  7. HTTP/1.1 

  8. 允许客户端复用TCP连接;

  9. 每个连接只能执行一次的请求/响应,所以并发性不好;

  10. 虽然允许TCP连接的复用,但是考虑到并发性,会创建多个连接

  11. HTTP/2.0:解决单个连接效率低的问题

  12. HTTP流,字节流

  13. 允许将不同的HTTP并发复用到同一个TCP连接上;

  14. 同一个时刻,只能有一个请求;

  15. 队头堵塞

  16. HTTP/3 HTTP Request Over QUIC

  17. 不使用TCP作为会话的传输层,而是使用QUIC;

  18. 一个连接里包含多个QUIC流;

  19. QUIC数据包封装在UDP数据包的;

  20. 

  21. 自定义协议,如Dubbo

  22. TCP半包?!可以参考Netty中的相关内容;

非阻塞网络I/O

服务端-客户端

Socket数目 = 连接数目+1

单线程容易阻塞?!采用多线程的办法可以避免阻塞(每次执行.accept()操作时,都创建一个Socket)?



多线程服务器-客户端

  1. 一个连接、一个Socket、一个线程;

  2. 可以使用共用缓冲区替换线程?

线程池服务器

  1. 使用线程池(ThreadPool),如Tomcat

BIO - 阻塞式IO

  1. 



  1. 

  1. 

  2. Socket的read请求只需要处理TCP数据部分

  3. 非阻塞是指不阻塞线程;

  4. 阻塞点 ?

  5. read

  6. write

  7. accept

非阻塞I/O



Java NIO(New I/O)

  1. 



  1. 

  1. 

  2. Selector

  3. SelectionKey

  4. ServerSocketChannel

  5. SocketChannel

  6. NIO中的Buffer与Socket是一样的,前者由应用管理,后者由操作系统管理;

  7. 阻塞和非阻塞的区别是什么呢?主要针对什么来说的?read/write/accept

  8. 阻塞与非阻塞主要针对的是应用是否会被阻塞;

  9. 应用线程通过读取buffer,而不是直接与网络通信进行交互,来避免阻塞;

  10. 阻塞只会阻塞线程;

  11. 同步与异步针对执行状态,

  12. 系统I/O复用方式:select/poll/epoll

  13. select(poll)

  1. 

  2. 会阻塞在所有的Socket上的

  3. select需要遍历所有的socket,poll不需要;

  4. epoll: eventpoll,由操作系统维护

  5. 

  1. 

数据库

数据库架构

连接器



语法分析器

  1. 语法抽象树

语义分析与优化器

  1. 什么是执行计划?

执行引擎

为什么PrepareStatement更好?

MySQL缓存在版本8中被取消掉了?

  1. 



  1. 

  1. 



  1. 

  1. 

B+树:文件系统

  1. M-叉树

  2. 每一个节点记录一些数据;

  3. 用于构建索引的;

  4. B+数据的复合索引是怎么实现的呢?

  5. 



  1. 

  1. 

聚簇索引

MySQL的主键就是聚簇索引;



非聚簇索引

聚簇索引与非聚簇索引的区别是什么呢?主要针对的场景是什么呢?

索引为什么会失效呢?

  1. like '%ab'

  2. 映射函数转换

  3. 字段加函数

  4. 



  1. 



  1. 

数据库事务

  1. 数据库事务日志

  2. LSN

发布于: 2020 年 07 月 29 日 阅读数: 29
用户头像

sljoai

关注

还未添加个人签名 2017.11.09 加入

还未添加个人简介

评论

发布
暂无评论
架构师训练营-第八周-本周总结