春招面试总结第一期

1.OSI的七个层次分别是什么:

  1. 物理层(Physical Layer):负责传输原始的比特流,处理数据在物理媒介(如光缆、双绞线、无线等)上的传输。物理层关心的是如何在连接各种计算机的传输媒体上传输数据比特流,采用电缆、光缆、无线等传输介质传输比特流。

  2. 数据链路层(Data Link Layer):在物理层提供比特流服务的基础上,建立数据链路连接,将比特流转变为逻辑传输线路,传输以“帧”为单位的数据包,并采用差错控制与流量控制方法,使有差错的物理线路变成无差错的数据链路。

  3. 网络层(Network Layer):负责将数据包从源端传到目的端,主要解决路由选择、拥塞控制、网络连接等问题。

  4. 传输层(Transport Layer):负责向两个主机中进程之间的通信提供服务。由于一个主机可同时运行多个进程,因此运输层有复用和分用的功能。复用就是多个应用层进程可同时使用下面运输层的服务,分用则是运输层把收到的信息分别交付上面应用层中的相应进程。

  5. 会话层(Session Layer):负责在网络中的两节点之间建立、维持和终止通信,如服务器验证用户登录便是由会话层完成的。

  6. 表示层(Presentation Layer):对上层数据或信息进行变换以保证一个主机应用层信息可以被另一个主机的应用层识别。表示层的数据转换包括数据的加密、压缩、格式转换等。

  7. 应用层(Application Layer):为特定应用程序提供网络服务。应用层协议定义的是应用进程间通信和交互的规则。如我们常见基于因特网的应用的协议WWW、电子邮件、FTP等

 2.mysql的事务特性是什么:

  1. 原子性(Atomicity):事务开始后,其包含的所有操作要么全部完成,要么全部不完成,不可能停滞在中间环节。这意味着事务是一个不可分割的整体,要么全部成功,要么全部失败。如果在事务执行过程中出错,它会回滚到事务开始前的状态,所有的操作就像没有发生一样。
  2. 一致性(Consistency):事务必须使数据库从一个一致性状态变到另一个一致性状态。这意味着事务执行前后,数据库的状态必须保持一致。如果事务执行失败,数据库会回滚到事务开始之前的状态,从而确保数据的一致性。
  3. 隔离性(Isolation):并发执行的多个事务之间是相互隔离的,每个事务对其他事务的操作是不可见的。这确保了数据的独立性,一个事务的执行不会被其他事务干扰。
  4. 持久性(Durability):一旦事务提交成功,其对数据库中数据的改变就是永久性的。即使发生系统故障或重启,数据也不会丢失。

 3.String,StringBuffer和StringBulider的区别

1. String是不可变的,如果尝试去修改,会新生成一个字符串对象, StringBuffer和StringBuilder是可变的
2. StringBuffer 是线程安全的,StringBuilder是线程不安全的, 所以在单线程环境下StringBuilder效率会更高

4.==和equals的区别

.==:如果是基本数据类型,比较是值,如果是弓|用类型, 比较的是引用地址
equals:具体看各个类重写equals方法之后的比较逻辑,比如String类, 虽然是弓1用类型,但是String类中重写了equals方法,方法内部比较的是字符串中的各个字符是
否全部相等。

5.POST和GET的区别

  1. 用途:GET主要用于请求数据,而POST主要用于提交数据。

  2. 安全性:GET请求的参数会附加在URL上,可能导致敏感信息泄露,因此安全性较低。而POST请求的数据则包含在请求体中,相对更安全。

  3. 数据长度:GET请求由于参数附加在URL上,其数据长度受到限制。POST请求则没有此限制,可以传输更大的数据量。

  4. 幂等性:GET请求是幂等的,即多次执行相同的GET请求,结果应该相同。POST请求则不是幂等的,每次执行都可能产生新的结果。

  5. 缓存:GET请求可以被缓存,而POST请求通常不会被缓存。

  6. 浏览器行为:对于GET请求,用户可以通过浏览器的后退和刷新按钮重新发送请求。而对于POST请求,浏览器通常会警告用户重新提交可能会导致重复操作。

6.HashCode和equal的关系

在Java中, 每个对象都可以调用自己的hashCode0方法得到自己的哈希值(hashCode), 相当于对象的指纹信息,通常来说世界上没有完全相同的两个指纹,但是在Java中做
不到这么绝对,但是我们仍然可以利用hashCode来做一 些提前的判断,比如: .
如果两个对象的hashCode不相同,那么这两个对象肯定不同的两个对象
如果两个对象的hashCode相同,不代表这两个对象一定是同一个对象,也可能是两个对象
如果两个对象相等,那么他们的hashCode就-定相同
在Java的一 些集合类的实现中此较两个对象是否相等时, 会根据上面的原则,会铣调用对象的hashCode0方法得到hashCode进行比较,如果hashCode不相同,就可以
直接认为这两个对象不相同,如果hashCode相同, 那么就会进一 步调用equals0方法进行比较。而equals0方法, 就是睐最终确定两个对象是不是相等的,通常equals方法
的实现会比较重,逻辑比较多,而hashCode0主要就是得到一 个哈希值,实际上就一 个数字,相对而言比较轻,所以在比较两个对象时,通常都会先根据hashCode想比较
所以我们就需要注意,如果我们重写了equals0方法, 那么就要注意hashCode0方法,一 定要保证能遵守上述规则。


 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值