一位求职者的面试经历:涵盖17家公司的Java后端职位面试问题与总结分享
内容概览:
以下是正文内容。
这位读者在秋季招聘期间面试过多家中小型企业和银行,分享了他的面试经历,希望能为其他求职者提供一些参考。
大多数记录仅限于初面,后续面试主要是HR面试或者表现不佳,因此未能详细记录。
万得
- 为什么选择MyBatis而不直接使用SQL?
- JWT的组成部分及使用原因?
- 排序算法的稳定性是什么?
- HashMap为什么需要两倍扩容?
- 对Java锁的理解,包括悲观锁和乐观锁的实现,CAS是什么?
- synchronized的底层原理是什么?
- 为什么需要使用RESTful风格?
工行软开提前批
过于注重学历与分数,群中70%的成员都是985院校的学生,而我因成绩不佳受到质疑。
- 请解释二分查找。
- 你是如何学习MySQL的?
- 之后的过程是闲聊和对成绩的讨论,整体面试体验较差。
同花顺
- JVM的内存结构、垃圾回收策略和算法。
- 排序算法及其时间复杂度。
- 你对MySQL索引有什么了解?
- 项目中如何进行分表?
- 数据库的隔离级别是什么?
- MySQL锁的机制?
富士通南大软件
- 计算机网络的七层和五层模型。
- RESTful的具体应用是什么?
- JWT从Cookie到JWT解决了什么问题,Cookie的作用是什么?
- 还有其他未记起的问题。
浙商银行
- MyBatis中的#和$的区别。
- MyBatis的一、二级缓存。
- @Autowired与@Resource的区别。
- Spring Boot的自动配置原理。
- 数据库隔离级别以及如何通过可重复读解决幻读的问题,数据库的MVCC机制。
招银网络
初面:
- Spring的自动装配过程。
- Spring中的拦截器与过滤器的区别。
- 接口与抽象类的比较。
- Spring Boot相较于Spring的优势。
- MyBatis的优点。
复面:
- 设计一个考核系统,数据库如何设计(对此类问题之前没有准备,回答得很随意)。
- MyBatis中String如何映射到varchar?
- 当实体类中是String而数据库中是Integer时会出现什么情况?
- 设计一个权限系统。
面试官建议我需要进一步学习。
卓望数码
- 泛型的作用及桥方法、泛型擦除的概念。
- ArrayList与LinkedList的区别,以及ArrayList的扩容方式。
- 为什么不推荐使用内置线程池创建方式?
- CAS的概念。
- MySQL索引设置时的注意事项,索引类型及失效场景。
- Redis的持久化方式是什么?
- 你了解高可用性吗?
- Spring常用注解的用途,两种注入方式的区别,以及@SpringBootApplication注解的含义。
- #{}与${}的区别。
深圳同为
- 你为何使用ThreadLocal?其他线程能否获取这些信息?如何获取?
- 使用策略模式的原因及其与模板方法模式的区别,是否要复习设计模式?
- 系统中遇到的难点是什么?
- 使用JWT的原因及其优点?
- Java的设计原则是什么,为什么需要遵循这些原则?
- 如何查找慢SQL,为什么会出现慢SQL?数据库优化的方法有哪些?
- 如何将用户踢下线?使用JWT的方式。
- 线程的不同状态及其运行情况。
- HTTP状态码的含义。
- 各种隔离级别分别能够防止哪些问题?
- HashMap为什么选用红黑树而非其他树?
- synchronized与lock的区别?
- Spring如何管理事务?
- Spring的几个事务传播级别是什么?
顺丰
- 如何进行数据库性能分析?如何排查慢SQL?
- 数据库中的小说是如何存储的?
- 如何处理大量数据以便存入Redis?
- 你对Java中的锁有什么了解?
- MyBatis中的resultMap继承情况。
- MyBatis-Plus的底层原理。
- HashMap与ConcurrentHashMap的区别。
- 双亲委派机制、类加载器及其源码分析。
- 你用过JUC包下的哪些工具?
- 解决缓存雪崩、击穿和穿透的方法,这三者本质上有什么区别?
- 聚集索引和覆盖索引的定义。
- Spring Boot的自动装配原理。
上海银行
- 项目中如何使用策略模式实现用户认证?
- 主键索引和唯一索引是否可以存储null值?
- 如何判断链表是否有环?
- synchronized锁的升级过程。
- ConcurrentHashMap与HashMap的比较。
- 索引失效的场景。
- in()一定会使用索引吗?
- 事务的传播级别。
- 项目中你做了哪些优化?(这个可以详尽讨论)
- MySQL的缓存机制。
用友 KPI
- HashMap的底层原理及遍历方式。
- 你是否使用过Spring Cloud?用过哪些RPC?
- 包装类的底层结构需要了解吗,Integer(100)和Long(100)是否相等?
- 事务的隔离级别是什么?
- Spring的优点是什么?
- ConcurrentHashMap的原理是什么?
上海华测导航技术
- 自我介绍。
- RabbitMQ的应用场景。
- Redis数据类型及具体用法。
- 代理模式的定义及具体应用场景。
- 你如何理解HashMap?
- Spring的注解使用。
- RabbitMQ的高可用性。
- 进程和线程的区别。
- 线程池的类型及其拒绝策略。
- 各种设计模式的理解。
- @Autowired与@Resource的区别。
交通银行
- 你对设计模式的理解。
- 创建线程的方式:start和run,哪个用于启动线程?线程池的优势是什么?
- 数据库表优化的要点。
- 索引失效的原因。
- 谈谈你对软件工程的理解,并结合你参与的项目。
思维爆炸
- RabbitMQ的作用。
- SQL如何优化?
- MyBatis的一、二级缓存。
契约锁
- JVM内存结构。
- 项目如何实现策略模式的认证?
- 线程池的过期时间的具体用途。
- 如何判断一个线程是否需要回收?
- 索引失效的原因。
- SQL优化的方法。
- Hash索引与B+树索引有什么区别?
- 你如何理解索引的概念?
- 覆盖索引的实现方式。
- Spring Boot的自动装配原理。
永赢金租
- Integer包装类比较时,两个包装类用==会有什么结果?
- Redis的持久化机制。
- ThreadLocal的底层结构需要了解吗?
- Redis的持久化方式。
- HashMap的底层原理。
- Spring的数据传播行为。
- 如果项目在业务进行到一半时宕机,你会怎么处理?
- 如何防止小说被爬取?
总结
我现在有些后悔大学时没有更认真地学习,因为面试中大多会涉及到成绩相关的问题,每次填写成绩时只能填50%(实际更低),而且还有挂科、无奖学金、无实习经历,简历几乎为空。每次自我介绍只能在短短的一分钟内快速完成,甚至感到尴尬。
评论
匿名评论
隐私政策
你无需删除空行,直接评论以获取最佳展示效果