
获得徽章 9
- #青训营 x 字节后端训练营#
【职责链模式】
职责链模式的定义是一个请求需要被多个对象进行处理,可以将处理对象连成一条链,挨个处理请求。
连成链的方式比较多样,可以用UML中展示的那样,一个处理对象使用SetSuccessor引用下一个处理对象。也可以使用array或者list存储所有处理对象,使用循环方式遍历。两者具体实现、目的都差不多,主要区别在观察者模式中的处理对象功能可能完全不相似,而且观察者模式主要负责将信息传递给处理对象即可。职责链模式的处理对象功能一般相似,另外职责链模式也关注请求是否正确被处理。展开评论点赞 - #青训营 x 字节后端训练营#
【分布式架构】
升级单机处理能力的性价比越来越低
单机的处理能力主要依靠 CPU、内存、磁盘。通过更换硬件 做垂直扩展的方式来提升性能,成本会越来越高。
单机处理能力存在瓶颈
单机处理能力存在瓶颈,CPU、内存都会有自己的性能瓶颈, 也就是说就算你是土豪不惜成本去提升硬件,但是硬件的发 展速度和性能是有限制的。展开评论点赞 - #青训营 x 字节后端训练营#
【动态规划】
将一个大的问题拆分成一个个子问题,我们把它称之为子结构。
每个最优解,也就是最优值均由[这些小规模子问题]推到而来。
更重要的就是利用历史记录,来避免我们重复的计算。
【解题三大步骤】
状态定义
列出状态转移方程
初始化状态展开评论点赞 - #青训营 x 字节后端训练营#
【分布式锁特性】
互斥性:和我们本地锁一样互斥性是最基本,但是分布式锁需要保证在不同节点的不同线程的互斥。
可重入性:同一个节点上的同一个线程如果获取了锁之后那么也可以再次获取这个锁。
锁超时:和本地锁一样支持锁超时,防止死锁。
高效,高可用:加锁和解锁需要高效,同时也需要保证高可用防止分布式锁失效,可以增加降级。
支持阻塞和非阻塞:和ReentrantLock一样支持lock和trylock以及tryLock(long timeOut)。
支持公平锁和非公平锁(可选):公平锁的意思是按照请求加锁的顺序获得锁,非公平锁就相反是无序的。这个一般来说实现的比较少。展开评论点赞 - #青训营 x 字节后端训练营#
【经典网络模型】
1)接入
接入多数是二层交换机为主,节约成本有的地方用傻瓜交换机,主要配置access隔离广播域,通过不同的vlan分离,可以按照部门、接入数量进行隔离,接入到汇聚主要是trunk,透传携带vlan tag的数据,网关在汇聚上。
为了防止环路,接入层配置生成树协议(STP、RSTP、MSTP);
2)核心
配置svi接口网关,配置svi接口与核心对接,为了svi网关冗余配置vrrp,防止与接入环路配置stp。
核心主要的作用是高速转发,作为汇聚、出口、服务器之间的枢纽;
核心有时候会挂上接入交换接服务器,所以要配置svi、vrrp、stp。
配置svi接口核心、出口、汇聚的对接ip地址,核心主要是用ospf打通汇聚、出口路由。
3)出口
出口与核心运行ospf路由协议,出口与运营商对接使用acl、nat、pppoe拨号。展开评论点赞 - #青训营 x 字节后端训练营#
SQL的几个概念:
数据定义语言: 简称DDL (Data Definition Language),用来定义数据库对象:数据库、表、列等;
数据操作语言: 简称DML (Data Manipulation Language),用来对数据库中表的记录进行更新。关键字: insert、update、delete等
数据控制语言: 简称DCL(Data Control Language),用来定义数据库访问权限和安全级别,创建用户等。关键字: grant等
数据查询语言: 简称DQL(Data Query Language),用来查询数据库中表的记录,关键字: select from where等展开赞过评论1 - #青训营 x 字节后端训练营#
【GoFrame】
GoFrame是一款模块化、高性能、企业级的Go基础开发框架。GoFrame不是一款WEB/RPC框架,而是一款通用性的基础开发框架,是Golang标准库的一个增强扩展级,包含通用核心的基础开发组件,优点是实战化、模块化、文档全面、模块丰富、易用性高、通用性强、面向团队。展开评论点赞 - #青训营 x 字节后端训练营#
【负载均衡三种解决方案】
构建高可用、高性能的通信服务,通常采用服务注册与发现、负载均衡和容错处理等机制实现。根据负载均衡实现所在的位置不同,通常可分为以下三种解决方案:
1、集中式LB(Proxy Model)
2、进程内LB(Balancing-aware Client)
3、独立 LB 进程(External Load Balancing Service)展开评论点赞 - #青训营 x 字节后端训练营#
[理解Spring]
Spring是一个一站式轻量级重量级的开发框架,目的是为了解决企业级应用开发的复杂性,它为开发Java应用程序提供全面的基础架构支持,让Java开发者不再需要关心类与类之间的依赖关系,可以专注的开发应用程序(crud)。
Spring为企业级开发提供给了丰富的功能,而这些功能的底层都依赖于它的两个核心特性:依赖注入(DI)和面向切面编程(AOP)。展开评论点赞 - #青训营 x 字节后端训练营#
数据库的四种隔离等级:
Read uncommitted 读未提交
在该级别下,一个事务对一行数据修改的过程中,不允许另一个事务对该行数据进行修改,但允许另一个事务对该行数据读。
因此本级别下,不会出现更新丢失,但会出现脏读、不可重复读。
Read committed 读提交
在该级别下,未提交的写事务不允许其他事务访问该行,因此不会出现脏读;但是读取数据的事务允许其他事务的访问该行数据,因此会出现不可重复读的情况。
Repeatable read 重复读
在该级别下,读事务禁止写事务,但允许读事务,因此不会出现同一事务两次读到不同的数据的情况(不可重复读),且写事务禁止其他一切事务。
Serializable 序列化
该级别要求所有事务都必须串行执行,因此能避免一切因并发引起的问题,但效率很低。展开评论点赞