【阿里巴巴面试题目含答案】
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+树的叶子节点通过指针连起来了, 适合扫描区间和顺序查找。
课程目录
├─01_先来看一个互联网java工程师的招聘JD.zip" w; s( v: t0 v+ a# l7 W2 `1 a
├─02_互联网Java工程师面试突击训练课程第一季的内容说明.zip& u! A% X7 @5 ^/ J
├─03_关于互联网Java工程师面试突击训练课程的几点说明.zip! G6 k, p! f7 C! ?0 \4 `) i9 C
├─04_体验一下面试官对于消息队列的7个连环炮.zip( L' a( q- |" o i7 w p1 l1 d+ ^
├─05_知其然而知其所以然:如何进行消息队列的技术选型?.zip" c* s7 [4 L2 a# i: H, O
├─06_引入消息队列之后该如何保证其高可用性?.zip- J+ P( C8 [" j" l$ d$ B2 P6 @0 c0 x; A
├─07_我的天!我为什么在消息队列里消费到了重复的数据?.zip
├─08_啥?我发到消息队列里面的数据怎么不见了?.zip
├─09_我该怎么保证从消息队列里拿到的数据按顺序执行?.zip
├─10_完了!生产事故!几百万消息在消息队列里积压了几个小时!.zip5 p1 L9 F% L2 N% N* `/ _ n) D, e
├─11_如果让你来开发一个消息队列中间件,你会怎么设计架构?.zip
├─12_总结一下消息队列相关问题的面试技巧.zip; M( ?7 k( G6 H2 A6 `/ M% s' }
├─13_体验一下面试官对于分布式搜索引擎的4个连环炮.zip" {( r0 I; @& I6 Y
├─14_分布式搜索引擎的架构是怎么设计的?为啥是分布式的?.zip
├─15_分布式搜索引擎写入和查询的工作流程是什么样的?.zip& h, e4 H9 t1 G+ d& m
├─16_分布式搜索引擎在几十亿数据量级的场景下如何优化查询性能?.zip* N! U4 V c* ^' n5 H, l% g
├─17_你们公司生产环境的分布式搜索引擎是怎么部署的呢?.zip; u& d/ A3 M- o+ d1 ^
├─18_总结一下分布式搜索引擎相关问题的面试技巧.zip( @/ g- [, q9 n7 L- F
├─19_先平易近人的随口问你一句分布式缓存的第一个问题.zip
├─20_来聊聊redis的线程模型吧?为啥单线程还能有很高的效率?.zip
├─21_redis都有哪些数据类型?分别在哪些场景下使用比较合适呢?.zip
├─22_redis的过期策略能介绍一下?要不你再手写一个LRU?.zip
├─23_怎么保证redis是高并发以及高可用的?.zip) o) u& {" W: R( b! ?( n! x- c
├─24_怎么保证redis挂掉之后再重启数据可以进行恢复?.zip
├─25_你能聊聊redis cluster集群模式的原理吗?.zip, `0 k% q' P) [: ^& O
├─26_你能说说我们一般如何应对缓存雪崩以及穿透问题吗?.zip7 H( e) D$ Z% H8 \
├─27_如何保证缓存与数据库双写时的数据一致性?.zip
├─28_你能说说redis的并发竞争问题该如何解决吗?.zip
├─29_你们公司生产环境的redis集群的部署架构是什么样的?.zip, d8 c+ v0 I0 m
├─30_分布式缓存相关面试题的回答技巧总结.zip
├─31_体验一下面试官可能会对分布式系统发起的一串连环炮.zip
├─32_为什么要把系统拆分成分布式的?为啥要用dubbo?.zip/ \/ N! W/ t- d" z/ |/ @
├─33_dubbo的工作原理是啥?注册中心挂了可以继续通信吗?.zip' R. K% `9 p# a8 s( P( {' a
├─34_dubbo都支持哪些通信协议以及序列化协议?.zip
├─35_dubbo支持哪些负载均衡、高可用以及动态代理的策略?.zip
├─36_SPI是啥思想?dubbo的SPI机制是怎么玩儿的?.zip
├─37_基于dubbo如何做服务治理、服务降级以及重试?.zip1 D9 s' G D: L+ K' }$ ]/ M) Z5 X
├─38_分布式系统中接口的幂等性该如何保证?比如不能重复扣款?.zip' e% R5 l+ ]9 I E: _% E
├─39_分布式系统中的接口调用如何保证顺序性?.zip
├─40_如何设计一个类似dubbo的rpc框架?架构上该如何考虑?.zip/ E3 w9 `8 {0 l2 d" b# T7 H- N/ ^! A; }
├─41_说说zookeeper一般都有哪些使用场景?.zip
├─42_分布式锁是啥?对比下redis和zk两种分布式锁的优劣?.zip$ G; X' q$ i2 [8 Z2 p- p- s
├─43_说说你们的分布式session方案是啥?怎么做的?.zip
├─44_了解分布式事务方案吗?你们都咋做的?有啥坑?.zip) D9 i% t8 \& x' W7 ?
├─45_说说一般如何设计一个高并发的系统架构?.zip/ H" F6 a/ I4 g* L
├─46_体验一下面试官对于分库分表这个事儿的一个连环炮.zip
├─47_来来来!咱们聊一下你们公司是怎么玩儿分库分表的?.zip
├─48_你们当时是如何把系统不停机迁移到分库分表的?.zip: _5 {+ y, R- S5 W/ o+ i. C
├─49_好啊!那如何设计可以动态扩容缩容的分库分表方案?.zip* J- ?) Y/ c- Z
├─50_一个关键的问题!分库分表之后全局id咋生成?.zip$ k: A; h1 Z9 H$ h3 C
├─51_说说MySQL读写分离的原理?主从同步延时咋解决?.zip
├─52_如何设计高可用系统架构?限流?熔断?降级?什么鬼!.zip
视频资料:关注我:私信回复“架构资料”获取往期Java高级架构资料、源码、笔记、视频
Dubbo、Redis、设计模式、Netty、zookeeper、Spring cloud、分布式、
高并发等架构技术
BATJ面试题目
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,如何做限流策略,令牌桶和漏斗算法的使用场景?
资料获取方式
点击此【传送门】即可获取!
重要的事情说三遍,点击此【传送门】即可获取!