2018最新淘宝面试出炉:分布式锁+集群+一致Hash算法+底层技术原理

本文涉及的产品
Redis 开源版,标准版 2GB
推荐场景:
搭建游戏排行榜
云数据库 Tair(兼容Redis),内存型 2GB
简介:

原文链接: https://blog.csdn.net/SpringJavaMyBatis/article/details/83415696



阿里技术面试回顾:
1.Java基础还是需要掌握牢固,重点会问HashMap等集合类,以及多线程、线程池等。

2.Java AIO BIO NIO等

3.Redis的使用以及最常问的一致hash算法,以及消息队列的异步场景等。

4.各种平时经常使用的开源框架Spring等,从原理到技术细节。

5.高并发场景的技术方案。

6.以及微服务等架构设计。

这些技术范围的面试题目还是需要平时多学习和积累,提前准备充分,面试通过率就会高很多,最后总结了部分阿里Java必考题目用于参考~

【阿里巴巴面试题目含答案】

1,mysql的三大引擎是啥?

mysql常用的引擎有InnoDB,MyISAM,Memory,默认是InnoDB

InnoDB:磁盘表,支持事务,支持行级锁,B+Tree索引

ps:优点: 具有良好的ACID特性。适用于高并发,更新操作比较多的表。需要使用事务的表。对自动灾难恢复有要求的表。

缺点:读写效率相对MYISAM比较差。占用的磁盘空间比较大。

mysql的4大特性+4种隔离级别:

MyISAM:磁盘表,不支持事务,支持表级锁,B+Tree索引

ps: 优点:占用空间小,处理速度快(相对InnoDB来说)

缺点:不支持事务的完整性和并发性

MEMORY(Heap):内存表,不支持事务,表级锁,Hash索引,不支持Blob,Text大类型

ps: 优点:速度要求快的,临时数据

缺点:丢失以后,对项目整体没有或者负面影响不大的时候。

2,redis的hash算法用的是啥?

redis应该是使用一致性hash算法---MurmurHash3 算法,具有低碰撞率优点,google改进的版本cityhash也是redis中用到的哈希算法。

现有的主流的大数据系统都是用的 MurmurHash本身或者改进

3,nosql为啥比sql快?

Nosql是非关系型数据库,因为不需要满足关系数据库数据一致性等复杂特性所以速度快;

sql是关系型数据库,功能强大,但是效率上有瓶颈

4,什么是索引为啥nosql没索引?nosql有索引滴

索引分为聚簇索引和非聚簇索引两种,聚簇索引是按照数据存放的物理位置为顺序的,而非聚簇索引就不一样了;聚簇索引能提高多行检索的速度,而非聚簇索引对于单行的检索很快。

聚簇索引:有主键时,根据主键创建聚簇索引;没有主键时,会用一个唯一且不为空的索引列做为主键,成为此表的聚簇索引;如果以上两个都不满足那innodb自己创建一个虚拟的聚集索引

非聚簇索引:非聚簇索引都是辅助索引,像复合索引、前缀索引、唯一索引

5,B+树和B树区别?

B树的非叶子节点存储实际记录的指针,而B+树的叶子节点存储实际记录的指针

B+树的叶子节点通过指针连起来了, 适合扫描区间和顺序查找。

BATJ面试题目

以下列举22个视频资料。

1,应该怎么封装简历才有BATJ面试机会?

2,HashMap底层执行原理,

3,hashtable和ConcurrentHashMap如何实现线程安全?

4,jvm的内存布局,垃圾回收机制

5,类加载机制里的,双亲委派模型

6,阐述事务的隔离级别和传播属性

7,高并发下,如何做到安全的修改同一行数据?

8,A服务调用B服务多接口,响应时间最短方案;

9,A系统给B系统转100块钱,如何实现?

10,动态代理的几种实现方式及优缺点

11,多线程下读概率远远大于写概率,如何解决并发问题?

12,按线程池内部机制,当提交新任务时,有哪些异常要考虑?

13,@Transaction注解一般写在什么位置?如何控制其回滚?

14,说说Spring的IOC容器初始化流程?

15,说说springboot启动机制

16,Redis高性能的原因大概可以讲一些?

17,你是怎么控制缓存的更新?(被动方式/主动方式/增量/全量)?

18,浅析Http和https的三次握手有什么区别。

19,谈谈Session/cookie机制,如何实现会话跟踪?

20,什么是一致性hash?

