java面试直通车之网络技术

剑指Java面试-Offer直通车--JVM 前言:以下相关内容多为图片,参考链接、附上少量文字解释,以便整理脉络,以作复习巩固之用。若需详细了解,请查阅相关资料或者观看相关课程。如有错误,敬请指出,谢谢。 JVM谈谈你对Java的理解一、平台无关性如何实现?二、JVM如何加载.class文件?三、反射四、ClassLoader类加载器五、类加载器的双亲委派机制为什么使用双亲委派机制去加载类?六、loadClass和forName的区别loadClass和forName的区别七、Java内存模型JVM内存模型--JDK8程序计数器Java虚拟机栈(St 阅读详情

网络基础知识讲解:
第1层 (物理层):机械、电子、定时接口通信信道上的原始比特流传输
第2层(数据链路层):物理寻址、同时将原始比特流转变为逻辑传输线路
第3层(网络层):通知子网的运行、如逻辑编址、分组传输、路由选择
第4层(传输层):接收上一层的数据,在必要的时候把数据进行分割,并将这些数据交给网络层,且保证这些数据段有效到达对端
第5层(会话层):不同机器上的用户之间建立及管理会话
第6层(表示层):信息的语法语义以及它们的关联,如加密解密、转换翻译
第7层(应用层):

TCP的三次握手:
URG:紧急指针标志
ACK:确认序号标志
PSH:push标志
PRT:重置连接标志
SYN:同步序号
FIN:finish标志

"握手"是为了建立连接

第一次握手:建立连接时,客户端发送SYN包(syn = j)到服务器,并进入SYN_SEND状态,等待服务器确认
第二次握手:服务器收到SYN包,必须确认客户的SYN(ack=j + 1)到服务器,同时自己也发送一个SYN包(syn = k),即SYN+ACk包,此时服务器进入SYN_RECV状态
第三次握手:客户端收到服务器的SYN+SCK包,想服务器发送确认包ACK,此包发送完毕,客户端和服务器进入ESTABLISHED状态,完成三次握手

为什么需要三次握手才能建立起连接?
答:为了初始化Sequence Nuber 的初始值.
首次握手的隐患–SYN超时
问题起因分析:

  • Server收到Client的SYN,回复SYN-ACK的时候未收到ACK确认
  • Server不断重试直至超时,Linux默认等待63秒才断开连接(重新发送五次,每次间隔翻倍,最后再等待32秒 1+2+4+8+1+32=63)

建立连接后,Client出现故障怎么办?
答:保活机制:
向对方发送报货探测报文,对方未收到超过次数后响应中断.

TCP的四次挥手:
"挥手"是为了终止连接

第一次挥手:Client发送一个FIN,用来关闭Client到Server的数据传送,Client进入FIN_WAIT_1状态;
第二次挥手:SERVER收到FIN后,发送一个ACK给Client,确认序号为收到序号+1,Server进入CLOSE_WAIT状态
第三次挥手:Server发送一个FIN,用来关闭Server到Client到数据传送,Server进入LAST_ACK状态;
第四次挥手:Client到手FIN后,Client进入TIME_WALT状态,接着发送一个ACK给Server,确认序号为收到序号+1,Serve,进入CLOSED状态没完成四次挥手

为什么会有TIME_WAIT状态?
答:确保有足够的时间让对方收到ACK包;避免新旧连接混淆

为什么需要四次握手才能断开连接?
答:因为全双工,发送方和接收方都需要FIN报文和ACK报文

服务器出现大量CLOSE_WAIT状态的原因?
答:对方关闭socket连接,我方忙于读或写,没有及时关闭连接

TCP和UDP的区别:
UDP的特点:

  • 面向非连接
  • 不维护连接状态,支持同时向多个客户端传输相同的消息
  • 数据包报头只有8个字节,额外开销较小
  • 吞吐量只受限于数据生成速率、传输速率以及机器性能
  • 尽最大努力交付,不保证可靠交付,不需要维持复杂的链接状态表
  • 面向报文,不对应用程序提交的报文信息进行拆分或者合并

结论:
面向连接VS面向无连接、可靠性、有序性、速度、量级

TCP的滑动窗口:
RTT和RTO
RTT:发送一个数据包到收到对应的ACK,所花费的时间
RTO:重传时间间隔

滑动窗口的作用:

  • 保证TCP的可靠性
  • 保证TCP的流控特性

滑动窗口:原滑动窗口为已发送但是未从接收方回传确认的数据和未发送但是可发送的数据,当已发送的全部接收后,窗口滑动

HTTP相关:
超文本传输协议HTTP主要特点:

  • 支持客户/服务器模式
  • 简单快速(客户机只需要传送请求方法和路径)
  • 灵活(允许传输任意类型的数据对象)
  • 无连接(限制每个连接只有一个请求)

请求/响应的步骤:

  • 客户端连接到Web服务器
  • 发送HTTP请求
  • 服务器接收请求并返回HTTP响应
  • 释放连接TCP连接
  • 客户端浏览器解析HTML内容

在浏览器地址栏键入URL,按下回车之后经历的流程?
答:DNS解析(解析域名对应的IP地址)、TCP连接(三次连接)、发送HTTP请求、服务器处理请求并返回HTTP报文、浏览器解析渲染页面、连接结束

HTTP状态码(自己查)

GRT和POST的区别:
从三个层面出发:
HTTP报文层面:GET将请求信息放在URL,POST放在报文体中
数据库层面:GET不修改数据库,POST是直接发送到数据库的,不安全
其他层面:GET可以被网页缓存、被储存、而POST不行

Cookie和Session的区别:
Cookie简介:

  • 是由服务器发给客户端的特殊信息(登入信息等),以文本的形式存放在客户端
  • 客户端再次请求的时候,会把Cookie回发(放到HTTP报头)
  • 服务器接收到后,会解析Cookie生成与客户端相对应的内容

Session简介:
服务器端的机制,在服务器上保存的信息
解析客户端请求并操作session id, 按需保存状态信息
Session的实现方式:

  • 使用Cookie来实现
  • 使用URL回写来实现

区别:

  • Cookie数据存放在客户的浏览器上,Session数据在服务器上
  • Session相对于Cookie更安全
  • 若考虑减轻服务器负担,应当使用Cookie

HTTP和HTTPS的区别?
一个更安全,一个不够安全

《Java开发及前端最全面试题-Offer直通车》目录 Java开发是需求最广,工资高的细分领域,同时也是会的人最多,有的公司招1个Java开发,要面试几十甚至上百面试者,同时要求很高,要求通晓技术栈很多及很深深度。如果你正准备面试,想要脱颖而出,那么《Java开发及前端最全面试题-Offer直通车》是你的不二选择。本书汇集了多篇超过1万字的精华内容,无论是Java基础、数据库、SpringBoot和SpringCloud等必问的,还是前端、k8s等容器和虚拟化和大数据各类技术面试,本书都为你提供了最全面的试题和参考答案。 阅读详情

相关推荐

剑指Offer(java版)全部运行通过

所以的题与牛客网配套,所有的代码都是本人敲过,运行通过的。

2.《剑指Java面试-Offer直通车》--数据库

如何设计一个关系型数据库? 数据库最主要的功能是存储数据,因此有一个存储模块存储数据。存储模块类似OS文件系统,将数据持久化存入磁盘中,如存入机械硬盘、SSD固态硬盘、亦或者是它们的磁盘阵列矩阵中。 但是只有存储是不行的,还需要组织并且用到这些数据,因此需要有程序的实例,用逻辑结构来映射出物理结构,并且在程序中提供获取和管理数据的方式,以及提供必要的问题追踪机制。 细分程序模块: 1)数据逻辑关系转换成物理存储关系的存储管理模块:首先对数据的格式和文件的分隔进行统一的管理,即把物理数据通过逻辑..

