GitHub重磅官宣!如何实现分布式锁?已整理成文档
2021/4/16 10:29:20
本文主要是介绍GitHub重磅官宣!如何实现分布式锁?已整理成文档,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
一、Spring Cloud微服务概念定义
提起微服务,不得不提 Spring Cloud 全家桶系列,Spring Cloud 是一个服务治理平台,是若干个框架的集合,提供了全套的分布式系统解决方案。包含了:服务注册与发现、配置中心、服务网关、智能路由、负载均衡、断路器、监控跟踪、分布式消息队列等等。
Spring Cloud 通过 Spring Boot 风格的封装,屏蔽掉了复杂的配置和实现原理,最终给开发者留出了一套简单易懂、容易部署的分布式系统开发工具包。开发者可以快速的启动服务或构建应用、同时能够快速和云平台资源进行对接。微服务是可以独立部署、水平扩展、独立访问(或者有独立的数据库)的服务单元,Spring Cloud 就是这些微服务的大管家,采用了微服务这种架构之后,项目的数量会非常多,Spring Cloud 做为大管家需要管理好这些微服务,自然需要很多小弟来帮忙。
第一家是美团
美团的话,三面下来,设计的内容知识也是挺广的吧,有MySQL、Redis、Kafka、线程、算法、+、volatile、线程、并发、设计模式等等…
一面问题:MySQL+Redis+Kafka+线程+算法
-
mysql知道哪些存储引擎,它们的区别
-
mysql索引在什么情况下会失效
-
mysql在项目中的优化场景,慢查询解决等
-
mysql有什么索引,索引模型是什么
-
B-树与B+树的区别?为什么不用红黑树
-
mysql主从同步怎么做
-
乐观锁与悲观锁的区别?
-
binlog日志
-
redis 持久化有哪几种方式,怎么选?
-
redis 主从同步是怎样的过程?
-
redis 的 zset 怎么实现的?
-
redis key 的过期策略
-
hashmap 是怎样实现的?为什么要用红黑树,而不用平衡二叉树?为什么在1.8中链表大于8时会转红黑树?HashMap为什么线程不安全的?
-
如何实现线程安全的hashmap?
-
select 和 epoll的区别
-
http与https的区别,加密怎么加的?
-
raft算法详细讲解
-
Kafka 选主怎么做的?
-
kafka如何保证生产与消费都是同步的?
-
kafka 怎么保证不丢消息的
-
redis如何保证高可用
-
算法:剪绳子(贪心或递归解决)
-
算法:给前序和中序遍历,重建二叉树
二面问题:volatile+线程+并发+算法+设计模式
-
自我介绍
-
讲讲项目(项目没啥亮点,直接问基础)
-
volatile作用?底层实现?禁止重排序的场景?单例模式中volatile的作用?
-
如何构造线程池,它的参数,饱和策略?
-
公平锁和非公平锁区别?为什么公平锁效率低?
-
线程都有哪些状态?
-
线程、进程、协程的区别?
-
同步队列器AQS思想,以及基于AQS实现的lock,。
-
并发工具类CountDownLatch、CyclicBarrier、Semaphore介绍
-
Execuors类实现的几种线程池类型,最后如何返回?
-
手写单例模式
-
手写消费者生产者模式
-
算法:反转单链表
-
算法:给定一个只包含 ‘(’ 和 ‘)’ 的字符串,找出最长的包含有效括号的子串的长度。
三面
这一面,没问啥东西,主要聊人生,和未来3年的规划。。。。。。
第二家是字节跳动
一面问题:算法+数据库+事务+网络
-
自我介绍
-
项目介绍(没亮点,还是问基础)
-
堆排序的原理及时间复杂度,是否稳定,最坏及最坏场景。
-
Object类都有哪些方法?
-
DNS解析的过程/浏览器输入一个url,敲下回车后网络的全过程
-
HTTP和HTTPS的区别
-
UDP怎么实现可靠传输
-
介绍下https,是如何加密的,加密算法
-
数据库索引的优缺点,以及什么时候数据库索引失效
-
事务的隔离级别?
-
数据库的脏读,不可重复读,幻读
-
算法:接雨水:给定 n 个非负整数表示每个宽度为 1 的柱子的高度图,计算按此排列的柱子,下雨之后能接多少雨水。
-
算法:N皇后
二面问题:Kafka+redis+算法
-
Kafka的特性?
-
Kafka中的分区器、序列化器、拦截器是否了解?它们之间的处理顺序是什么?
-
消费者重平衡(高可用性、伸缩性)
-
哪些情景下会造成消息漏消费?
-
如何保证消息不被重复消费(幂等性)
-
KafkaConsumer是非线程安全的,那么怎么样实现多线程消费?
-
Kafka生产者客户端中使用了几个线程来处理?分别是什么?
-
消费者与生产者的工作流程:
-
topic的分区数可不可以增加?
-
算法:二叉树中的最大路径和
-
算法:给定单向链表的头指针和一个要删除的节点的值,定义一个函数删除该节点。
三面问题:Redis+Spring+Dubbo+算法
-
redis的Zset怎么实现的?
-
sentinel和cluster区别和各自适用场景
-
redis cluster集群同步过程
-
redis单线程为什么快?
-
mybatis一级缓存和二级缓存
-
spring如何解决循环依赖?
-
spring AOP的原理。
-
spring的生命周期。
-
Dubbo服务暴露和引用过程,负载均衡策略,容错机制在哪里实现的源码
-
项目中遇到了哪些问题。(抱歉,我的工作就是增删改查,没接触过相关问题)
-
算法:二叉树的镜像
-
算法:从上到下打印二叉树
最后一家,瞄一下腾讯
腾讯这三面下来问的也不少,自求多福吧。
一面问题:高并发+微服务+算法
-
如何设计一个秒杀系统?
-
一天爬一千万条文章,怎么做设计?怎么并行协调?100 台服务器怎么尽可能负载均衡?
-
有用过短域名服务吗,能说一下吗?
-
微服务的特点,如何实现服务发现和负载均衡
-
如何排查线上问题?(背过,没排过)
-
贝叶斯的概率学原理
-
负载均衡的加权轮询算法怎么实现
-
如果用户量大幅度上涨,如何优化?
-
paxos算法(这个算法太难,学的时候就没太理解)
-
平时都看什么博客,最近看什么书了
二面问题:Redis+分布式+算法
-
自我介绍
-
项目介绍
-
redis的5种类型,及其实现原理
-
如何使用redis的Zset实现延时队列?
-
redis如何实现高可用?
-
redis缓存穿透、缓存击穿、缓存雪崩
-
布隆过滤器的实现
-
如何保证mysql与redis的双写一致性?
-
负载均衡算法有哪些?
-
服务发现是怎么实现的?
-
熔断是怎么实现的?
-
算法:连续子数组的最大和
-
讲讲分布式CAP和BASE?
-
什么是强一致性?
-
分布式事务的解决方案?
-
TCC(两阶段型、补偿型)
-
id生成器如何实现?
-
如何判断一个图是否有环?
-
一致性Hash算法,及其应用
-
背包问题
三面问题:Redis+分布式+MySQL+算法
-
自我介绍
-
项目介绍
-
redis的zSet如何实现?
-
redis持久化机制。
-
redis的Hash类型讲解,渐进式rehash。
-
HashMap原理,一个put操作,都有什么流程?
-
nginx有自己配置过吗(这个是我唯一手动操作过的,这个不是背的)
-
nginx的使用场景。
-
什么是分布式,什么是集群,区别是什么?
-
在基于dubbo的分布式环境中,一般将超时timeout设置在provider还是consumer?
-
dubbo中负载均衡的策略有哪些?
-
接口的异步调用?如何设置?运行效果?
-
谈谈基于dubbo的系统中consumer集群的解决方案?
-
mysql是集群还是单节点?最大连接数,最大的表中数据量大约是多少?
-
mysql主从复制主要有哪几种模式?
-
mysql索引,B+树,为什么不用红黑树?
-
数据库垂直与水平拆分怎么做。
-
分布式session设置
-
IO、BIO、NIO,阻塞与非阻塞的区别?
-
分布式接口的幂等性设计(不能重复扣付款)
-
算法:二叉搜索数与双向链表(这个懵了)
-
算法:最长不含重复字符的子字符串
-
算法:手写快速排序、插入排序、冒泡排序,并分析时间复杂度和空间复杂度,它们的稳定性
总结
面试前的“练手”还是很重要的,所以开始面试之前一定要准备好啊,不然也是耽搁面试官和自己的时间。
我自己是刷了不少面试题的,所以在面试过程中才能够做到心中有数,基本上会清楚面试过程中会问到哪些知识点,高频题又有哪些,所以刷题是面试前期准备过程中非常重要的一点。
下面我就把我整理的面试资料分享给有需要的读者朋友——戳这里免费获取
面试题及解析总结
大厂面试场景
知识点总结
准备好啊,不然也是耽搁面试官和自己的时间。
我自己是刷了不少面试题的,所以在面试过程中才能够做到心中有数,基本上会清楚面试过程中会问到哪些知识点,高频题又有哪些,所以刷题是面试前期准备过程中非常重要的一点。
下面我就把我整理的面试资料分享给有需要的读者朋友——戳这里免费获取
面试题及解析总结
[外链图片转存中…(img-9bGQC35A-1618535833252)]
大厂面试场景
[外链图片转存中…(img-ySkRv8Dc-1618535833254)]
知识点总结
这篇关于GitHub重磅官宣!如何实现分布式锁?已整理成文档的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-12-23线下车企门店如何实现线上线下融合?
- 2024-12-23鸿蒙Next ArkTS编程规范总结
- 2024-12-23物流团队冬至高效运转,哪款办公软件可助力风险评估?
- 2024-12-23优化库存,提升效率:医药企业如何借助看板软件实现仓库智能化
- 2024-12-23项目管理零负担!轻量化看板工具如何助力团队协作
- 2024-12-23电商活动复盘,为何是团队成长的核心环节?
- 2024-12-23鸿蒙Next ArkTS高性能编程实战
- 2024-12-23数据驱动:电商复盘从基础到进阶!
- 2024-12-23从数据到客户:跨境电商如何通过销售跟踪工具提升营销精准度?
- 2024-12-23汽车4S店运营效率提升的核心工具