Java23春招一面经(几十人小公司)
年后的第一个面试,分享给大家
笔试
- 你是如何理解Sping的?Spring有哪些核心的功能?你用过哪些组件?如何了解的话,什么是SpringBoot?
- ArrayList, LinkedList, Vector,如果我经常用来添加和删除,使用哪一个?为什么
- 在数据库中,用户的密码该如何存储,为什么?
- Spring是如何实现声明式事务和注解式事务的?
- 什么时候使用HashSet,什么时候使用TreeSet?
- 写一个线程安全的懒加载的单例
- 消息中间件的使用场景?
- Java会有内存泄漏吗?如果有,如何去解决?
- 一道算法题,LeetCode的第63题
一面
- 自我介绍
- 实习项目有遇到什么难题吗?
- 缓存穿透解决方案
- 创建索引从哪些方面考虑?
- 最左前缀原则
- mysql锁了解吗?
- 行锁指的是?如何建行锁?
- mysql打开慢查询日志如何操作?
- 如何理解Java面向对象编程?
- Java的特性有哪些?
- 什么是多态?实现多态的条件有哪些?
- 重写和重载的区别?
- == 和 euqual 的区别?
- 成员变量和局部变量的区别?
- 接口和抽象类的区别?
- 50 == 50 和 150 == 150 的结果分别为?
- String、StringBuffer、StringBuilder区别?
- HashMap的数据结构?
- HashMap是线程安全的吗?为什么不是?(答没做同步锁处理不准确)
- 你是如何理解注解的?
- AOP切面通知有哪些?
- 你是如何理解分布式系统?
- Redis数据结构有几种?
- 在Java有什么方式可以保证多线程安全?
- synchronized如何使用?
- 指令重排优化指的是什么?
- 分布式如何保证线程安全?
二面
- 自我介绍
- 介绍实习项目(根据简历写的负责内容聊了很久)
- 项目中使用过多线程吗?如何使用?
- 一个表有千万级的数据,每天我要查个几万条数据出来做一些计算/报表等处理,你好如何是实现?(我答了两种方案,一个是redis的zset根据时间排序方案,一个是索引方案,面试官给的回答是实时表和历史表的方案)
- 假设有一万个账号,每天下午五点都要执行相同的任务,你会如何实现?十万个或者更多呢?
- 大学期间有没有觉得自己做的不错的项目,聊一下
- 部门多少人,负责什么业务
HR面
......聊家庭聊日常聊情况聊薪资
这家公司我感觉还是不错的,虽然最后没有去成,去了另一家,面试官也友好
#数据人的面试交流地##面经分享##Java##面试[话题]#