weixin_35821291的博客 781

java面试直通车.txt

java面试视频详解,包含java从基础到高并发,JC垃圾回收器,多线程等面试必问问题,欢迎下载!欢迎下载!欢迎下载!欢迎下载!

1.《剑指Java面试-Offer直通车》--计算机网络

一、网络基础知识讲解 OSI开放式互联参考模型 第1层 物理层 首先解决两台物理机之间的通信需求,具体就是机器A往机器B发送比特流,机器B能收到比特流。 主要作用是传输比特流(0101二进制数据),将比特流转化为电流强弱传输,到达目的后再转化为比特流,即常说的数模转化和模数转换。这层数据叫做比特。网卡工作在这层。 第2层 数据链路层 【封装成帧、透明传输、差错检测】 封装成帧:在数据前后添加首部和尾部,使用帧定界符。(SOH、EOT),数据部分小等于MTU 透明传输:为了.

weixin_35821291的博客 714

剑指offer-Java代码实现

自己重撸的代码,亲自一行一行实现,个别算法题采用多个算法实现。源代码和整理的文档都有。

剑指offer面试题3(java)

剑指offer面试题3(java)

《剑指Java面试-Offer直通车》--计算机网络

计算机网络 网络基础知识讲解 OSI七层

lucky_jiexia的博客 9195

