Java实习生面试题汇总

embedded/2025/2/8 3:05:48/

Java实习生面试题汇总

简介

本人是二本大三学生,下半年大四。暑假在上海这边找实习工作,面了几家公司,所问到的问题记录在下面。

因为是在校生,没任何实习经历,一般找我面试的都是小公司,一般问的比较简单,甚至还有看了简历叫我直接去上班不用面试的(因为在学校获得了一些竞赛的证书而且没毕业,面试官问也就是CRUD的工作觉得没意思)。一般过去都是先做一套题目,或者叫你写几个接口,然后再开始面试问些问题。问的问题Java基础比较多。

主要提供题目,答案仅供参考。

Java基础
String类可以被继承吗

不能,String类被final修饰。

String类有哪些方法?

valueOf(),substring(),indexOf(),startsWith(),split(),toCharArray(),equals(),toUpperCase(),toLowerCase()…

StringBulider、StringBuffer、String的区别

String底层数组实现,拼接字符串很慢并且耗性能。

StringBulider与StringBuffer效率很高,StringBulider>StringBuffer>String

StringBulider非线程安全,StringBuffer线程安全

final关键字作用

用final修饰一个类的时候,表示这个类不能被继承,要注意的是被final修饰的类,它的成员方法也都会被隐式的指定为final方法。

用final修饰一个方法的时候,该方法不能被重写

用final修饰一个变量时,这个变量不能被更改。该变量必须在定义的时候被初始化。如果修饰的成员变量是引用数据类型,表示引用地址不能改变,但是引用所指向的对象的里面的内容还是可以改变的。

Map如何遍历

Map实现类调用entrySet方法获得一个Entry类型的Set,通过遍历这个Set集合获取Entry调用getKey或者getValue获取值

HashMap底层是如何实现的?

数组加链表(1.8以前),1.8之后添加了红黑树,基于hash表的map接口实现,

阈值(边界值)> 8 并且桶位数(数组长度)大于 64,才将链表转换为红黑树,变为红黑树的目的是为了高效的查询。

Map的put方法的是怎么实现的?

通过调用key的hashCode方法获取哈希值找到存放的数组下标,通过遍历此位置的key与插入的key通过equals比较,如果已存在则替换值,不存在则插入进来。

Java里面锁的实现方式有哪些?

synchronized关键字和Lock接口的实现类

Java实现多线程的方法

实现Runable接口、继承Thread类

是否用过线程池?怎么使用的?
JavaWeb
Servlet的生命周期

加载类—>实例化(为对象分配空间)—>初始化(为对象的属性赋值)—>请求响应(服务阶段)—>销毁

Jsp和Servlet的区别
  • Servlet的应用逻辑是在Java文件中,并且完全从表示层中的HTML里分离开来。

  • 而JSP的情况是Java和HTML可以组合成一个扩展名为.jsp的文件。

  • JSP侧重于视图,Servlet主要用于控制逻辑

  • Servlet更多的是类似于一个Controller,用来做控制。

Java框架进阶
SpringMVC的执行流程是怎样的?

img

@RequestMapping是怎么使用的?

在Controller类的方法下使用这个注解,作就是映射URL路径,将http的请求地址映射到控制器。

返回值交给视图解析器解析,如果配合@ResponseBody则返回JSON或者XML数据

SpringBoot如何使用事务?

使用@Transactional注解,可指定隔离等级、传播等级

Kafka是什么?

Kafka是一种高吞吐量的分布式发布订阅消息系统,它可以处理消费者在网站中的所有动作流数据。

数据库
MySQL的隔离级别有哪些?
Isolate 隔离级别
*                          脏读                  不可重复读                    幻(虚)读
READ UNCOMMITTED           有                       有                         有(读未提交)
READ COMMITTED.            无                       有                         有
(读已提交)
REPEATABLE READ            无                       无                         有              
(可重复读)
SERIALIZABLE               无                       无                         无
(串行化 )
说说MySQL索引优化
MySQL里面是怎么排序的?

