腾讯一面面经:总结一下

1. Java 中的 == 和 equals 有什么区别?比较对象时使用哪一个

1.== 操作符:

用于比较对象的内存 地址(引用是否相同)。

  • 对于基本数据类型、== 比较的是值。(8种基本数据类型)
  • 对于引用数据类型、== 比较的是两个引用是否指向同一个内存地址(即对象是否相同)。

2.equals分为两种情况:

  • 类没有重写equals()方法:通过equals()比较该类的两个对象时、Object 类的 equals() 方法默认行为与 == 相同、使用的默认是Objectequals()方法。Object类的equals方法默认比较的是两个对象的引用是否相同、即它们是否指向同一个内存地址。也就是说 它比较的是两个引用是否指向同一个对象。
  • 类重写了equals()方法:一般我们都重写equals()方法来比较两个对象中的属性是否相等。若它们的属性相等、则返回true(即认为这两个对象相等)。也就是说它会比较两个对象的内容是否相同。例如String 的 equals方法就是比较两个对象的内容是否相同

补充:

Java 中基本数据类型引用数据类型的对比表格:

|--------|--------------------------|
| 分类 | 数据类型 |
| 基本数据类型 | byte、short、int、long |
| | float、double |
| | char |
| | boolean |
| 引用数据类型 | String |
| | Array(数组) |
| | Class(类)、Object |
| | 接口、枚举、集合类(如 List、Map, 等) |

📌 区别总结

  • 基本类型 :直接存储数值、存放在栈中、效率高。

  • 引用类型 :存储的是对象的引用(地址)、实际对象存在堆中

2. 合并两个有序链表的方法及时间复杂度

今天刚写了 刚好贴一下代码 我决定再写一次

java 复制代码
class Solution {
    public ListNode mergeTwoLists(ListNode list1, ListNode list2) {
        

        ListNode dummy=new ListNode(0);
        ListNode current=dummy;

        while(list1!=null && list2!=null){
            if(list1.val<=list2.val){
                current.next=list1;
                list1=list1.next;
            }else{
                current.next=list2;
                list2=list2.next;
            }

            current=current.next;
        }


        if(list1!=null){
            current.next=list1;
        }else{
            current.next=list2;
        }

        return dummy.next;
    }
}

时间复杂度:

时间复杂度是 O(m+n)

  1. 解释一下线程的上下文切换、具体的步骤是什么

  2. 解释一下进程通信的方式

  3. 你了解 HTTPS 的握手过程吗

  4. 单向认证和双向认证有什么区别

  5. 双端队列与传统的队列有什么区别与优点

8. HTTP 状态码 301 和 302 有什么区别

重定向是数字3开头的状态码。

  • 301状态码是代表永久重定向、客户端收到301状态码后、会记忆重定向后的URL地址、这样下一次访问的时候、不需要访问旧URL、直接跳转到新URL访问。

  • 302状态码代表临时重定向、客户端收到302状态码后、不会记忆重定向后的URL地址、下一次访问的时候、还需要访问旧URL、再跳转访问新的URL。

分析:

相关推荐
大模型玩家七七1 小时前
基于语义切分 vs 基于结构切分的实际差异
java·开发语言·数据库·安全·batch
寻星探路6 小时前
【深度长文】万字攻克网络原理:从 HTTP 报文解构到 HTTPS 终极加密逻辑
java·开发语言·网络·python·http·ai·https
曹牧8 小时前
Spring Boot:如何测试Java Controller中的POST请求?
java·开发语言
爬山算法9 小时前
Hibernate(90)如何在故障注入测试中使用Hibernate?
java·后端·hibernate
kfyty7259 小时前
集成 spring-ai 2.x 实践中遇到的一些问题及解决方案
java·人工智能·spring-ai
猫头虎9 小时前
如何排查并解决项目启动时报错Error encountered while processing: java.io.IOException: closed 的问题
java·开发语言·jvm·spring boot·python·开源·maven
李少兄9 小时前
在 IntelliJ IDEA 中修改 Git 远程仓库地址
java·git·intellij-idea
忆~遂愿9 小时前
ops-cv 算子库深度解析:面向视觉任务的硬件优化与数据布局(NCHW/NHWC)策略
java·大数据·linux·人工智能
小韩学长yyds10 小时前
Java序列化避坑指南:明确这4种场景,再也不盲目实现Serializable
java·序列化