剑指offer题解(Java代码实现)

这个pdf文件主要记录了个人刷剑指offer的过程,一共67道题目,代码都是Java代码,希望对各位有所帮助!另外本文档已经开源在我的github上面了,没有积分的同学可以fork一下我的github仓库,顺便给个star,谢谢!https://github.com/Felixgitcode/JianZhi_Offer

Java架构直通车——如何准备可以提高面试成功率?

文章目录硬实力准备软实力准备 硬实力准备 a.准备好数据结构和算法,这个是互联网技术岗面试必过的一关。 很多人在大学阶段就接触和学习了相关知识。但是要吃透重点,你还需要具备比较好的数学基础才能搞懂背后的原理,所以算法易学难精,除此之外,听别人说其实工作中基本用不到算法,这导致很多人都会放弃钻研。但实际上在互联网技术岗位面试的时候,是无论如何都会挑几个问题来考,尤其是应届生或者互联网技术新人。 这...

No_Game_No_Life_的博客 765

303-java-offter:「剑指Java面试-Offer直通车」学习原始码及笔记

2-1网络基础知识讲解 2-2 TCP的三次握手_1 2-3 TCP的三次握手_2 2-4 TCP的四次挥手 2-5 TCP和UDP的区别 2-6 TCP的滑窗试看 2-7 HTTP相关 2-8 HTTP相关_2 2-9 HTTP和HTTPS的区别 2-10插座相关 2-11网络知识总结 2-12彩蛋之走进面试官的世界 3-1数据库架构 3-2优化您的索引-使用二叉查找树 3-3优化你的索引-运用B树 3-4优化你的索引-运用B +树 3-5优化您的索引-使用哈希和位图 3-6密集索引和稀疏索引的区别 3-7索引额外的问题之如何调优Sql 3-8索引额外问题之最左匹配原则的成因 3-9索引额外问题之索引是建立越多越好吗 3-10锁模块之MyISAM与InooDB关于锁方面的区别 3-11锁模块之MyISAM与InooDB关于锁方面的区别_2 3-12锁模块之数据库事务的四大特性 3-13锁

GBase8a-GDCA认证考试-复习参考题

为提升产品服务水平定期举办GBase产品认证培训,培训更多GBase数据库专业人员,满足用户快速成长的业务需求,建设GBase产品生态。请注意甄别,根据所学知识综合判断,正确率97%(97分)。

weixin_41826637的博客 2374

java架构师成长直通车更新到,java面试简历范文

前言 最近老是收到小伙伴的私信问我能不能帮忙整理出一份JVM相关的面试题出来,说自己在大厂去面试的时候这一块问的是特别多的,每次自己学的时候每次都学不到重点去。这不他来了,一份详细的JVM面试真题给大家整理在下方了! 正文 下文中截图来源于朋友一个pdf版本的面经,把所以知识点的答案整理了下来,耗费他至少1个月时间,在本文最后部分把这个pdf分享给大家,觉得有用的麻烦点赞关注走一波,谢谢!!!面经中有他的知识点的答案,如下图示例,非常详细(文末有领取方式)!!! 1.数据结构与算法篇 你是java开发你

EDGNB123的博客 201

一文看懂分布式存储架构

