最近参加运维工程师岗位的面试,笔者把自己遇到的和网友分享的一些常见的面试问答收集整理出来了,希望能对自己和对正在准备面试的同学提供一些参考。

一、Mongodb熟悉吗,一般部署几台?

部署过,没有深入研究过,一般mongodb部署主从、或者mongodb分片集群;建议3台或5台服务器来部署。MongoDB分片的基本思想就是将集合切分成小块。这些块分散到若干片里面,每个片只负责总数据的一部分。

对于客户端来说,无需知道数据被拆分了,也无需知道服务端哪个分片对应哪些数据。数据在分片之前需要运行一个路由进程,进程名为mongos。这个路由器知道所有数据的存放位置,知道数据和片段的对应关系。

对客户端来说,它仅知道连接了一个普通的mongod,在请求数据的过程中,通过路由器上的数据和片的对应关系,路由到目标数据所在的片上,如果请求有了回应,路由器将其收集起来回送给客户端。

二、如何发布和回滚,用jenkins又是怎么实现?

笔者回答:发布:jenkins配置好代码路径(SVN或GIT),然后拉代码,打tag。需要编译就编译,编译之后推送到发布服务器(jenkins里面可以调脚本),然后从分发服务器往下分发到业务服务器上。

回滚:按照版本号到发布服务器找到对应的版本推送

三、Tomcat工作模式?

笔者回答:Tomcat是一个JSP/Servlet容器。其作为Servlet容器,有三种工作模式:独立的Servlet容器、进程内的Servlet容器和进程外的Servlet容器。

进入Tomcat的请求可以根据Tomcat的工作模式分为如下两类:

Tomcat作为应用程序服务器:请求来自于前端的web服务器,这可能是Apache, IIS, Nginx等;

Tomcat作为独立服务器:请求来自于web浏览器;

四、监控用什么实现的?

笔者回答:现在公司的业务都跑在阿里云上,我们首选的监控就是用阿里云监控,阿里云监控自带了ECS、RDS等服务的监控模板,可结合自定义报警规则来触发监控项。

上家公司的业务是托管在IDC,用的是zabbix监控方案,zabbix图形界面丰富,也自带很多监控模板,特别是多个分区、多个网卡等自动发现并进行监控做得非常不错,不过需要在每台客户机(被监控端)安装zabbix agent。

五、你是怎么备份数据的,包括数据库备份?

笔者回答:在生产环境下,不管是应用数据、还是数据库数据首先在部署的时候就会有主从架构、或者集群,这本身就是属于数据的热备份;

其实考虑冷备份,用专门一台服务器做为备份服务器,比如可以用rsync+inotify配合计划任务来实现数据的冷备份,如果是发版的包备份,正常情况下有台发布服务器,每次发版都会保存好发版的包。

六、redis集群的原理,redis分片是怎么实现的,你们公司redis用在了哪些环境?

reids集群原理:

其实它的原理不是三两句话能说明白的,redis 3.0版本之前是不支持集群的,官方推荐最大的节点数量为1000,至少需要3(Master)+3(Slave)才能建立集群,是无中心的分布式存储架构,可以在多个节点之间进行数据共享,解决了Redis高可用、可扩展等问题。集群可以将数据自动切分(split)到多个节点,当集群中的某一个节点故障时,redis还可以继续处理客户端的请求。

redis分片:

分片(partitioning)就是将你的数据拆分到多个 Redis 实例的过程,这样每个实例将只包含所有键的子集。当数据量大的时候,把数据分散存入多个数据库中,减少单节点的连接压力,实现海量数据存储。分片部署方式一般分为以下三种:

(1)在客户端做分片;这种方式在客户端确定要连接的redis实例,然后直接访问相应的redis实例;

(2)在代理中做分片;这种方式中,客户端并不直接访问redis实例,它也不知道自己要访问的具体是哪个redis实例,而是由代理转发请求和结果;其工作过程为:客户端先将请求发送给代理,代理通过分片算法确定要访问的是哪个redis实例,然后将请求发送给相应的redis实例,redis实例将结果返回给代理,代理最后将结果返回给客户端。

(3)在redis服务器端做分片;这种方式被称为“查询路由”,在这种方式中客户端随机选择一个redis实例发送请求,如果所请求的内容不再当前redis实例中它会负责将请求转交给正确的redis实例,也有的实现中,redis实例不会转发请求,而是将正确redis的信息发给客户端,由客户端再去向正确的redis实例发送请求。

