[关闭]
@xushengkai 2022-12-20T09:32:55.000000Z 字数 2357 阅读 290

zabbix面试题

zabbix


1. 简述svn和git的区别

  • git是分布式的scm,svn是集中式的。(最核心)
  • git是每个历史版本都存储完整的文件,便于恢复,svn是存储差异文件,历史版本不可恢复。(核心)
  • git可离线完成大部分操作,svn则不能。
  • git有着更优雅的分支和合并实现。
  • git有着更强的撤销修改和修改历史版本的能力
  • git速度更快,效率更高

2.什么是 Git 复刻(fork)?复刻(fork)、分支(branch)和克隆(clone)之间有什么区别?

• 复刻(fork) 是对存储仓库(repository)进行的远程的、服务器端的拷贝,从源头上就有所区别。复刻实际上不是 Git 的范畴。它更像是个政治/社会概念。
• 克隆(clone) 不是复刻,克隆是个对某个远程仓库的本地拷贝。克隆时,实际上是拷贝整个源存储仓库,包括所有历史记录和分支。
• 分支(branch) 是一种机制,用于处理单一存储仓库中的变更,并最终目的是用于与其他部分代码合并。

3.拉取请求(pull request)”和“分支(branch)”之间有什么区别?

• 分支(branch) 是代码的一个独立版本。
• 拉取请求(pull request) 是当有人用仓库,建立了自己的分支,做了些修改并合并到该分支(把自己修改应用到别人的代码仓库)。

4.Git 中 HEAD、工作树和索引之间的区别?

• 该工作树/工作目录/工作空间是你看到和编辑的(源)文件的目录树。
• 该索引/中转区(staging area)是个在 /.git/index,单一的、庞大的二进制文件,该文件列出了当前分支中所有文件的 SHA1 检验和、时间戳和文件名,它不是个带有文件副本的目录。
• HEAD是当前检出分支的最后一次提交的引用/指针

5.什么是持续集成,持续部署,持续交付

持续集成强调开发人员提交了新代码之后,立刻进行构建、(单元)测试。根据测试结果,我们可以确定新代码和原有代码能否正确地集成在一起。
持续交付在持续集成的基础上,将集成后的代码部署到更贴近真实运行环境的「类生产环境」(production-like environments)中。比如,我们完成单元测试后,可以把代码部署到连接数据库的 Staging 环境中更多的测试。如果代码没有问题,可以继续手动部署到生产环境中。
持续部署则是在持续交付的基础上,把部署到生产环境的过程自动化。
我个人觉得持续集成、持续交付、持续部署非常值得推广。开发过程中最怕集成时遇到问题导致返工,而持续集成、持续交付、持续部署恰恰可以早发现早解决,从而可以避免这个问题。

6.描述Jenkins的工作流程

  • 开发者将新版本push到git server (Gitlab)。
  • Gitlab随后触发jenkins master结点进行一次build。(通过web hook或者定时检测)
  • jenkins master结点将这个build任务分配给若干个注册的slave结点中的一个,这个slave结点根据一个事先设置好的脚本进行build。这个脚本可以做的事情很多,比如编译,测试,生成测试报告等等。这些原本需要手动完成的任务都可以交给jenkins来做。
  • 我们在build中要进行编译,这里使用了分布式编译器distcc来加快编译速度

7.使用何种工具监控的数据库?监控哪些指标

zabbix
使用mysql自带的模板

监控:
QPS(增删改查)、mysql请求流量带宽,mysql响应流量带宽,监控主从(show slave status\G);TPS(每秒事务的处理数量);监控缓冲池使用情况;缓存碎片;慢查询数量;当前连接数;吞吐量;端口和服务状态;mysql正常运行的时间;

8.写下之前工作中在生产环境配置使用过的监控系统?针对网络或服务配置过哪些监控项?使用什么方法进行报警通知

zabbix
监控:
服务器启动分区剩余空间
服务器网络接口进出流量
服务器服务状态
服务器进程数量
服务器CPU状态
磁盘IO情况
文件修改
磁盘总和

报警方式:
邮件报警,微信报警,电话报警,短信报警

9.谈一谈zabbix的优缺点

zabbix优点:
1、数据采集:可用性和性能检测,自动发现,支持agent、snmp、JMX、telnet等多种采集方式,支持主动和被动模式数据传输、支持用户自定义插件,自定义间隔收集数据
2、高可用:server对设备性能要求低,支持proxy分布式监控,分布式集中管理,有自动发现功能,可以实现自动化监控;开放式接口,扩展性强,插件编写容易
3、告警管理:支持多条件告警,支持多种告警方式,支持多组模板,模板继承。
4、告警设置:告警周期,告警级别,告警恢复通知、告警暂停,时段阈值、支持维护周期、支持单机停用
5、图形化展示:允许自定义创建多监控项视图,网络拓扑,自定义面板展示,自定义IT服务可用性
6、历史数据:历史数据查询可配置,内置housekeeping数据清理机制
7、安全审计:具备安全的用户审计日志,权限认证,用户可以限制允许维护的列表。

zabbix缺点:
1、性能瓶颈,监控系统没有低估高峰期,具有持续性和周期性,机器量越大,数据的增大会使数据库的写入成为一定的瓶颈,官网给出的单机上限5000台,届时就需要增加proxy,增加成本。
2、Zabbix采集数据有pull方式,也就是server主动模式,当目标机器量大之后,pull任务会出现积压。采集数据会延迟
3、项目二次开发,需要分析MySQL表结构,表结构比较复杂,通过API开发对开发能力有要求。
4、内置housekeeping在执行过程中会对数据库增加压力,需要对数据库进行优化

10.Git工作流程

1、在工作目录中修改某些文件
2、对修改后的文件进行快照,然后保存到暂存区域
3、提交更新,将保存在暂存区域的文件快照永久转储到Git目录中

添加新批注
在作者公开此批注前,只有你和作者可见。
回复批注