目录一、集中存储结构二、分布式存储1 、分布式存储的兴起2 、分布式存储的重要性3 、分布式存储的种类和比较三、分布式理论浅析1 、一致性和可用性2 、数据分布3 、复制4 、分布式协议5、跨机房部署四、分布式文件系统1、 Google 文件系统( GFS )2、 Taobao 文件系统( TFS )3、 Fackbook Haystack 文件系统4、 CDN 内容分发网络五、分布式键值系统1、 Amazon Dynamo2、 Taobao Tiar3、 ETCD4 、产品选型比较( Etcd , Zoo

weixin_70730532的博客 2万+

不看后悔系列—Java程序员怎样抓住金九银十的小尾巴,坐上通往大厂的直通车?

前言 现在已经是金九银十的小尾巴了,还没有抓住这次跳槽涨薪机会的朋友们注意了。在这最后的时间里,让我们拼搏一下,坐上通往大厂高薪的直通车!送大家1000+最新整理的Java 技术考题及解答,抢先直通TMDBATJW拿高薪。 暂时没有跳槽计划的朋友也可以通过了解大厂的技术真题,针对性的查漏补缺,因为机会永远是留给有准备的人的。 那天阿里的技术哥们突然电话邀约提供面试机会,由于时间紧张,准备不充分,一面就给挂了,那实在可惜了......别不信,就在上周有位朋友深夜头条私信给疯魔私信,表示刚参加完.

javajavajava 1279

保姆级教程:用Simulink从零搭建新能源汽车VCU蠕行控制模型(附模型下载)

本文提供了一份详细的Simulink建模教程,指导读者从零开始搭建新能源汽车VCU蠕行控制模型。内容涵盖环境配置、信号定义、蠕行模式使能条件、扭矩控制算法实现及模型验证等关键步骤,特别适合需要将控制算法转化为可执行模型的初学者。教程还包含实用代码示例和常见问题解决方案,帮助开发者快速掌握VCU蠕行控制的Simulink实现技巧。

547

Sigrity System Explorer Transient Analysis模式进行瞬态仿真分析操作指导-单端信号

Sigrity System Explorer Transient Analysis模式可以用于瞬态仿真分析,通过搭建简易拓扑用于前仿真分析通道的时域性能,下面搭建一个简易的单端拓扑进行说明,以下图为例,准备好发送接收端的IBIS模型, (ibis_se.ibs,本例发送接收端都使用相同的IBIS模型),以及传输线的S参数模型(welement_se.sp)最上方的图形界面是传输线的模型,本例是一个上下都有参考平面的带状线,右侧的梯形是蚀刻角度,根据W1和W2以及铜厚来确定。

weixin_54787054的博客 417

java高级编程pdf,大厂直通车

2020年在匆匆忙忙慌慌乱乱中就这么度过了,我们迎来了新一年,互联网的发展如此之快,技术日新月异,更新迭代成为了这个时代的代名词,坚持下来的技术体系会越来越健壮,JVM作为如今是跳槽大厂必备的技能,如果你还没掌握,更别提之后更新的新技术了。[外链图片转存中…(img-SHiv4Zpq-1709472475624)]本文已被CODING开源项目:【一线大厂Java面试题解析+核心总结学习笔记+最新讲解视频+实战项目源码】收录。

m0_61041374的博客 899

米哈游运维面试题及参考答案

Linux 系统运行级别是用于定义系统启动时所需要达到的功能状态。运行级别 0:表示系统停机状态,用于关闭系统,是系统的关机级别。当系统切换到这个级别时,会停止所有的服务和进程,然后关闭系统。运行级别 1:也称为单用户模式。在这个级别下,系统只启动基本的系统服务和必要的进程,仅允许 root 用户登录系统进行维护操作,常用于系统出现故障需要紧急修复的情况,比如修复文件系统错误、重置 root 密码等。运行级别 2:多用户模式,但不支持网络文件系统(NFS)。

大模型大数据攻城狮的专栏 746

22年Java面试真题整理,一共343道,每一题都很经典,堪称大厂直通车

又是一年秋招季,这几天“小镇做题家”的事闹得沸沸扬扬的,同为做题家的我表示真的有冒犯到,而我们程序员与别的行业还不一样,除了上学的时候要做题,我们上班了找工作还得做题,甚至Java面试八股文都变成一个热词,由此可见一斑。

Javaesandyou的博客 540

融合Retinex理论与Transformer的YOLOv8低光照目标检测增强方法【YOLOv8】

图像分解:将输入图像分解为光照成分和反射成分。光照估计:估计光照图以消除暗光区域。图像重建:将光照增强后的反射图像重建成最终图像。Retinexformer通过在Transformer中引入Retinex的图像增强思路,使得低光照图像的细节能够得到充分保留。本文提出了一种基于Retinexformer的低光照增强方法,用于改进YOLOv8模型在夜间和低光照环境下的目标检测性能。

博客 1929

RK356X linux系统移植RTL8723BU模块遇到的坑

RK356X linux系统移植RTL8723BU模块遇到的坑

目前从事linux驱动开发,多交流多学习吧 954

【运维面试】谈谈你对CDN的了解,大厂直通车

为了做好运维面试路上的助攻手,特整理了上百道。

2401_84140628的博客 1012

boost::circular_buffer缓行缓冲区

1、circular_buffer实现了一个环形缓冲区,空间大小是固定的,当到达容器末尾时,将自动利用容器另一端的位置空间。 2、当程序需要容纳大量的元素,但多数情况下仅保存较少数量元素时可以使用circular_buffer_space_optimized,他可以有效的减少内存的占用,提高程序的运行效率。 3、主要接口: 4、实现一个生产者---消费者模式示例: #inc...

小米的修行之路 791

《剑指JAVA面试—offer直通车》—计算机网络篇

一、计算机网络考点 1、七层模型 引用一下大佬的图片 应用层(Application Layer) 应用层是最靠近用户的OSI层。这一层为用户的应用程序(例如电子邮件、文件传输和终端仿真)提供网络服务。。 协议有:HTTP FTP TFTP SMTP SNMP DNS TELNET HTTPS POP3 DHCP等。 应用层也称为应用实体(AE),它由若干个特定应用服务元素(SASE)和一个或多个公用应用服务元素(CASE)组成。每个SASE提供特定的应用服务,例如文件运输访问和管理(FTAM)、电子文电

Pride_Kong的博客 508

OV9734 DATASHEET,完整规格书

OV9734完整规格书,包括电气参数,尺寸规格,寄存器配置表等

android 蓝牙通讯demo

android 下蓝牙通讯demo,实现了发现蓝牙,使能蓝牙,通过蓝牙发送消息。

Java常见面试43题,大厂直通车

为什么很多程序员做不了架构师?1、良好健康的职业规划很重要,但大多数人都忽略了2、学习的习惯很重要,持之以恒才是正解。3、编程思维没能提升一个台阶,局限在了编码,业务,没考虑过选型、扩展4、身边没有好的架构师引导、培养。所处的圈子对程序员的成长影响巨大。金九银十面试季,跳槽季,整理面试题已经成了我多年的习惯!在这里我和身边一些朋友特意整理了一份快速进阶为Android高级工程师的系统且全面的学习资料。涵盖了Android初级——Android高级架构师进阶必备的一些学习技能。

2401_83947105的博客 903

Camera2Demo

在Camera2 的基础上进行封装,使得Camera2一堆初始化逻辑与Activity分离,降低耦合度,完成预览拍照并保存的操作

Java最新阿里(钉钉部门)远程面,三面坐上“直通车”,全靠这套面试题

这份文档从构建一个键值数据库的关键架构入手,不仅带你建立起全局观,还帮你迅速抓住核心主线。除此之外,还会具体讲解数据结构、线程模型、网络框架、持久化、主从同步和切片集群等,帮你搞懂底层原理。相信这对于所有层次的Redis使用者都是一份非常完美的教程了。你的支持,我的动力;祝各位前程似锦,offer不断!!!本文已被CODING开源项目:【一线大厂Java面试题解析+核心总结学习笔记+最新讲解视频+实战项目源码】收录需要这份系统化的资料的朋友,可以点击这里获取。

2401_84558388的博客 469

VC中sqlite的使用

在VC中对sqlite的使用,实现数据库大批数据的快速插入,读取数据库中的数据在ListCtrl中显示

上一篇: 计算机网络
下一篇: IDEA下配置meaven镜像
JavaPorter
博客等级 码龄7年 10粉丝 47原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值