七、你会怎么统计当前访问的IP,并排序?

笔者回答:统计用户的访问IP,用awk结合uniq、sort过滤access.log日志就能统计并排序好。一般这么回答就够了,当然你还可以说出其它方式来统计,这都是你的加分项。

八、你会使用哪些虚拟化技术?

vmware vsphere及kvm,我用得比较多的是vmware vsphere虚拟化,几本上生产环境都用的vmware vsphere,kvm我是用在测试环境中使用。vmware 是属于原生架构虚拟化技术,也就是可直接在硬件上运行。kvm属于寄居架构的虚拟化技术,它是依托在系统之上运行。

九、假如有人反应,调取后端接口时特别慢,你会如何排查?

问清楚反应的人哪个服务应用或者页面调取哪个接口慢,叫他把页面或相关的URL发给你,首先,最直观的分析就是用浏览器按F12,看下是哪一块的内容过慢(DNS解析、网络加载、大图片、还是某个文件内容等),如果有,就对症下药去解决(图片慢就优化图片、网络慢就查看内网情况等)。

其次,看后端服务的日志,其实大多数的问题看相关日志是最有效分析,最好用tail -f 跟踪一下日志,当然你也要点击测试来访问接口日志才会打出来。

最后,排除sql,,找到sql去mysql执行一下,看看时间是否很久,如果很久,就要优化SQL问题了,expain一下SQL看看索引情况啥的,针对性优化。数据量太大的能分表就分表,能分库就分库。如果SQL没啥问题,那可能就是写的逻辑代码的问题了,一行行审代码,找到耗时的地方改造,优化逻辑。

十、mysql数据库用的是主从读写分离,主库写,从库读,假如从库无法读取了、或者从库读取特别慢,你会如何解决?

以解决问题为前提条件,先添加从库数量,临时把问题给解决,然后抓取slow log ,分析sql语句,该优化就优化处理。主要不就是硬件跟不上,需要升级;要不就是软件需要调试优化,等问题解决在细化。

最后: 可以关注公众号:伤心的辣条 ! 进去有许多资料共享!资料都是面试时面试官必问的知识点,也包括了很多测试行业常见知识,其中包括了有基础知识、Linux必备、Shell、互联网程序原理、Mysql数据库、抓包工具专题、接口测试工具、测试进阶-Python编程、Web自动化测试、APP自动化测试、接口自动化测试、测试高级持续集成、测试架构开发测试框架、性能测试、安全测试等。

如果我的博客对你有帮助、如果你喜欢我的博客内容,请 “点赞” “评论” “收藏” 一键三连哦!


好文推荐

转行面试,跳槽面试,软件测试人员都必须知道的这几种面试技巧!

面试经:一线城市搬砖!又面软件测试岗,5000就知足了…

面试官:工作三年,还来面初级测试?恐怕你的软件测试工程师的头衔要加双引号…

什么样的人适合从事软件测试工作?

那个准点下班的人,比我先升职了…

测试岗反复跳槽,跳着跳着就跳没了…

