爱奇艺面经(一面)

1. MYSQL事务简单说一下
2. ACID
3. REDIS事务和MYSQL事务的区别
4. 分布式事务
5. 隔离级别
6. 可重复读靠什么机制解决的不可重复读和脏读
    mvcc
7. MYSQL的日志有哪些
8. MYSQL索引底层数据结构实现
    B+树
9. 查找算法有哪些 时间复杂度
   遍历、二分、哈希。
  O(1)的查找办法:哈希表
  冲突解决办法
10. 二分查找的前提
    顺序存储和有序
11. 排序算法有哪些
12. 1-100 O(n)的排序算法,怎么选,没重复的数
    基数排序,有重复的数时也可以选择计数排序
13. Redis几种数据结构,SortedSet怎么实现
    string、hash、list、set、zset,跳表
14. Redis应用场景
15.分布式锁
16. 单点服务的问题,解决办法
    在分布式系统中,如果某个角色或功能只有某个单机在支撑,那么这个节点称为单点,其发生的故障称为单点故障(SPoF,Single Point of Failure)。分布式系统通常采用主从模式,一个主控机连接多个处理节点,主节点负责分发任务,从节点负责处理任务,当主节点发生故障时,整个系统就瘫痪了。
    解决办法:
    (1)传统方式是采用一个备用节点,这个备用节点定期给当前主节点发送ping包,主节点收到以后向备用节点发送恢复ACK,当备用节点收到回复的时候就会认为当前主节点还活着,让它继续提供服务。但这种方式有一个隐患,如果主节点并没有挂,只是在回复的时候发生网络故障,备用节点由于收不到回复认为主节点挂了,然后备用节点将他的Master实例启动起来,这样分布式系统中就会有两个主节点,从节点会将他所做的事一部分汇报给主节点,一部分汇报给备用节点,这样服务就乱了。为了防止这种情况,我们引入了Zookeeper,他虽然不能避免网络故障,但他能保证每时每刻只有一个Master
    (2)Zookeeper的解决方案
        在引入Zookeeper以后,我们启动了两个主节点A和B,他们启动以后都向Zookeeper去注册,假设A注册的节点是master-001,B注册的节点是master-002,注册完以后进行选举,编号最小的节点在选举中获胜,获得锁成为主节点,其他的成为备用节点,通过这种方式完成了对两个Master进程的调度。如果A节点挂了,这时候他所注册的结点将被自动删除,Zookeeper会自动感知节点的变化然后再次选举,这时候B代替A成为主节点。如果节点A恢复了,他会再次向Zookeeper注册一个节点,这次他注册的节点会是master-003,Zookeeper感知节点变化后会再次发起选举。
17. CAP BASE
18. JVM内存结构
19. 堆和栈里面分别放哪些数据
20. 局部变量在堆还是在栈
     对于局部变量如果是基本数据类型,会把值直接存储在栈,如果是引用类型,会把对象存储在堆,而把这个对象的引用存储在栈
21. GC算法
22. 一个二分查找算法的实现
23. 什么是线程安全
      在多个线程并发的执行下,最终的执行结果是唯一的,不会受到进程交替执行的影响而返回不同的结果。
24.分布式、微服务

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值