2025.3成都某小厂Java面试——26届Java实习第一次面试

形式:腾讯会议
时间:半小时左右
流程:自我介绍-八股-简历项目-反问环节

一.八股问题如下:
1.1String和StringBuilder区别?
1.2用+来拼接字符串是不是可以说明String是可以修改的呢?
1.3业务上有拼接字符串的需求,用哪种合适呢?

2.1ArrayList和LinkedList有什么区别?
2.2ArrayList如果不指定长度,直接new一个,默认长度是多少?(默认长度是10,这个没答上来)
2.3ArrayList如果不指定长度,直接扩容的话会扩容到原来的多少倍?(1.5倍,这个没答上来)

3.1HashMap的底层是什么?(我回答的哈希表,被质疑了。但搜一下好像就是哈希表呀)
3.2HashMap默认长度是多少?(16,没答上来)

4.1解释一下继承?
4.2子类继承父类,父类中有一个私有方法,怎么通过子类去调用父类的私有方法呢?(回答的使用super调用,答错了。应当使用父类提供的公共方法或者反射来实现)

5.1开发过程中有没有用过try-catch?(我介绍了一下try-catch-finally,然后又提了一嘴try-with-resources)

6.开发过程中把一个对象的同名参数拷贝到另一个对象中,应当怎么做?(我说使用BeanUtils.copyProperties,说了一下DTO、VO之间使用这个进行拷贝)

7.线程安全有了解过吗?线程池和锁相关的?(我说今天准备看这一块,之前看过但是忘了)两个都没有了解过吗?(我回答知道数据库相关的一些锁)

8.synchronized锁有了解过吗?(回答知道,但回答不上具体的)

9.1讲一下Spring怎么实现事务的,我们在Spring中怎么实现事务的,如何开启事务?(我回答的是使用@Transactional这个注解,至少涉及到数据库中两张表的操作)
9.2有没有了解过什么情况下@Transactional注解会失效?可能不会回滚。(我回答没有遇到过,她说没关系)

10.项目启动的时候,对数据作初始化,应该如何实现?比如说yml文件里面的或者数据库里面的一些热点数据读出来并存储到redis里面。(我回答的是在启动类上加一个注解,被质疑了。问了GPT是说用@PostConstruct这个注解)

11.讲一下平时日常工程中怎么进行SQL优化?(我说了起别名、不能直接用>=、查询时候不要查询无关的列、什么时候用where,什么时候用if,不能混着使用)

12.1你在写SQL过程中有没有用到过索引?(我回答对索引的了解仅局限于概念,但是用过redis)
12.2有没有了解过去加一个索引,让查询更快,怎么判断SQL查询过程中有没有用到这个索引?(我回答添加日志看查询时间有没有缩短和看控制台的SQL输出,乱说的。应该是使用EXPLAN来查询)

13.介绍下Redis基本数据类型(我说了常用的是五种,但是想不起来具体的了,就说了一个字符串,项目中用到过)

14.1说一下你理解的Redis和MySQL这两种数据库的区别?(我说Redis是键值对类型的数据库,MySQL是关系类型的数据库。Redis存常用的数据,当中间件的作用,注意Redis和MySQL的数据一致性)
14.2你提到了数据不一致的清零,有个库存是热点数据,放在Redis中进行扣减,如何保证Redis和MySQL的数据一致性?(我回答的是重新对Redis进行一次写入操作)
14.3先写MySQL还是先写Redis呢?(我回答个人习惯先写Redis。GPT推荐先写MySQL,再写Redis)
14.4有没有了解过Redis的持久化机制?(回答没复习到这里,之前用到过)
14.5缓存击穿、缓存雪崩、缓存穿透?(之前用到过,但是回答不出来原理)
14.6如何解决缓存雪崩的过期问题?(我回答的是在更新一次。GPT推荐设置不同的缓存过期时间)

15.1有没有自己部署过项目呢?(没有,打算部署一下给学校做的项目,之前看过一些部署相关的操作,感觉技术上没什么问题)
15.2启动jar包的命令是什么?(我回答java -jar,输入包的名字,答对了)

--------------------------------------------------------分割线--------------------------------------------------------------

二.项目问题如下:
1.项目的定时器如何去定时?(我回答SpringTask注解和corn表达式,corn表达式有在线生成的网站,可以不用自己写)

2.1项目中的Nginx主要是为了实现什么需求呢?(我回答负载均衡、修改端口号)
2.2减少压力,去路由的时候用的是地址还是端口呢?(我没搞懂什么意思)
2.3监听的哪个端口呢?(回答6379,被反问6379是redis的吗?把Redis和Nginx弄混了?)

--------------------------------------------------------分割线--------------------------------------------------------------
接着另一个面试官问我结合对公司了解的情况,有没有什么问题?
下面是我的问题
1.实习生要求高吗?
2.问一下更加具体的技术栈和业务(业务主要是管理系统,并非和多线程问题比较少。技术栈Spring+Redis+MySQL。公司有自己开发的低代码平台和若依)又说了可能会让我写一些原生的框架,没有VUE,H5+JS,需要进行dom操作修改节点的值。但是会有同事来带我。老框架是前后端不分离的框架
3.目前去实习任务是什么?(大部分任务还是老框架的,二次开发,从0到1页面开发,增删改查。Spring+SpringBoot)
4.前端写的时候需要借助ChatGPT,那边同事也这样
5.今天面试结果是怎么样的状态呢?(第一次面试,想听下建议)。问了我到岗时间
6.聊了下期望薪资
7.问了下租房价格。合租800-900能租到主卧,套一1600-1800
8.说了一下自己背八股不太好,回答的不是很好,对方表示没关系,只要愿意学,公司就愿意教

接下来就是加微信,等都面试完给我电话回复。
一周五天,早9晚6,可能偶尔会加班

剩下两个面试官都没啥问题,我说了表示感谢给我面试机会,然后就下线了,面试结束。
后续:过了一个小时,微信电话通知我明天带着电脑和简历去公司线下见老板面谈,然后我就写了这个面经。

这是我第一次面试,整体回答的也不是很好,欢迎大家多给我留言,给出意见和建议。
全部评论
大家给点评论呗,成都找Java实习太难了
2 回复 分享
发布于 昨天 20:50 四川
后续,今天去实习了,但是一言难尽等过段时间出个帖子说一下实习的事情吧
1 回复 分享
发布于 今天 20:43 四川
问的不是很难,有些问题确实答的不是很好,但可以了,楼主继续复习一定可以的
点赞 回复 分享
发布于 昨天 21:35 北京
投了哪里兄弟
点赞 回复 分享
发布于 今天 13:02 山西
接好运
点赞 回复 分享
发布于 今天 16:10 广东
接好运,另外锐评一下我的简历可以吗😳
点赞 回复 分享
发布于 今天 17:55 湖南

相关推荐

03-04 17:47
河北大学 后端
互联网医疗 JAVA实习 100+一天 双非
点赞 评论 收藏
分享
评论
4
10
分享

创作者周榜

更多
牛客网
牛客企业服务