测试工程师面试必问的十道题目!全答上来的直接免试相关推荐

  1. (95)FPGA二四译码器设计,面试必问(十九)(第19天)

    (95)FPGA二四译码器设计,面试必问(十九)(第19天) 1 文章目录 1)文章目录 2)FPGA初级课程介绍 3)FPGA初级课程架构 4)FPGA二四译码器设计,面试必问(十九)(第19天) ...

  2. (94)FPGA 两个触发器时序分析模型中,涉及到哪些参数?,面试必问(十八)(第19天)

    (94)FPGA 两个触发器时序分析模型中,涉及到哪些参数?(第19天) 1 文章目录 1)文章目录 2)FPGA初级课程介绍 3)FPGA初级课程架构 4)FPGA 两个触发器时序分析模型中,涉及到 ...

  3. (92)低速接口UART、IIC、SPI介绍,面试必问(十六)(第19天)

    (92)低速接口UART.IIC.SPI介绍,面试必问(十六)(第19天) 1 文章目录 1)文章目录 2)FPGA初级课程介绍 3)FPGA初级课程架构 4)低速接口UART.IIC.SPI介绍,面 ...

  4. (91)FPGA时钟分频与倍频问题,面试必问(十五)(第19天)

    (91)FPGA时钟分频与倍频问题,面试必问(十五)(第19天) 1 文章目录 1)文章目录 2)FPGA初级课程介绍 3)FPGA初级课程架构 4)FPGA时钟分频与倍频问题,面试必问(十五)(第1 ...

  5. (90)FPGA十进制计数器设计-面试必问(十四)(第18天)

    (90)FPGA十进制计数器设计(第18天) 1 文章目录 1)文章目录 2)FPGA初级课程介绍 3)FPGA初级课程架构 4)FPGA十进制计数器设计-面试必问(十四)(第18天) 5)技术交流 ...

  6. (88)FPGA二分频设计,面试必问(十二)(第18天)

    (88)FPGA二分频设计,面试必问(十二)(第18天) 1 文章目录 1)文章目录 2)FPGA初级课程介绍 3)FPGA初级课程架构 4)FPGA二分频设计,面试必问(十二)(第18天) 5)技术 ...

  7. (86)FPGA同步复位与异步复位-面试必问(十)(第18天)

    (86)FPGA同步复位与异步复位-面试必问(十)(第18天) 1 文章目录 1)文章目录 2)FPGA初级课程介绍 3)FPGA初级课程架构 4)FPGA同步复位与异步复位-面试必问(十)(第18天 ...

  8. 耗时108天,终于有人把金九银十面试必问的1309道Java面试题全部整理出来了

    就目前大环境来看,跳槽成功的难度比往年高很多.一个明显的感受:互联网行业竞争越来越严峻,面试也是越来越难,不少大厂,如阿里.腾讯.华为的招聘名额明显减少,面试门槛却一再拔高,其实,要想生存下去,势必要 ...

  9. 2022年面试必问的1000道Java面试题及答案整理

    不论是校招还是社招都避免不了各种面试,如何去准备面试就显得格外重要. 有很多小伙伴为社招或跳槽做准备,最近小编也常常在刷面试题,发现网上很多Java面试题都没有答案,所以花了很长时间搜集整理出来了这套 ...

最新文章

  1. oracle创建用户、表空间、临时表空间、分配权限步骤详解
  2. Python 逻辑运算符
  3. C语言两个字符串查找最长的公共子串的算法(附完整源码)
  4. python3-numpy数组广播 和 np.tile 扩展数组
  5. 小程序 局域网 服务器,微信小程序网络请求request局域网下的开发测试
  6. 使用SecOC打造的CAN网络依旧很不安全
  7. 给大家总结的一份白帽子成长进阶指南(内附学习资源)
  8. imac苹果一体机忘记开机密码,直接重置开机密码
  9. Http状态码406(Not Acceptable) 错误问题解决方法
  10. 蓝牙耳机音量控制问题
  11. 【Python神器】推荐这款傻瓜式GIF制作工具,以后别再说不会了(好用到爆~)
  12. vsCode格式化html代码
  13. 通过Windows批处理脚本批量修改DNS
  14. 阿里云认证有用吗?阿里云证书含金量及如何获得
  15. 世界树服务器bug位置,四叶草剧场世界树bug怎么获得 世界树bug神器获取位置图文详解...
  16. 题目59 考勤记录(ok)
  17. Java字符串分割方法split()的功能以及使用方法的详细介绍!
  18. BPF编程-使用libbpf-bootstrap构建BPF应用程序【译】
  19. 操作系统复试面试问题
  20. Surf描述子形成步骤

热门文章

  1. 创建student数据表_创建数据库、表和更改表
  2. lable里的字体颜色_?APP界面的字体规范!
  3. 【毕业设计】jsp+sql毕业生招聘系统毕业设计(系统+论文+英文文献+综合材料)
  4. 培养逻辑思维的app_久趣数学思维V1.4.1-久趣数学思维APP下载
  5. 控制台的左侧显示证书树形列表_一款免费签发Https证书的工具:Let's Encrypt
  6. 不使用网线就无法将两台计算机连接成网络,不通过路由器将两台计算机连接到网络的方法不止一种-如何将两台计算机连接到局域网...
  7. 计算机成原理第2版,清华大学出版社-图书详情-《计算机组成原理(第2版)》...
  8. c语言的数据有常量与,C语言数据与常量.ppt
  9. mysql中连接运算符_MySQL的运算符
  10. Python+OpenCV:Hough圆检测(Hough Circle Transform)