Jenkins-2021春招准备 Jenkins Jenkins使用主从架构来管理分布式构建。在这种体系架构中,主机和从机通过TCP/IP协议进行通信。 架构 Jenkins 主机 调度构建工作,将构建分派给从服务器进行实际构建 监视从机 记录并显示构建结果 Jenkins的主机也可以直接执行构建 Jenkins 从机 配置不同的环境 侦听来自Jenkins 主机的请求 Jenkins 从机可以运行在各种操作系统上 J 2021-03-23
前端/数据库/Spring/Java-2021春招准备 1、前端Vue生命周期 MVC/MVP/MVVM View 传送指令到 Controller Controller 完成业务逻辑后,要求 Model 改变状态 Model 将新的数据发送到 View,用户得到反馈 各部分之间的通信,都是双向的 View 与 Model 不发生联系,都通过 Presenter 传递。 View 非常薄,不部署任何业务逻辑,称为”被动视图”(Passive V 2021-03-01
Redis/RocketMQ篇-2021春招准备 1、Redis 一个高性能的key-value非关系型数据库 数据类型 String List Set Hash ZSet: 有序集合 过期策略以及内存淘汰机制 定期删除: 定时删除,用一个定时器来负责监视key,过期则自动删除。虽然内存及时释放,但是十分消耗CPU资源。在大并发请求下,CPU要将时间应用在处理请求,而不是删除key,因此没有采用这一策略. 定期删除+惰性删除 定期删除: re 2021-03-01
非技能篇-2021春招准备 1、通过什么渠道了解技术 学术论文、白皮书、权威的调研报告 官方文档 参与开源项目 社交App(知乎、简书、公众号) 2、为什么想走运维,对这份工作的认识传统的运维方式在监控、问题发现、告警以及故障处理等各个环节均存在明显不足,需要大量依赖人的经验,并且在数据采集、异常诊断分析、故障处理的效率等方面有待提高 智能运维是将人工智能的能力与运维相结合,通过机器学习的方法来提升运维效率 总体来 2021-02-27
Linux篇-2021春招准备 1、理解linux下的load有多少进程在等待被CPU调度 Linux下,系统平均负载指的是运行队列平均长度,也就是等待cpu的平均进程数。 123uptimeload = process/total_cpu_cores load average: 0.09, 0.05, 0.01 当车不多的时候,load <1; 当车占满整个马路的时候 load=1; 当马路都站满了,而且马路外还堆满 2021-02-27
Python篇-2021春招准备 1、迭代器与生成器迭代器 python中,任意对象,只要定义了**__next__**方法,它就是一个迭代器。因此,python中的容器如列表、元组、字典、集合、字符串都可以用于创建迭代器。 for循环从列表[1,2,3]中取元素,这种遍历过程就被称作迭代 123456789101112131415# 列表是迭代器for element in [1, 2, 3]: print(element 2021-02-27
设计模式篇-2021春招准备 1、秒杀场景 隔离: 系统隔离。系统隔离更多是运行时的隔离,可以通过分组部署的方式和另外99%分开。秒杀还申请了单独的域名,目的也是让请求落到不同的集群中。 数据隔离。秒杀所调用的数据大部分都是热数据,比如会启用单独cache集群或MySQL数据库来放热点数据,目前也是不想0.01%的数据影响另外99.99% 动静分离: 把整个页面Cache在用户浏览器 如果强制刷新整个页面,也会请求 2021-02-26
Nginx篇-2021春招准备 1、Nginx1、Nginx模块化设计 核心模块 提供错误日志记录、配置文件解析、事件驱动机制、进程管理等核心功能。 标准 HTTP 模块 HTTP 协议解析相关的功能,如:端口配置、网页编码设置、HTTP 响应头设置等。 可选 HTTP 模块 主要用于扩展标准的 HTTP 功能,让 Nginx 能处理一些特殊的服务,如:Flash 多媒体传输、解析 GeoIP 请求、SSL 支持等 2021-02-26
数据结构篇-2021春招准备 1、Hash原理 Hash算法较多的应用在数据存储和查找领域,最经典的就是Hash表,它的查询效率非常高,如果哈希算法设计的好,那么Hash表的数据查询时间复杂度可以接近于O(1) Hash算法使用示例 提供一组数据1,5,7,6,3,4,8,对这组数据进行存储,然后随便给定一个数n,请你判断n是否存在于刚才的数据集中? 顺序查找法:这种方式就是通过循环来完成,比较原始,效率也不高 二分查 2021-02-18
项目篇-2021春招准备 通信软件系统的微服务架构提升1、可维护性原因: 据调查显示,超过 50%的软件成本用于软件的维护,因此提高可维护性可以在很大程度上降低软件成本并提高软件的可用性。对可维护性 进行有效评估有助于开发人员估算软件开发及维护的成本,以便于决定对软件组件的重用,修改或重新开发。 示例指标: 大小: 微服务接口数量 代码行数 微服务组成元素数量 内聚: 微服务接口数据内聚性: 通过度量其微服务公开的接 2021-02-16