23.12月中旬 上海寻序人工智能科技-上海嘉定-Java开发实习生-薪资150-230/d 面经

简介: 关于上海寻序人工智能科技有限公司Java开发实习生岗位的面试经验分享,涵盖了技术问题如对象存储MinIO、ArrayList扩容、Object类方法、hashCode和equals方法、处理哈希冲突、JVM垃圾回收器、GC算法、网络协议、邮件协议、HTTP请求方法、Linux和Docker命令、Dockerfile制作等。

23.12月中旬 上海寻序人工智能科技-上海嘉定-Java开发实习生-150-230/d

0、对象存储minio

黑马头条 SpringBoot+SpringCloud+ Nacos等企业级微服务架构项目_黑马头条项目-CSDN博客

1、这个下面有minio介绍,读写速度快,直接docker拉下来就能用

2、ArrayList的扩容

Java 大厂面试 —— 常见集合篇 List HashMap 红黑树_java list是连续内存吗-CSDN博客

3、Object的类有哪些方法

object类中的常用方法的用处:

1、 getClass():获取类的class对象。

2、 hashCode:获取对象的hashCode值

3、 equals():比较对象是否相等,比较的是值和地址,子类可重写以自定义。

4、 clone():克隆方法。

5、 toString():如果没有重写,应用对象将打印的是地址值。

6、 notify():随机选择一个在该对象上调用wait方法的线程,解除其阻塞状态。该方法只能在同步方法或同步块内部调用。如果当前线程不是锁的持有者,该方法抛出一个IllegalMonitorStateException异常。

7、 notifyall():解除所有那些在该对象上调用wait方法的线程的阻塞状态。该方法只能在同步方法或同步块内部调用。如果当前线程不是锁的持有者,该方法抛出一个IllegalMonitorStateException异常。

8、 wait():导致线程进入等待状态,直到它被其他线程通过notify()或者notifyAll唤醒。该方法只能在同步方法中调用。如果当前线程不是锁的持有者,该方法抛出一个IllegalMonitorStateException异常。

9、 finalize():对象回收时调用

4、hashcode有什么用

Java hashCode()方法指南_java直接调用hashcode方法-CSDN博客

5、equals和==的区别

"=="和equals()方法的区别和联系

 "=="比较基本数据类型时比较的是表面值内容,而比较两个对象时比较的是两个对象的内存地址值

对于equals方法,注意:equals方法不能作用于基本数据类型的变量

如果没有对equals方法进行重写,则比较的是引用类型的变量所指向的对象的地址;

诸如String、Date等类对equals方法进行了重写的话,比较的是所指向的对象的内容

简单概括就是:

\== 在基本数据类型:值内容, 引用类型时:地址

equals 重写:值内容 , equals不重写:地址

6、处理哈希冲突

哈希表的内在行为支持这些数据结构的相关实现:即使哈希算法非常有效,两个或多个对象不相等,也有可能产生相同的哈希值。所以它们的哈希值指向相同的桶,虽然它们有不同的key值。

通常这种场景我们称为哈希冲突,存在多种方式可以处理,每个都尤其优劣。java HashMap采用单独链接方法处理冲突:

当两个或多个对象指向相同的桶,这些对象在桶中以linked List方式存储。这种情况下,哈希表是linked List的数组,每个相同哈希值对象被追加至桶的linked List中。

最坏情况下,几个桶仅绑定一个linked List,则在list中检索对象只能是线性搜索。哈希冲突说明为什么实现有效hashCode方法非常重要。

java 8 提供了HashMap的增强实现,如果桶大小超出一定阈值,会使用tree map代替 linked List,只有时间复杂度从O(n)提升至O(logn)。

7、JVM中的垃圾回收器

[JVM基础]-- 垃圾回收器_jvm垃圾回收器-CSDN博客

8、了解哪些GC算法

Java 大厂八股文面试专题-JVM相关面试题 垃圾回收算法 GC JVM调优_gc 伊甸园区s0 s1-CSDN博客

9、jdk8的默认gc算法

Java8默认使用的GC类型_jdk8用的什么gc-CSDN博客

10、常见的网络协议

几种常见的网络协议_网络协议有几种类型-CSDN博客

11、邮件的网络协议

  • SMTP协议
  • POP3协议
  • IMAP协议

12、get请求和post请求的区别

GET和POST请求的区别(超详细)-CSDN博客

从幂等性的角度,GET是幂等的,而POST不是。 (幂等表示执行相同的操作,结果也是相同的)

从TCP的角度,GET 请求会把请求报文一次性发出去,而 POST 会分为两个 TCP 数据包,首先发 header 部分,如果服务器响应 100 (continue), 然后发 body 部分。

13、常用的linux、docker命令

14、制作dockerfile命令有哪些部分

Docker快速入门到项目部署,docker自定义镜像_docker基础镜像和项目镜像-CSDN博客

相关文章
|
3天前
|
Java
Java开发实现图片URL地址检验,如何编码?
【10月更文挑战第14天】Java开发实现图片URL地址检验,如何编码?
16 4
|
3天前
|
Java
Java开发实现图片地址检验,如果无法找到资源则使用默认图片,如何编码?
【10月更文挑战第14天】Java开发实现图片地址检验,如果无法找到资源则使用默认图片,如何编码?
16 2
|
2天前
|
Java 关系型数据库 API
介绍一款Java开发的企业接口管理系统和开放平台
YesApi接口管理平台Java版,基于Spring Boot、Vue.js等技术,提供API接口的快速研发、管理、开放及收费等功能,支持多数据库、Docker部署,适用于企业级PaaS和SaaS平台的二次开发与搭建。
|
2天前
|
监控 Java 测试技术
Java开发现在比较缺少什么工具?
【10月更文挑战第15天】Java开发现在比较缺少什么工具?
11 1
|
3天前
|
存储 机器学习/深度学习 人工智能
探索未来科技:人工智能与区块链的融合之路
【10月更文挑战第14天】探索未来科技:人工智能与区块链的融合之路
9 1
|
4天前
|
Java
Java开发如何实现文件的移动,但是在移动结束后才进行读取?
【10月更文挑战第13天】Java开发如何实现文件的移动,但是在移动结束后才进行读取?
13 2
|
8天前
|
运维 Java Linux
【运维基础知识】掌握VI编辑器:提升你的Java开发效率
本文详细介绍了VI编辑器的常用命令,包括模式切换、文本编辑、搜索替换及退出操作,帮助Java开发者提高在Linux环境下的编码效率。掌握这些命令,将使你在开发过程中更加得心应手。
11 2
|
20小时前
|
机器学习/深度学习 人工智能 搜索推荐
探索未来科技:人工智能在医疗领域的革新应用
【10月更文挑战第16天】探索未来科技:人工智能在医疗领域的革新应用
|
20小时前
|
机器学习/深度学习 存储 人工智能
探索未来科技的边界:人工智能在医疗诊断中的革新应用
【10月更文挑战第16天】探索未来科技的边界:人工智能在医疗诊断中的革新应用
|
3天前
|
机器学习/深度学习 人工智能 并行计算
探索未来科技的边界:人工智能与量子计算的融合之路
【10月更文挑战第14天】 探索未来科技的边界:人工智能与量子计算的融合之路
8 0