蚂蚁面试官:开口就要30K,我才问了15道题你就怀疑人生了?

这篇博客分享了蚂蚁金服的Java面试中的一些技术问题,包括二叉搜索树、B树与B+树的区别、线程池原理、synchronized与ReentrantLock的对比、HTTPS安全传输机制以及设计模式等核心知识点。面试题目涵盖了数据结构、并发、网络、数据库等多个方面,旨在考察候选人的综合技术能力。
摘要由CSDN通过智能技术生成

前言

今年,从java转到别的行业的人不少,也有不少人挤进这个市场想要分得一杯羹。年复一年,年年如此。当然,Java程序员市场需求依然是比较大的,而且Java岗位晋升方向多,这就为许多人带去了机会。但是另一方面,高级人才紧缺,很多即使是有工作经验的程序员都达不到大厂招聘的要求,对比一下蚂蚁,看下你离高级程序员还差几步?

1、⼆叉搜索树和平衡⼆叉树有什么关系?

平衡⼆叉树也叫做平衡⼆叉搜索树,是⼆叉搜索树的升级版,⼆叉搜索树是指节点左边的所有节点都⽐该节点⼩,节点右边的节点都⽐该节点⼤,⽽平衡⼆叉搜索树是在⼆叉搜索的基础上还规定了节点左右两边的⼦树⾼度差的绝对值不能超过1

2、强平衡⼆叉树和弱平衡⼆叉树有什么区别

强平衡⼆叉树AVL树,弱平衡⼆叉树就是我们说的红⿊树。

  1. AVL树⽐红⿊树对于平衡的程度更加严格,在相同节点的情况下,AVL树的⾼度低于红⿊树

  2. 红⿊树中增加了⼀个节点颜⾊的概念

  3. AVL树的旋转操作⽐红⿊树的旋转操作更耗时

3、B树和B+树的区别,为什么Mysql使⽤B+树

B树的特点:

  1. 节点排序

  2. ⼀个节点了可以存多个元素,多个元素也排序了

B+树的特点:

  1. 拥有B树的特点

  2. 叶⼦节点之间有指针

  3. ⾮叶⼦节点上的元素在叶⼦节点上都冗余了,也就是叶⼦节点中存储了所有的元素,并且排好顺序

Mysql索引使⽤的是B+树,因为索引是⽤来加快查询的,⽽B+树通过对数据进⾏排序所以是可以提⾼查询速度的,然后通过⼀个节点中可以存储多个元素,从⽽可以使得B+树的⾼度不会太⾼,在Mysql中⼀个Innodb⻚就是⼀个B+树节点,⼀个Innodb⻚默认16kb,所以⼀般情况下⼀颗两层的B+树可以存2000万⾏左右的数据,然后通过利⽤B+树叶⼦节点存储了所有数据并且进⾏了排序,并且叶⼦节点之间有指针,可以很好的⽀持全表扫描,范围查找等SQL语句。

4、epoll和poll的区别

  1. select模型,使⽤的是数组来存储Socket连接⽂件描述符,容量是固定的,需要通过轮询来判断是否发⽣了IO事件

  2. poll模型,使⽤的是链表来存储Socket连接⽂件描述符,容量是不固定的,

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值