杭州税友 | 系统运维实习生
杭州税友 | 系统运维实习生
一面时间
2023-6-25 17:00 - 17:30 30min
面试内容
在教室面试,然后来了一个老爷爷要教我数学,打断了一下面试,有点尴尬:joy:
总览
- Golang 值类型和引用类型的区别,分别有哪些数据结构?
- 有没有使用过协程的经验?选品库是爬虫还是有提供接口?
channel
用的多吗?- 有没有了解用 Golang 开发一些 k8s 小插件,做一些拓展,一些开源项目?
- 在操作系统安装指定 Docker 版本的过程?
- 博客通过 Docker 是怎么发布的?整个流程
- 简单说一下 Docker-compose 文件的一些关键词的含义和用法?
- 除了 Docker 你还知道哪些容器产品?
- CPU 使用率比较高?怎么排查哪个应用占用高?
- 查看磁盘,网络IO的使用情况?哪个进程占用的网络IO比较多?
- 监控 Mysql 主从状态是否良好,怎么做监控脚本,或者用什么工具实现?
- 查看 Mysql 的主从状态是什么指令?
- 单击 Mysql 执行sql指令,性能比较差,怎么排查?
- 有什么需要提问?先说一下岗位描述
详细
-
Golang 值类型和引用类型的区别,分别有哪些数据结构?
值类型在赋值和传参的时候会进行值拷贝,创建一个新变量,意味着对新变量的修改不会影响原变量的值。包括基本类型(int,float),字符串,数组, 结构体 引用类型在赋值和参数的时候共享相同的底层数据,意味着对变量修改会影响原始变量的值。包括切片,map,channel,接口,函数
-
有没有使用过协程的经验?选品库是爬虫还是有提供接口?
两个方面 1、分布式存储项目:数据节点使用协程做心跳检测,接口节点使用协程清除没有心跳的数据节点 数据节点启动使用协程加载数据到内存 ---> Redis优化 数据节点使用协程处理接口节点的定位消息 2、实习:拉取商品数据,多个协程并发拉取几个平台 ----> 并发控制
-
channel
用的多吗?1、实习使用channel做 并发控制 2、项目通过 channel 做消息队列,实现心跳检测和定位消息
-
有没有了解用 Golang 开发一些 k8s 小插件,做一些拓展,一些开源项目?
没有了解过。可以去了解了解 网络,存储
-
在操作系统安装指定 Docker 版本的过程?
更新包管理器-->安装依赖源 使用https源-->添加官方 GPG 密钥-->设置 Docker 的稳定版存储库-->更新包管理器 安装指定版本的 Docker。使用 =<VERSION> 指定所需的版本号-->验证 Docker 安装:
-
博客通过 Docker 是怎么发布的?整个流程
1、编写 Dockerfile 文件,包括基础镜像,依赖,环境变量 2、构建 Docker 镜像。docker build -t name:version 3、运行容器,映射暴露端口 4、云服务器设置防火墙,放行端口。通过 ip:port 访问
-
简单说一下 Docker-Compose 文件的一些关键词的含义和用法?
version: 版本 service: 服务,每个服务包含一个名称和相关配置 image: 镜像 port: 端口映射 environment: 环境变量 depend_on: 依赖关系 restart: 重启策略 network: 网络 volume: 数据卷
-
除了 Docker 你还知道哪些容器产品?
Podman 由 RedHat 开发,是一种无守护程序、开源、Linux 原生容器引擎,被认为是 Docker 的最佳替代品之一。 containerd 是一个高级容器运行时,它通过在底层运行 runc 以提供操作系统和容器引擎之间的接口 LXD 是一种轻量级的虚拟化解决方案,使得多个独立的Linux操作系统实例在同一物理机上运行
-
CPU 使用率比较高?怎么排查哪个应用占用高?
通过 top 指令来排查
-
查看磁盘,网络IO的使用情况?哪个进程占用的网络IO比较多?
可以使用 iotop 查看磁盘io的实时使用情况 通过 iftop 查看网络io
-
监控 Mysql 主从状态是否良好,怎么做监控脚本,或者用什么工具实现?
监控脚本:使用bash或者Python编写,通过执行 show slave status 命令的输出,检查复制延迟和复制状态等指标,异常发送警报 监控工具:Prometheus + Grafana, 使用 Prometheus 作为监控系统,通过配置 MySQL Exporter 收集 MySQL 的指标数据,并使用 Grafana 进行数据展示和告警设置。
-
查看 Mysql 的主从状态是什么指令?
show slave status 1、Slave_IO_Running:指示复制 I/O 进程是否正在运行。如果值为 "Yes",表示正常运行。 2、Slave_SQL_Running:指示复制 SQL 进程是否正在运行。如果值为 "Yes",表示正常运行。 3、Seconds_Behind_Master:表示从服务器与主服务器之间的复制延迟(以秒为单位)。较小的延迟表示较好的主从同步。
-
单机 Mysql 执行sql指令,性能比较差,怎么排查?
检查服务器性能指标-->检查Mysql的参数-->检查查询执行计划 使用性能分析工具: 使用 MySQL 提供的性能分析工具,如 SHOW PROCESSLIST、SHOW ENGINE INNODB STATUS、SHOW GLOBAL STATUS 等,以获取系统和查询的性能指标。 processlist,engine innodb status,global
-
有什么需要提问?先说一下岗位描述
业务+技术栈+部门运维岗人数
杭州税友 | 系统运维实习生
一面时间
2023-6-25 17:00 - 17:30 30min
面试内容
在教室面试,然后来了一个老爷爷要教我数学,打断了一下面试,有点尴尬:joy:
总览
- Golang 值类型和引用类型的区别,分别有哪些数据结构?
- 有没有使用过协程的经验?选品库是爬虫还是有提供接口?
channel
用的多吗?- 有没有了解用 Golang 开发一些 k8s 小插件,做一些拓展,一些开源项目?
- 在操作系统安装指定 Docker 版本的过程?
- 博客通过 Docker 是怎么发布的?整个流程
- 简单说一下 Docker-compose 文件的一些关键词的含义和用法?
- 除了 Docker 你还知道哪些容器产品?
- CPU 使用率比较高?怎么排查哪个应用占用高?
- 查看磁盘,网络IO的使用情况?哪个进程占用的网络IO比较多?
- 监控 Mysql 主从状态是否良好,怎么做监控脚本,或者用什么工具实现?
- 查看 Mysql 的主从状态是什么指令?
- 单击 Mysql 执行sql指令,性能比较差,怎么排查?
- 有什么需要提问?先说一下岗位描述
详细
-
Golang 值类型和引用类型的区别,分别有哪些数据结构?
值类型在赋值和传参的时候会进行值拷贝,创建一个新变量,意味着对新变量的修改不会影响原变量的值。包括基本类型(int,float),字符串,数组, 结构体 引用类型在赋值和参数的时候共享相同的底层数据,意味着对变量修改会影响原始变量的值。包括切片,map,channel,接口,函数
-
有没有使用过协程的经验?选品库是爬虫还是有提供接口?
两个方面 1、分布式存储项目:数据节点使用协程做心跳检测,接口节点使用协程清除没有心跳的数据节点 数据节点启动使用协程加载数据到内存 ---> Redis优化 数据节点使用协程处理接口节点的定位消息 2、实习:拉取商品数据,多个协程并发拉取几个平台 ----> 并发控制
-
channel
用的多吗?1、实习使用channel做 并发控制 2、项目通过 channel 做消息队列,实现心跳检测和定位消息
-
有没有了解用 Golang 开发一些 k8s 小插件,做一些拓展,一些开源项目?
没有了解过。可以去了解了解 网络,存储
-
在操作系统安装指定 Docker 版本的过程?
更新包管理器-->安装依赖源 使用https源-->添加官方 GPG 密钥-->设置 Docker 的稳定版存储库-->更新包管理器 安装指定版本的 Docker。使用 =<VERSION> 指定所需的版本号-->验证 Docker 安装:
-
博客通过 Docker 是怎么发布的?整个流程
1、编写 Dockerfile 文件,包括基础镜像,依赖,环境变量 2、构建 Docker 镜像。docker build -t name:version 3、运行容器,映射暴露端口 4、云服务器设置防火墙,放行端口。通过 ip:port 访问
-
简单说一下 Docker-Compose 文件的一些关键词的含义和用法?
version: 版本 service: 服务,每个服务包含一个名称和相关配置 image: 镜像 port: 端口映射 environment: 环境变量 depend_on: 依赖关系 restart: 重启策略 network: 网络 volume: 数据卷
-
除了 Docker 你还知道哪些容器产品?
Podman 由 RedHat 开发,是一种无守护程序、开源、Linux 原生容器引擎,被认为是 Docker 的最佳替代品之一。 containerd 是一个高级容器运行时,它通过在底层运行 runc 以提供操作系统和容器引擎之间的接口 LXD 是一种轻量级的虚拟化解决方案,使得多个独立的Linux操作系统实例在同一物理机上运行
-
CPU 使用率比较高?怎么排查哪个应用占用高?
通过 top 指令来排查
-
查看磁盘,网络IO的使用情况?哪个进程占用的网络IO比较多?
可以使用 iotop 查看磁盘io的实时使用情况 通过 iftop 查看网络io
-
监控 Mysql 主从状态是否良好,怎么做监控脚本,或者用什么工具实现?
监控脚本:使用bash或者Python编写,通过执行 show slave status 命令的输出,检查复制延迟和复制状态等指标,异常发送警报 监控工具:Prometheus + Grafana, 使用 Prometheus 作为监控系统,通过配置 MySQL Exporter 收集 MySQL 的指标数据,并使用 Grafana 进行数据展示和告警设置。
-
查看 Mysql 的主从状态是什么指令?
show slave status 1、Slave_IO_Running:指示复制 I/O 进程是否正在运行。如果值为 "Yes",表示正常运行。 2、Slave_SQL_Running:指示复制 SQL 进程是否正在运行。如果值为 "Yes",表示正常运行。 3、Seconds_Behind_Master:表示从服务器与主服务器之间的复制延迟(以秒为单位)。较小的延迟表示较好的主从同步。
-
单机 Mysql 执行sql指令,性能比较差,怎么排查?
检查服务器性能指标-->检查Mysql的参数-->检查查询执行计划 使用性能分析工具: 使用 MySQL 提供的性能分析工具,如 SHOW PROCESSLIST、SHOW ENGINE INNODB STATUS、SHOW GLOBAL STATUS 等,以获取系统和查询的性能指标。 processlist,engine innodb status,global
-
有什么需要提问?先说一下岗位描述
业务+技术栈+部门运维岗人数
面试录了音,所以很详细。欢迎大佬们指教!
面试总结
这算是第一次面试运维岗位吧,自己是 学习 Golang
的,面试之前也没有准备,没报什么希望,意料之外的面试机会吧,没想到最后还拿到offer
了,这就是意外中的意外了。
面试结果
6.27 二面