声明:
- 背景:本人为24届双非硕校招生,已经完整经历了一次秋招,拿到了三个offer。
- 在这里分享一下我部分面试的题目,若有问题,可以评论私信与我沟通。
- 我会在这里持续分享,有需要的可以收藏一波。
文章目录
- 朴朴科技(Base福州-线下)
- 金证股份(Base深圳-线上)
- 1面
- 2面
- 卓望数码(Base广州-线上)
- 1面
- hr面
- 卡伦特科技(Base厦门-线上)
- 达科为(Base深圳-线上)
- 泛联新安(Base长沙-线上)
朴朴科技(Base福州-线下)
-
算法题:(leetcode形式,只要写方法即可)
- 斐波那契数列
- 反转链表
-
面试部分:
-
自我介绍
-
mysql:
-
对慢查询进行定位,除了自带的慢查询日志,还有什么工具?
-
查询到了sql语句慢 怎么优化?
-
innodb 存储引擎下的死锁问题(结合操作系统的死锁回答也可以)
-
索引的设计原则
-
单个索引和联合索引的设计
-
B+树有什么好处
-
事务的隔离级别
-
-
redis
-
redis为什么快?
-
为什么用单线程?
-
为什么引入多线程?
-
zset的底层
-
数据淘汰策略
-
LRU和LFU的对比
-
java怎么实现简单的缓存?不用redis的话也不用框架(比如Spring Cache)
-
-
设计模式:
-
Spring框架中用到了哪些设计模式?
-
单例模式除了具有饿汉式、懒汉式单例还有什么?
-
-
项目:
- 怎么对项目做需求分析的?
- 技术选型,为什么选用springboot、mybatis框架?
- 数据表的设计,有哪些关键的表?
-
其他:
- 你平时怎么学技术的?
- 你认为java的学习路线是怎样的?
-
反问:
- 我们这种电商公司的并发量?
-
金证股份(Base深圳-线上)
1面
-
自我介绍(请你介绍下你做的项目),还没说完就被打断了,直接让说项目
-
HashMap底层原理?(put方法流程?)扩容机制?
-
HashMap底层原理?
-
HashMap put()方法的具体流程?
-
HashMap 的扩容操作?
-
-
ThreadLocal是什么?底层原理是什么?项目中有用到吗?
-
SpringBoot的注解,Spring的注解
-
平时java开发中有用到什么数据结构与算法吗?
-
二分查找的原理
-
堆排序的原理
-
JVM的内存模型
-
JVM中的垃圾回收器什么时候回收对象?垃圾回收算法?
-
Spring AOP底层是代理模式实现的,具体是怎么实现的?
-
后续的职业规划?
2面
-
自我介绍
-
介绍项目
- 功能是什么,主要是为了解决什么样的问题
- 用了哪些关键技术
- 遇到过哪些困难,如果解决的
-
你的开发中有用到哪些设计模式?
-
常见设计模型及其应用场景?
-
从磁盘上读取一个文件,修改后,再把文件写回磁盘,这个过程中磁盘、操作系统、内存的一个协作关系和流程
-
什么是用户态和内核态?
-
在实际开发中,遇到内存溢出的情况,怎么解决?借助什么工具?解决流程?
-
说下对JVM的理解?
-
JVM的内存模型?
-
JVM的垃圾回收机制?有哪些垃圾回收算法?
-
HashMap底层的数据结构和算法(原理)?
-
MySQL是如何实现事务之间的隔离的?
-
你了解的java的锁?
-
你了解自旋锁吗?
卓望数码(Base广州-线上)
1面
-
自我介绍
-
框架类:
-
用SpringBoot框架开发项目,与其他框架相比有什么优势?
-
SpringBoot除了集成了Tomcat,它还集成了哪些容器,Servlet容器?
-
SpringBoot有bootstrap.yml和application.yml两个配置文件,这两个文件有什么区别?
-
SpringBoot怎么做到环境的隔离 配置,你做开发的时候没有遇到过不同环境的配置(比如说开发环境、测试环境)?
-
MyBatis中的#{}、${}有什么区别?
-
MyBatis中的一级缓存、二级缓存是什么?
-
Spring中的一二三级缓存?
-
-
了解过常用的一些限流算法吗?比如电商系统有秒杀业务,秒杀的请求量太大了,要做限流,怎么做呢?
-
Redis:
-
Redis可以用在哪些业务场景下?
-
Redis的持久化机制是什么样的?
-
Redis做缓存,怎么保证缓存和数据库的一致性?
-
-
MySQL:
-
MySQL的主键有什么特点?
-
索引的创建的原则?
-
索引失效的场景?
-
事务的特性?
-
SpringBoot做开发的时候,会有编程式事务和声明式事务,声明式事务失效的场景?
-
-
java:
-
java里面创建线程的方式?
-
怎么创建一个线程池,线程池的核心参数、执行流程?
-
synchronized和Lock加锁有什么区别?
-
ArrayList和LinkedList有什么区别?
-
Java的泛型的作用?
-
-
反问:
- 对于我这次面试的表现有什么意见和建议吗?(不方便回答)
- 公司的业务(中国移动的控股公司,基于中国移动的业务)
hr面
- 自我介绍
- 为什么读研?
- 居住地在深圳?
- 你本科的时候就有涉及到java吗?
- 研究生做科研有用到java吗?
- 你读研的方向和就业的方向有出入,你怎么考虑的?
- 怎么会想到做这两个项目?
- 为什么没有去实习?
- 你在本科和研究生期间的成绩?
- 为什么会写博客?现在是什么状态?有什么收获?
- 你目前有offer吗
- 你的期望薪资
- 你对自己的总结评价
- 反问:
- 问具体的部门和业务
- 技术氛围是和谐的还是紧张的氛围
- 面试通过了什么流程(测评、最后一轮跟部门的负责人去聊)
卡伦特科技(Base厦门-线上)
- 自我介绍
- 介绍下你们实验室的项目
- 可以出来实习吗
- 描述一下java的垃圾回收算法
- 内存泄漏问题
- 并发和并行
- 线程之间的通信方式?
- Spring框架中的设计模式
- sql优化你了解吗
- mysql数据备份用过吗?
- Redis的集群方案
- Redis部署方面的知识了解吗
- 你会用到restful开发方式吗
- HTTP长连接和短连接有何不同
- 数据结构有哪几种
- 你做图像处理的时候,会应用到哪些算法?
- 最近有没有学习新的技术栈
- 反问:
- 业务和技术栈:CAD机械制图软件
- 后续流程:二面+hr
达科为(Base深圳-线上)
-
自我介绍
-
java类的命名规范
-
java中的关键字
-
static可以修饰哪些?具有什么语义?
-
常量是如何定义的?
- 常量放在哪个内存空间?
-
类初始化后,类的变量、方法放在哪个内存结构?
-
hashmap的底层原理?
-
红黑树是如何查找一个值的?
-
红黑树除了在hashmap中有用到,平时有用到吗?
-
B+树是什么?
-
说一下mysql的索引
-
什么情况下索引会失效?
-
mysql的事务?
-
行锁和表锁的区别?
-
什么情况下会造成死锁呢?
-
update是表锁还是行锁?
-
redis支持的数据类型?
-
redis为什么那么快?
-
你了解的零拷贝技术?
- 减少了哪些不必要的拷贝?
换了个人继续面
- redis为什么快是基于单线程的,那mysql也是单线程的,为什么没那么快?
- 说一下你比较典型的项目?
- 这两个项目是你自己做的还是实验室的课题?
- 为什么不走人工智能的方向?
- 后端和前端你更倾向于哪一个?
- 你的项目是业余时间做的吗?
- 你的项目是不是没有上线?
- 你的健身项目花了多久进行需求分析、怎么需求分析的?怎么测试的?单元测试怎么做的?
- 反问:
- 业务场景?
- 面试后流程:初面通过后 三个工作日之内联系 安排一个复试(跟产品总监)
泛联新安(Base长沙-线上)
- 自我介绍
- 项目
- 短信验证码怎么实现的?
- 如果有大量的短信请求怎么办?短信盗刷?
- 怎么保存登录状态
- 有没有了解过JWT
- 拦截器和过滤器的区别
- 你了解的设计模式?
- 字符流和字节流的区别?
- 新生代什么时候变成老年代?
- 垃圾回收机制?
- 归并算法的设计思想?
- 为什么单线程不行,必须要做多线程开发?
- 线程池的拒绝策略有哪些?
- 学过C/C++吗?
- 面向对象和java有什么区别?
- 左值右值是什么概念?
- 可以提前实习吗?之前有实习吗?
- 现在毕业论文的课题?
- 反问:
- 业务和技术栈
- 相比大厂,怎么看待中小型企业?
- 对行业选择的看法?
【持续更新中,敬请期待】