2023-6-25 17:00 - 17:30 30min
在教室面试,然后来了一个老爷爷要教我数学,打断了一下面试,有点尴尬:joy:
channel
用的多吗?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:
channel
用的多吗?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 二面