阿里云暑期实习 Java一面

当时没有整理,今天记录两个比较有价值的问题。

1. 对数据库建立联合索引 (b, a),使用 select * from xx where a=1 会走索引吗:

首先,肯定是不走联合索引了,

其次,那会怎么样?

一直以为会“全表扫描”,面试官建议我去试一下。用MySQL测试后发现走的是“全索引扫描”,使用的是 ba 联合索引,但是因为我只建立了 ba 的索引,所以就直接走了 ba , 否则会按照索引顺序遍历所有索引树。

“全索引扫描”性能仅优于“全表扫描”,TYPE 显示“Index”,如果是“联合索引”,TYPE 会显示“Ref”,“主键或唯一索引”会显示“Const”。

2. HTTP3为什么要用 QUIC,如果仅是缩短时间,那建立 TCP 连接握手也并不会消耗多少时间:

· QUIC 在用户空间实现而非内核,可以快速部署最新版本,TCP 在内核中实现,实现困难

· QUIC 具有更高级别的加密 ,TCP 本身不做数据加密,依赖于 TLS

· QUIC 建立在传输层协议栈上,意味着可以随时切换传输协议

#阿里云# #面经# #Java# #阿里求职进展汇总#
全部评论
mark一下quic协议
1 回复 分享
发布于 03-16 10:36 江苏
“全索引扫描”,使用的是 ba 联合索引,即走 ba 的索引树这里是什么意思呀佬
点赞 回复 分享
发布于 03-13 23:30 湖北
如果多个c,那where a=1是全表扫描
点赞 回复 分享
发布于 03-16 15:51 北京
m
点赞 回复 分享
发布于 03-17 21:29 山东
这里测试时表中是只有ab两列吗?
点赞 回复 分享
发布于 03-24 16:52 江苏
只有a,b列才会走索引,否则就是全表扫描吧
点赞 回复 分享
发布于 03-27 00:52 湖北
是不是因为索引跳跃+索引下推呢
点赞 回复 分享
发布于 03-27 10:15 香港

相关推荐

03-23 13:51
已编辑
电子科技大学 C++
周日做完笔试,周一就收到约面通知,反观淘天和灵犀互娱一直搁那筛选。1. 自我介绍,问我为什么选计算机,有咩有什么计算机领域的偶像,如何学习计算机知识,未来的职业规划。2. 开始拷打项目,从为什么这样设计系统架构到为什么使用redis(问了一个redis和其他数据库的事务有什么区别),再到为什么使用RabbitMQ而不使用kafka。对我的系统架构有质疑,但是我就嘴硬,嘴硬到最后面试官服软了。(不知道算不算小技巧:关于项目经历,只要是面试官不太懂的领域,只要嘴硬且说的东西听起来合理,一般面试官都服软。)前两个部分40min3. 问我知不知道CDN,我说不到啊,然后给我解释了一下,但是我没听懂,然后开始问计网:    1. 经典输入url到看到网页中间的过程。    2. http1.1 http2 http3    3. tcp quic协议    4. 开始各种场景题,如何实现一个分布式系统。我说这个问题有点大,能不能提示一下重点要我回答哪个方面,他说负 载均衡方面,我答了一个一致性哈希。    5. 如果一个系统理论容纳https连接为100000个,但是实际1000个就放不下了,你觉得有什么问题,发挥你的想象。我 先说了个半连接队列和全连接队列大小不够,cpu负载高,内存不够,数据库慢查询导致阻塞(面试官说不考虑数据库问题。不是你说的发挥想象的吗)然后又挤出一点。面试官说了个了解,然后下一题了。    6. 问了个tls握手过程,然后聊到了ca证书的分发,他说我有三个网站:淘宝、天猫、1688,在每个分布式系统上都有服 务,然后问我每个分布式节点上如何判断每个url应该发送哪个ca证书。我说这个不是一个键值对就能判断吗。他问用户输入的url什么时候能被服务器看到,我说应该在tcp连接后,tls握手前啊。然后中间一大堆我忘了,反正最后结果就是跳过了这道题    7. 其他的场景题,不太记得了。4. 写了个算法题,有一个大文件里面,每行存储了一个ip范围和一个对应的城市,ip有序排列,然后给出一个ip求出对应的城市。用了个二分查找,没管大文件这个条件。然后面试官看了一下应该还满意。5. 反问阶段,我问他CDN具体做什么的,又没听懂,然后问base地。面试官说北京、杭州,然后问我倾向哪个地点,我说杭州,然后结束。用时快2个小时,相当于藤子三轮面试时长之和。面完想来一根,发现找不到打火机,崩溃。为啥阿里系每家都有不同测评,我都成测评仙人了。
查看18道真题和解析
点赞 评论 收藏
分享
评论
12
63
分享

创作者周榜

更多
牛客网
牛客企业服务