一次愉快但被完爆的面试



前言

一个月前的实习生面试,面试过程很愉快,面试官很和蔼。但一个月后复盘,发现并没有回答到点子上,如果我是面试官,我也不会要这么一个人。

红黑树与 AVL 树的区别

红黑树的定义

  • 两个节点颜色只有红黑两种
  • 根和叶子节点都为黑色
  • 两个红节点不相连
  • 路径上的黑节点数一致

AVL 强制左右子树高度相差为 1,平衡代价比红黑树大

LinkedList 与 ArrayList 的区别

(也就是数组与链表的区别)

  • 数组需要连续的地址空间
  • 数组支持随机访问下标
  • 还问了插入的话哪个快

Spring 代理

如何实现 JDK 代理

Spring 五种隔离级别

这一块答上来了,但是都是错的,春天的面试太失败了

  • 数据库的四种级别
  • 后端数据库默认的事务
    Mysql 默认采用的 REPEATABLE_READ 隔离级别 Oracle 默认采用的 READ_COMMITTED 隔离级别.

不可重复读

这一块面试官应该想问,可重复读隔离级别如何消除不可重复读,但被我糊弄过去了。另外,RR 级别可以消除当前读的幻读。当然这些都是之后才学习到。

如何实现事务

底层采用的还是 JDBC 的事务,只不过用动态代理以及注解的方式代理,抽出来往下看的话就是 TransactionManager 提供的 commit、rollback、close 的方法。

单点登录的流程

AQS

底层的结构是 FIFO 队列。线程进来先去竞争锁,竞争不到将线程扔到队尾自旋。一旦锁释放,若非公平锁,头结点后面的节点会通过自旋获得锁。

软链接与硬链接的区别

  • 软链接
    快捷方式
  • 硬链接
    复制一份相同的 inode 号以及权限,并且计数器 +1,另外硬链接的文件必须存在无法对目录硬链接。硬链接不能在不同文件系统中使用。

Maven 依赖命令行查看

我应该答,可以通过 mvn -h 的方式看看

------------- The End -------------
「不求打赏---只求大佬点广告」
0%