21,MQ有可能发生重复消费,如何避免,如何做到幂等?

22,如何做限流策略,令牌桶和漏斗算法的使用场景?



相关实践学习
基于Redis实现在线游戏积分排行榜
本场景将介绍如何基于Redis数据库实现在线游戏中的游戏玩家积分排行榜功能。
云数据库 Redis 版使用教程
云数据库Redis版是兼容Redis协议标准的、提供持久化的内存数据库服务,基于高可靠双机热备架构及可无缝扩展的集群架构,满足高读写性能场景及容量需弹性变配的业务需求。 产品详情:https://www.aliyun.com/product/kvstore     ------------------------------------------------------------------------- 阿里云数据库体验:数据库上云实战 开发者云会免费提供一台带自建MySQL的源数据库 ECS 实例和一台目标数据库 RDS实例。跟着指引,您可以一步步实现将ECS自建数据库迁移到目标数据库RDS。 点击下方链接,领取免费ECS&RDS资源,30分钟完成数据库上云实战!https://developer.aliyun.com/adc/scenario/51eefbd1894e42f6bb9acacadd3f9121?spm=a2c6h.13788135.J_3257954370.9.4ba85f24utseFl
相关文章
|
2月前
|
存储 负载均衡 Java
Elasticsearch集群面试系列文章一
【9月更文挑战第9天】Elasticsearch(简称ES)是一种基于Lucene构建的分布式搜索和分析引擎,广泛用于全文搜索、结构化搜索、分析以及日志实时分析等场景。
105 7
|
4月前
|
存储 缓存 NoSQL
Redis常见面试题(二):redis分布式锁、redisson、主从一致性、Redlock红锁;Redis集群、主从复制,哨兵模式,分片集群;Redis为什么这么快,I/O多路复用模型
redis分布式锁、redisson、可重入、主从一致性、WatchDog、Redlock红锁、zookeeper;Redis集群、主从复制,全量同步、增量同步;哨兵,分片集群,Redis为什么这么快,I/O多路复用模型——用户空间和内核空间、阻塞IO、非阻塞IO、IO多路复用,Redis网络模型
Redis常见面试题(二):redis分布式锁、redisson、主从一致性、Redlock红锁;Redis集群、主从复制,哨兵模式,分片集群;Redis为什么这么快,I/O多路复用模型
|
3月前
|
算法 Go
[go 面试] 雪花算法与分布式ID生成
[go 面试] 雪花算法与分布式ID生成
|
28天前
|
消息中间件 架构师 Java
阿里面试:秒杀的分布式事务, 是如何设计的?
在40岁老架构师尼恩的读者交流群中,近期有小伙伴在面试阿里、滴滴、极兔等一线互联网企业时,遇到了许多关于分布式事务的重要面试题。为了帮助大家更好地应对这些面试题,尼恩进行了系统化的梳理,详细介绍了Seata和RocketMQ事务消息的结合,以及如何实现强弱结合型事务。文章还提供了分布式事务的标准面试答案,并推荐了《尼恩Java面试宝典PDF》等资源,帮助大家在面试中脱颖而出。
|
2月前
|
NoSQL Java Redis
面试官:项目中如何实现分布式锁?
面试官:项目中如何实现分布式锁?
91 6
面试官:项目中如何实现分布式锁?
|
2月前
|
Java 程序员
反问面试官:如何实现集群内选主
这个示例展示了多个节点通过投票选举一个新的主节点的过程。Netty 用于节点间的通信,而每个节点则负责发起和响应选举消息。
反问面试官:如何实现集群内选主
|
1月前
|
缓存 NoSQL 算法
面试题:Redis如何实现分布式锁!
面试题:Redis如何实现分布式锁!
|
3月前
|
存储 NoSQL Java
一天五道Java面试题----第十一天(分布式架构下,Session共享有什么方案--------->分布式事务解决方案)
这篇文章是关于Java面试中的分布式架构问题的笔记,包括分布式架构下的Session共享方案、RPC和RMI的理解、分布式ID生成方案、分布式锁解决方案以及分布式事务解决方案。
一天五道Java面试题----第十一天(分布式架构下,Session共享有什么方案--------->分布式事务解决方案)
|
3月前
|
消息中间件 缓存 负载均衡
这些年背过的面试题——分布式篇
分布式系统是一个硬件或软件组件分布在不同的网络计算机上,彼此之间仅仅通过消息传递进行通信和协调的系统。

热门文章

最新文章