CVTE(Java 岗),二面挂
一面
- 会哪些设计模式
- 选一个最熟悉的画一下 UML 图
- 有看过哪些开源框架源码吗?(JDK 和 Spring)
- HashMap 的底层实现原理
- HashMap 是否线程安全?如何哪些方式能够实现 HashMap 线程安全,或者有哪些其他框架?
- ConcurrentHashMap 是如何实现线程安全的?(CAS+synchronized)是否可重入锁?如何实现重入锁?
- CAS 和 synchronized 用在 ConcurrentHashMap 的什么地方?
- synchronized 可重入锁吗?
- CAS 会出现什么问题?(ABA)如何解决?
- 介绍一下项目(活动商城),有遇到哪些难点?
- 分布式如何实现并发安全?(不会,上一问有答到并发安全问题)
- 手写一下实现有序数组的二分查找
- TCP 有学过吗?画一下 TCP 四次挥手
- MySql 有哪些存储引擎?它们有什么区别?(我答了 InnoDB 和 MyISAM)
- B 树和 B+ 树有什么区别?
一面面试官人很好,说我很紧张,接下来流程如果这样的话可能会比较难过,让我出去等安排。然后我就猜到我一面应该是过了。然后过了几分钟,就到二面了。
二面
- 介绍一下项目(活动商城)
- 有遇到什么难点?说一下最让你印象深刻的难点?(介绍了下场地相关表的设计)
- 有没有用 MyBatis 的其他方式操作过数据库(除了在 xml 中和在 dao 接口的注解上)?
- 有没有使用过其他方式实现分页?(应该是问有没有有使用插件实现过分页)
- 有没有自己设定过索引?在项目中哪里有用到?
- 哪些情况会导致索引失效?
- 手写算法,实现一个打印从 1~1000 的素数
- 有这样一张表,有学生名字,学科,分数。每个学生可以有多个科目,同一个科目可以有多个分数,写一条 sql 获取每个学生的每个科目的最高分的那一条记录
- 有没有写过这样的 sql ,获取一个学生的姓名和这个学生的所有分数(不会)
- 项目中有用到哪些设计模式?(我答了工厂模式,然后他问,简单工厂模式,工厂模式,抽象工厂模式,它们之间有什么区别)
- spring 里面有用到哪些设计模式?(我回答了策略模式,然后回答了责任链模式,然后这里就开始懵了,尴尬,应该就是因为这里才挂的)
- 最近有在学什么技术吗?
- 大四有课吗?大四期间打算做什么?(我回答继续学习,写项目,写毕业设计)
- 你想去什么岗位,想负责什么业务?(问的意思差不多这样,我回答想做电商平台,主要想学习高并发、分布式)
二面面完说三天内会出结果,可以去官网那看。面试官这样说我就感觉应该是挂了。
问题的顺序可能不对,也可能不全。
太菜了我🤣