蚂蚁集团-数字金融线-Java后端一面面经
-
自我介绍
-
简单介绍一下后端部分做的一些功能
-
比较想听到项目中比较操作复杂的一些难点,有好几层的一些功能(比增删改查高级的)(不好)
-
项目中是否是分工合作的,合作情况如何
-
过程中遇到的困难,遇到困难是如何解决的(不好)
-
TCP 和 UDP 的概念和区别
-
UDP 常见的使用场景
-
四次挥手
-
三次握手的目的
-
如果不三次握手的话会造成一个什么样的问题
-
TCP/IP 协议族(7 与 5 层的分层)
-
什么是死锁
-
如何去避免死锁(不好,没背)
-
死锁产生的几个特定条件(不好,没背)
-
悲观锁与乐观锁
-
悲观锁的实现方式(syn 和可重入锁)
-
乐观锁的实现方式(不好,回答的有点含糊)
-
临界区和如何解决冲突(不好)
-
进程和线程的区别
-
通常的排序算法举例
-
解释一下快排的大致思路
-
图的一些算法,一般什么场景会用到图
-
图的表示方法
-
简单解释一下垃圾回收(就是知道多少说多少,比较开放式的回答)
-
接口和抽象类的区别(不好,没背)
-
接口和抽象类实现方式上的不同
-
Java 中的几种引用(不好,没背)
-
final 和 finally 的区别
-
深拷贝和浅拷贝的区别
-
多态(回答了重载和重写,不知道有没有别的)
-
wait 和 sleep 的区别,二者在执行时底层是否占用锁
-
之前代码中遇到并发是怎么处理的(这里回答了 syn 直接锁,感觉脑子抽了)
-
介绍下 HashMap(开放回答,知道多少说多少,我把我知道的全说了)
-
红黑树主要是要解决一个什么样的问题呢
-
红黑树做怎样的规则去保证数是平衡的(染色细节)
-
反问:现在团队业务都是干啥的
-
对小姐姐表示感谢