重庆某厂面经

1.Q:你先做一个自我介绍吧。
   A:自我介绍。
2.Q:看你写了蓝桥杯,应该对算法有所涉及,给我讲一下DFS和BFS。
   A:讲解了一下DFS和BFS是上面和思路,面试官让我实现我不会。
3.Q:在Java中是怎么实现DFS和BFS的?
   A:不会,没有实现过,C语言我使用数组实现过,但是具体我也忘了。
4.Q:我们跳过算法,讲一下Java,说一下你知道的集合。
   A:用的最多的是ArrayList,然后还有LinkedList。
5.Q:比较一下二者的区别。
   A:ArrayList的底层数据结构是一个动态数组;LinkedList底层实现是链表,主要是数组和链表的区别。
6.Q:ArrayList底层是怎么实现动态数组的?(ArrayList扩容原理)
   A:不会。
7.Q:说一下你知道的Map。
   A:主要使用的比较多的是HashMap,然后可以排序的Map有TreeMap。
8.Q:说一下TreeMap是怎么实现排序的?
   A:底层是使用红黑树进行排序的,但是具体实现我也不知道。
9.Q:讲一下Java创建线程的几个方式。
   A:我知道有四种创建线程的方式:1.继承Thread类,2.实现Runnable接口,3.实现Callable接口,4.通过线程池创建。
10.Q:线程池的几个重要的参数。
     A:核心线程数,最大线程数,工作队列……
11.Q:线程池中的工作队列是一个什么队列?
     A:不知道。
12.Q:通过继承Thread类创建的线程,如何运行?
     A:调用run方法,面试官说“注意是继承Thread方法,不是Runnable接口哦。”,调用start方法。
13.Q:线程调用start方法之后处于什么状态?
     A:处于就绪状态。
14.Q:在什么情况下会从就绪态转换为运行态?
     A:获得锁(好像是错的),或者其他线程调用notify方法唤醒该线程。
15.Q:说一下你知道的锁。
     A:主要分悲观锁和乐观锁,悲观锁是线程必须要持锁才可以执行,其他线程必须等待锁释放,我使用过的有Synchronized锁;乐观锁是线程无需等待持锁线程释放锁也可以执行,主要有版本号法和CAS算法,我使用过版本号法。
16.Q:说一下版本号法的具体实现。
     A:通过数据库存储版本号字段实现。
17.Q:你知道哪些线程安全的集合?
     A:额……不知道。
18.Q:讲一下Java中的线程和操作系统中的线程的区别。
     A:JVM虚拟机中的内存是一种用户级别的线程,操作系统线程是系统级线程,但是在JDK1.8(好像是)之后JVM虚拟机的线程直接使用操作系统的线程。
19.Q:讲一下你知道的IO。
     A:我主要知道两种IO吧,最普通的InputStream、OutputStream;然后后面引入了NIO,可以使用直接内存。
20.Q:详细讲一下NIO。
     A:不会了。
21.Q:说一下SpringBoot中,你知道的注解。
     A:三层架构的注解,RestController,RequestBody,AutoWired……
22.Q:说一下RestController和Controller的区别。
     A:RestController注解中有Controller,并且里面还有ResponseBody,然后一般是REST风格使用。
23.Q:讲一下REST风格。
     A:具体定义我不知道,我讲了一下应用方面的REST风格。
24.Q:讲一下HTTP协议的主要请求方法。
     A:Get和Post,然后讲了一下Get和Post的区别。
25.Q:HTTP协议的请求头、响应头有哪些?
     A:随便说了几个我记得的。
26.Q:讲一下HTTP响应码。
     A:200,404,401,403,500……
27.Q:讲一下401和403的区别。
     A:401是未登录,认证失败吧,403是访问被拒绝。401是请求到了服务器,被拦截器之类的处理了;403是请求没有进入服务器就直接被拒绝了(错的离谱)
28.Q:你项目是怎么实现登录鉴权的?
     A:讲了一下项目的登录流程,但是项目没有用到鉴权。
29.Q:JWT令牌里面存了些什么,怎么防篡改?
     A:存了时间戳(太久没用了,我只记得有个这个了),防篡改我只知道是工具生成的,如果篡改了就无法解析成功。
30.Q:了解过SpringSecurity吗?
     A:我只知道有这个东西,没学过也没用过。
31.Q:说一下MyBatis底层原理
     A:我知道是反射和动态代理,然后我解释了一下反射(举例子解释的),MyBatis具体是怎么通过反射实现的我不知。
32.Q:用过MyBatis中的xml配置实现SQL吗?
     A:用过,xml文件一般是用于实现MyBatis的条件查询或者复杂查询。

应该还有一些问题,但是过了几天我已经忘了,面试官人挺好的,不会的问题先是引导,引导完了之后还不会就直接跳过了,不会在同一个问题一直追着问,然后给出的讲解也很清晰。
鼠鼠是第一次面试到这么技术的,然后感觉自己还是太弱了,需要继续努力。#0经验如何找实习?##牛客AI配图神器#
全部评论
感觉还行,继续努力
2 回复 分享
发布于 2025-12-13 21:03 安徽
方便透露一下公司嘛
点赞 回复 分享
发布于 2025-12-16 21:45 江西

相关推荐

03-06 12:44
已编辑
吉林大学 Java
是个千人厂,没听过名字。1. 做一个自我介绍。2. 你这个项目和技术栈从哪里学的?有报辅导班嘛[答 都是是自己网上学的,学校教的东西没用]3. 我看了你放在github上的项目,前端也是你写的嘛[答 AI写的,90%精力用于后端开发,前端单纯用于作为后端逻辑的可视化技术验证(骗你的其实后端也是AI写的)]4. 好,你觉得这些技术栈研究得最深刻的是哪个[答 八股压根没背到后面,昨晚背了MySQL就说MySQL]5. 那讲一下MySQL的索引[答 从B+树选型一路吟唱到联合索引,索引失效]6. 联合索引ABC问题,AB走索引嘛,BC走索引嘛?BAC走索引嘛?A or B 走索引嘛[走,不走,走,不走。面试官点头说可以]7. 讲一下项目里Redission分布式锁实现8. Watchdog机制具体是怎么工作9. 消息队列有考虑过Kafka嘛,怎么选型的10. 你这个项目消息队列可能出现什么问题,怎么解决这个问题?[瞎扯没用的,被面试官引导答了视频处理可能产生消息堆积问题,然后开始吟唱]11. 文件分片自己写的还是用的什么框架?上传进度的Redis数据结构?上传的视频有多大?小分片大小?12. 项目里Redis会话记忆是啥意思?[面试官说不行,没人把这个全放Redis里[生气R]]13. 那这和直接查数据库有什么区别[扯了Token成本和解决幻觉问题之类的,给面试官听笑了,我最后也没绷住]14. 你平时是怎么使用AI coding的15. 算法,给了我一个leedcode链接,一看做过了。然后换了一道三数之和,也做过了。然后面试官说算了,让我讲讲思路吧反问:1.有什么需要提高的地方2.介绍一下部门业务有哪些这个面试官真的感官非常非常好,问问题还疯狂引导,感觉不会也会了。找实习  牛客AI配图神器#
查看15道真题和解析
点赞 评论 收藏
分享
评论
1
2
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务