面试题知识点全纪录---基础题篇

  1. 什么是TCP?
    TCP:
    1.面向连接的、可靠的、基于字节流的传输层的通信协议;
    2.将应用层的数据流分割成报文段并发送给目标节点的TCP层。
    3.数据包都有序号,对方收到则发送ACK确认,未收到则重传;
    4.使用校验和来检验数据在传输过程中是否有误;
    标志确定:
    1.ACK:确认标志;
    2.SYN:同步标志;
    3.FIN:结束标志;
    4.PSH:推标志;
    5.RST:复位标志;

  2. TCP三次握手过程?
    过程:
    1.建立连接时,客户端发送SYN包给服务器,并进入SYN_SEND状态,等待服务器确认;
    2.服务器收到SYN包,必须确认客户的SYN,同时自己也发送一个SYN+ACK包,此时服务器进入SYN_RECV状态;
    3.客户端收到服务器端的SYN+ACK包,向服务器发送确认包ACK,此包发送完毕,客户端和服务器进入established状态,完成三次握手;

三次握手
3. 四次挥手?
1.第一次挥手:Client发送一个FIN,用来关闭Client到Server的数据传送,Client进入FIN_WAIT_1状态。
2.第二次:Server收到FIN后,发送一个ACK给Client,确认序号为收到序号+1,Server进入CLOSE_WAIT状态;
3.第三次:Server发送一个FIN,用来关闭Server到Client的数据传送,Server进入LAST_ACK状态;
4.第四次:Client收到FIN后,Client进入TIME_WAIT状态,接着发送一个ACK给Server,确认序号为收到的序号+1,Server进入Closed状态,完成四次挥手。
四次挥手

  1. 为什么需要三次握手才能建立连接/四次才能断开连接?
    why三次握手?为了初始化Sequence Number(序列号)的初始值,要通知双方数据包的序号,作为以后通讯的序号,以保证在网络传输过程,不会以为网络原因而导致乱序;
    why四次挥手:因为全双工,发送方和接收方都需要FIN报文和ACK报文。

  2. HTTP和HTTPS的请求过程?
    HTTP:
    1.tcp建立连接后,客户端会发送报文给服务端;
    2.服务端接收报文并作出响应;
    3.客户端收到响应后解析给用户;
    HTTPS:
    1.客户端发送请求到服务端;
    2.服务器返回证书和公钥;
    3.客户端验证证书和公钥的有效性,如有效,则生成对称密钥并使用公钥加密发送到服务端;
    4.服务端使用私钥解密报文,并使用收到的对称密钥加密报文,发送到客户端;
    5.客户端使用对称密钥解密报文;
    6.SSL加密建立。

  3. 创建线程的方式?
    1.通过继承Thread类创建线程。
    2.通过实现Runnable接口创建线程。
    3.通过实现callable接口创建线程。
    4.使用Executor框架来创建线程池。

  4. 常用的JVM调优的参数?
    XX比X的稳定性更差,并且版本更新不会进行通知和说明。
    -Xms: S为starting,表示堆内存起始大小;
    -Xmx:x为max,表示最大堆内存,(一般xms与xmx设置相同大小,因为heap自动扩容时,会发生内存抖动,影响程序稳定性)
    -Xmn:n为new,表示新生代大小;
    -Xss:规定了每个线程虚拟机栈(堆栈)的大小;
    -XX:SurvivorRator=8 表示堆内存中新生代、老年代、永久代的比为8:1:1;
    -XX:PretenureSizeThreshold=3145728表示当创建(new)的对象大于3M的时候直接进入;
    -XX:MaxTenuringThreshold=15表示当对象的存活的年龄(minor gc 一次加1)大于多少时,进入老年代。
    -XX:-DisableExplicirGC表示是否(+表示是,-表示否)打开GC日志

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值