吉比特面经(Java后端)
一面(视频面):40分钟
- 自我介绍
- 说说你的这个开源项目
- 为什么要用SpringBoot,与Spring有什么区别
- 为什么这个项目你要用SpringSecurity而不用Shiro呢?
- 如果实现nginx动静态分离的?
- 来写个算法吧,那就冒泡排序吧。
- 你还有什么想问我的吗?
问题能想起来的就这么多,不是我想不起来,是问的真的少,大多数都是关于项目的主观问题,全程基本都没问什么技术方面的,问的全是关于我做的那个博客项目。这是我的第一次面试,运气挺好的,刚开始还有点紧张,但是到后面回答问题时就说的舒畅多了。一面面了40分钟,过了两天HR打电话约二面。
二面(视频面):59分钟
- 自我介绍
- 问了一些关于我项目的问题。
- 什么是SpringBoot,它有什么好处?
- Spring是如何启动的?比如它怎么知道是否要加装redis或mybatis的配置?
- 不考虑代码设计问题,在service层中注入controller会不会有什么问题?
- 你是如何配置Nginx实现动静态分离的。
- 你读过Spring的哪些源码?说一说IOC吧
- AOP底层是怎么实现的?它们两种***有什么区别?
- SpringMVC启动会加装几种容器,它们的关系是怎样的。
- SpringMVC如何知道要加装的Spring配置在哪里?
- 还问了个关于***跟过滤器的问题,我说没用过就没问了
- JVM是怎么进行垃圾回收的。
- 如果我们自己写一个包名和类名跟jdk中的类完全一样,那么类加载器会加装这个类吗
- 说一说单例模式?它是怎么实现的?怎么保证这个单例是线程安全的?
- 了解过concurrent包下的类吗?其中concurrentHashMap的key能不能为空?HashMap的key呢?如果HashMap的key为null,是怎么存储的呢?
- 浏览器500状态码表示什么?304呢?302呢?
- Mybatis中的#{}跟${}有什么区别。
- 布尔类型占几个字节?为什么占这么多字节?
- 看你的博客有登录功能,如果要在该博客底部增加一个统计当前在线人数的功能你会怎么实现?
- 说一说你与其他求职者相比,优势在哪里?
- 你的优点是什么。
- 你的缺点是什么。
- 你还有什么要问我的吗?
二面相对于一面来说难的一点,不仅问了项目中的一些技术,更多的还有关于Spring、SpringMVC、JVM、Java基础相关的问题。自我感觉对于Spring部分的回答不是回答的很好,主要还是因为现在没怎么用Spring了,源码也没怎么看过。面试官对于我回答有错误的时候也会对我进行引导,好在我脑子反应过来了。二面全程59分钟,没有考算法什么的。
三面(视频面):20分钟
- 说一说你在学校的事吧。
- 你当初在建设你们实验室官网时主要负责什么工作?你现在觉得当时做的怎么样,有什么不足吗?你会怎样优化它?
- 你觉得SpringBoot有什么优点?
- 你有没有自己觉得自豪的事情?
- 你对于加班有什么看法。
- 我看你是四川的,有没有想过去其他地方发展。
- 有没有看过JDK源码,随便说一下里面的原理。
- 如何设计一个电商秒杀系统?
- 平时有什么爱好吗?
- 你觉得你的这个博客项目有什么不足的地方吗?
- 如何优化数据库?
- 如果最后你加入我们公司,你还是会打算在Java后端这块进行学习吗?
- 你还有什么想问我的吗?