使用order by <关键字> asc/desc 默认asc

数据库三范式具体是什么?

第一范式:每个列都不可以再拆分。

第二范式:在第一范式的基础上,非主键列完全依赖于主键,而不能是依赖于主键的一部分。

第三范式:在第二范式的基础上,非主键列只依赖于主键,不依赖于其他非主键。

Redis的数据类型有哪些?

Redis五种数据类型分别是string(字符串),hash(哈希),list(列表),set(集合)及sortset(有序集合

缓存雪崩有了解过吗?

短期内,大量的key过期,导致缓存失效,数据库访问量突增增导致崩溃。


http://www.ppmy.cn/embedded/160444.html

相关文章

蓝桥杯备赛——进制转化相关问题

目录 一、基础概念 二、问题研究&#xff08;1&#xff09; 代码解读&#xff1a; 1. transfer 函数 代码功能概述 详细步骤 2. main 函数 代码功能概述 详细步骤 三、运用递归解决 &#xff08;一&#xff09; 代码如下&#xff1a; 代码解读&#xff1a; &#…

深度剖析FFmpeg视频解码后的帧处理到Qt显示 从AVFrame到QImage的转换(二)

五、实战案例&#xff1a;视频解码后的图像处理 5.1 实时视频流的处理 在实际应用中&#xff0c;我们常常需要处理实时的视频流&#xff0c;例如监控摄像头的视频流、直播视频等。这些视频流的特点是数据量大&#xff0c;更新频率高&#xff0c;对处理速度和效率要求极高。下…

2.6学习总结

写了两道题 #include <stdio.h> #include <stdlib.h> struct hly {int left;int right;int d; }q[100005]; int main() {int n,m,k,p;scanf("%d",&n);q[1].left0;q[1].right0;q[0].left1;q[0].right1;for(int i2;i<n;i){scanf("%d %d",…

高可用架构设计

1.全链路服务保护方案 - 接入层防护: * 使用Sentinel实现接口级限流,支持QPS、并发线程数等多维度限流 * 配置基于滑动时间窗口的热点参数限流策略 * 实现自适应限流算法,根据系统负载动态调整阈值 - 服务层防护: * 实现基于RateLimiter的方法级限流 * 配置线程池隔…

java每日精进1.31(SpringSecurity)

在所有的开发的系统中&#xff0c;都必须做认证(authentication)和授权(authorization)&#xff0c;以保证系统的安全性。 一、基础使用 1.依赖 <dependencies><!-- 实现对 Spring MVC 的自动化配置 --><dependency><groupId>org.springframework.bo…

55【ip+dns+域名关系】

ip有一个最大的特点就是难记&#xff0c;为了解决这个问题&#xff0c;就引入了域名的概念&#xff0c;比如iyyy.com&#xff0c;这是我的域名&#xff0c;当访问这个域名时如果找到服务器呢 这便是dns服务器&#xff0c;当访问域名时&#xff0c;首先向dns服务器发送查询请…

Unity中控制物体移动的的方法

Unity中控制物体移动的几种方法&#xff1a; 直接修改Transform组件的属性&#xff1a; 这是最直接的方法之一&#xff0c;适用于简单的场景。你可以通过改变transform.position、transform.localPosition来直接设置物体的位置。 // 移动物体到指定位置 transform.position ne…

CVE-2023-38831 漏洞复现:win10 压缩包挂马攻击剖析

目录 前言 漏洞介绍 漏洞原理 产生条件 影响范围 防御措施 复现步骤 环境准备 具体操作 前言 在网络安全这片没有硝烟的战场上&#xff0c;新型漏洞如同隐匿的暗箭&#xff0c;时刻威胁着我们的数字生活。其中&#xff0c;CVE - 2023 - 38831 这个关联 Win10 压缩包挂…