面试相关

仅供大家参考,全部摘抄至别人的博客,可以点击自行访问

tcp :

 三次握手四次挥手: https://blog.csdn.net/qq_38950316/article/details/81087809(详解三次握手,四次挥手)      https://www.cnblogs.com/qingergege/p/6603488.html (握手挥手中11中状态流传详解)

tcp是如何保障安全性的:https://blog.csdn.net/weixin_34285318/article/details/90183312

1. 将数据分割为合适大小进行发送,引申合适大小是多大,:答:一般由网络决定,最大是1500字节(并非严格数字)由以太网的物理特性决定的,最小是20(算上tcp的协议头)

2. 确认和超时重传机制, 就是会对数据进行编号,如果有数据包收到就会回复确认信息, 发送方一段时间收不到确认信息就重传

3  接收方对数据进行完整性校验, 重复性校验, 校验和等方式进行校验

4  排序,如果有序号的数据包没到,1发送请求重传, 如果连着多次(3 ?)都发了请求,就会重传,,,, 或者超时了,就会超时重传

5  流量控制和拥塞控制

1. 流量控制: 主要是用来解决发送段发送速度大于接受速度的问题, 通过每次告诉发送方当前接收方的窗口大小(即你能发送的最大值)来限制发送方的发送速度:  发送每次都会收到接收方的请求. 如果同一个请求超过三次,那么发送方会立刻重发这个数据

https://baike.baidu.com/item/%E6%BB%91%E5%8A%A8%E7%AA%97%E5%8F%A3/8351795?fr=aladdin

2. 拥塞控制

主要是 慢开始\拥塞避免\快重传\快恢复

区别联系下面的博客特别清楚

https://blog.csdn.net/dangzhangjing97/article/details/81008836

 

访问一个url的全过程

1. 首先对域名进行dns解析(浏览器缓存, 本机host配置, dns服务器, 树形结构,先向根节点请求直到找到对应的叶子节点)获取ip:port

2.根据arp协议去解析物理地址,相当于知道gps定位去搜属于中国哪里一样, 

3.发起http请求, 填充响应头等.(需要详细展开)

3.2可能有nginx 进行负载均衡,然后转发到后端实例服务器

4.建立tap链接,三次握手四次挥手

5.收到服务器发来的数据是一个html,浏览器进行渲染

https://blog.csdn.net/g291976422/article/details/88984859

 

状态码

https://blog.csdn.net/piaoxuan1987/article/details/51603671(所有状态码, 并没有详解)

301 与 302区别,:301永久重定向,302临时重定向

请求转发和重定向区别: 请求转发是服务器端行为, 他给你打了新的请求,但是你在浏览器上看到的还是原来的请求地址, 

重定向是给你返回一个302,告诉你,你去请求新的地址吧, 然后你去访问新的地址, 获取资源, 这时候url已经变了,变成新的了.

操作系统

用户态\内核态:定义和什么时候切换.而且还有切换的时候做了什么操作

https://blog.csdn.net/qq_39823627/article/details/78736650

用户态: 就是用户的自己的程序执行的状态,只有有限的内存\操作权限, 当需要操作硬件或者有文件需要读写的时候,需要调用系统函数转到内核态,

内核态: 操作系统执行控制系统资源的内核代码,权限最高.

可以通过三种方式进行用户态到内核态的转换(本质上都是中断):1.系统函数的调用. 2. 出现异常, 系统内核代码会对一场进行处理,3.硬件中断(键盘输入等)

select\poll\epoll

https://blog.csdn.net/russell_tao/article/details/7160071

就是I/O多路复用, select通过维持一个类似数组一样的东西用来记录fd的标志位, 当每次有fd的增加或者删除的时候都会把整个这个标志位数组拷贝到内核态去, 开销比较大,这个数组的长度一般最大为1024. 

poll 和select类似的,区别在于其底层类似是通过一个链表的结构所以其相对于select来说相当于没有了最大长度的限制,但是其查询还是需要遍历查询那个fd已经处于就绪状态,时间复杂度还是O(n)

epoll   https://www.jianshu.com/p/fe54ca4affe8

是通过在内核态维持一个红黑树和一个已就绪状态的链表, 当需要插入fd时,直接在红黑树中查询,如果已经存在就不处理,如果不存在就生成一个并插入到红黑树中, 当有fd完成时就会调用回调函数,使其进入已就绪的链表中, 每次从内核态到用户态需要拷贝的东西就少了很多.并且时间复杂度为O(1)的

锁和信号量, 线程同步用什么, 进程通信用什么? :

     有自旋锁, 互斥锁,读写锁, https://blog.csdn.net/u012719256/article/details/52670098(信号量,自旋锁,互斥锁的概念)

进程间通方式http://www.xitongzhijia.net/xtjc/20171024/109869.html(只有概述没有细讲)

https://blog.csdn.net/bao_qibiao/article/details/4516196

,线程和进程的区别:

https://baijiahao.baidu.com/s?id=1611925141861592999&wfr=spider&for=pc

数据库

mysql   https://blog.csdn.net/qq_22222499/article/details/79060495

redis

     持久化的两种方式:aof,rbd.. 前面是效率低安全性高, 后面效率较高

     很详细的介绍: https://www.cnblogs.com/Y1Focus/p/6707121.html

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值