为了做好运维面试路上的助攻手,特整理了上百道 【运维技术栈面试题集锦】 ,让你面试不慌心不跳,高薪offer怀里抱!
这次整理的面试题,小到shell、MySQL,大到K8s等云原生技术栈,不仅适合运维新人入行面试需要,还适用于想提升进阶跳槽加薪的运维朋友。
本份面试集锦涵盖了
- 174 道运维工程师面试题
- 128道k8s面试题
- 108道shell脚本面试题
- 200道Linux面试题
- 51道docker面试题
- 35道Jenkis面试题
- 78道MongoDB面试题
- 17道ansible面试题
- 60道dubbo面试题
- 53道kafka面试
- 18道mysql面试题
- 40道nginx面试题
- 77道redis面试题
- 28道zookeeper
总计 1000+ 道面试题, 内容 又全含金量又高
- 174道运维工程师面试题
1、什么是运维?
2、在工作中,运维人员经常需要跟运营人员打交道,请问运营人员是做什么工作的?
3、现在给你三百台服务器,你怎么对他们进行管理?
4、简述raid0 raid1raid5二种工作模式的工作原理及特点
5、LVS、Nginx、HAproxy有什么区别?工作中你怎么选择?
6、Squid、Varinsh和Nginx有什么区别,工作中你怎么选择?
7、Tomcat和Resin有什么区别,工作中你怎么选择?
8、什么是中间件?什么是jdk?
9、讲述一下Tomcat8005、8009、8080三个端口的含义?
10、什么叫CDN?
11、什么叫网站灰度发布?
12、简述DNS进行域名解析的过程?
13、RabbitMQ是什么东西?
14、讲一下Keepalived的工作原理?
15、讲述一下LVS三种模式的工作过程?
16、mysql的innodb如何定位锁问题,mysql如何减少主从复制延迟?
17、如何重置mysql root密码?
网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。
一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!
配置环境变量
=======================================================================================
下载地址:
最新
优点:不需要第三方插件
缺点:收费
汉化需要重启GoLand
可变大小ctrl+鼠标,调整大小
去掉参数提示
打开已经写好的文件
四. Visual Studio Code安装—VScode
=================================================================================================
免费
优点:有第三方插件
安装包https://code.visualstudio.com/Download
官网链接
https://az764295.vo.msecnd.net/stable/c185983a683d14c396952dd432459097bc7f757f/VSCodeUserSetup-x64-1.55.0.exe
我们看到前面的域名是az764295.vo.msecnd.net
,你只要将这个域名改为 vscode.cdn.azure.cn
就可以。
变成
https://vscode.cdn.azure.cn/stable/c185983a683d14c396952dd432459097bc7f757f/VSCodeUserSetup-x64-1.55.0.exe
配置环境变量----同上
然后运行go version
不过这种方法极不推荐,因为你不可能只有一个项目,我们每个项目都有自己的 GOPATH
。习惯的做法是可以使用 go env
命令来设置
$ go env -w GOPATH=E:\VMP-Code\Golang
如果你已经
在系统的环境变量中设置了 GOPATH ,那么一定移除掉,才能使用 go env -w
去设置,会报错
warning: go env -w GOPATH=… does not override conflicting OS environment variable
如果你移除了还报这个错误,那可能需要你重启电脑(反正我是这样)
在vsc菜单栏依次选择 文件–首选项–设置 ,然后 打开settings.json
1 . 先下载windows版的git
找到工具
- Visual Studio Code====》vscode
在github中找vscode-go
安装依赖工具
在cmd中
go get -u -v github.com/nsf/gocode
go get -u -v github.com/uudashr/gopkgs/cmd/gopkgs
go get -u -v github.com/rogpeppe/godef
go get -u -v github.com/alecthomas/gometalinter
go get -u -v github.com/haya14busa/goplay/cmd/goplay
go get -u -v github.com/tylerb/gotype-live
go get -u -v github.com/davidrjenni/reftools/cmd/fillstruct
go get -u -v github.com/sourcegraph/go-langserver
go get -u -v github.com/fatih/gomodifytags
go get -u -v github.com/ramya-rao-a/go-outline
go get -u -v github.com/acroca/go-symbols
go get -u -v golang.org/x/tools/cmd/guru
go get -u -v golang.org/x/tools/cmd/gorename
go get -u -v golang.org/x/tools/cmd/godoc
go get -u -v github.com/zmb3/gogetdoc
go get -u -v golang.org/x/tools/cmd/goimports
go get -u -v github.com/golang/lint/golint
go get -u -v github.com/sqs/goreturns
go get -u -v github.com/josharian/impl
go get -u -v sourcegraph.com/sqs/goreturns
go get -v -u github.com/peterh/liner github.com/derekparker/delve/cmd/dlv
go get -u -v github.com/cweill/gotests/…
go get -u -v honnef.co/go/tools/…
需要将一下的东西解压到GOPATH目录中去
有些包需要手动解压缩到这儿
手动创建目录,右键目录,选择git here
(前天装了git)
在命令行执行git clone 网址
在%GOPATH%\src\目录下,创建golang.org文件夹;
然后在%GOPATH%\src\golang.org\目录下创建名称为x的文件夹;
打开cmd,cd进入%GOPATH%\src\golang.org\x目录;
输入git clone https://github.com/golang/tools.git tools -->回车,并等待下载完成;
完成后,%GOPATH%\src\golang.org\x目录下,会多出来一个tools的文件夹;
最后重新 go get上面第6步的go插件即可;
编写完代码后,想运行这个 go 文件,通常情况下你得通过下面 VSCODE 提供的入口去运行,是比较麻烦的。
点击 create a launch.json file
就会在项目根目录下创建一个 json 文件,创建完成后,运行的边栏就变成如下模样,再点击 那个三角运行按钮,就可以运行它了。
使用这种方法,需要安装一个 dlv
,VS Code 会提示你安装它,安装完成后你会在 bin 目录下发现 dlv.exe
。
这种运行方法,虽然可行,但是操作路径还是有点长。
最符合用户使用习惯的应该是,直接有一个 运行 的按钮的,例如这样
或者通常快捷键,或者右键就有运行的选择项。
VS Code
本身不提供这样的功能,你需要安装一个叫 Code Runner
的扩展,安装后不需要重启 VS Code 就会失效
使用 Ctrl + Alt + N
,或者右键选择 Run Code 就可以执行该 go 文件。
====================================================================================
由于国内的一些网络问题,导致我们无法直接拉取 go 的一些工具包,这时候就要借助大神们搭建的代理地址来下载了。
最经常使用的是代理地址是:https://goproxy.cn
go env -w GOPROXY=https://goproxy.cn,direct
创建目录 src/goland.org/x/
,并进入此目录,执行命令
$ git clone https://github.com/golang/tools.git
$ git clone https://github.com/golang/lint.git
随便点开一个 go 文件,在你的右下角会提示要你安装一些工具,安装的包有些由于墙的原因,无法下载,为了保证下载顺利,可以设置一下代理。
$ go env -w GOPROXY=https://goproxy.cn,direct
然后再点击 Install All
然后你在 OUTPUT 就能看到安装进度
set GO111MODULE=
set GOARCH=amd64
set GOBIN=
set GOCACHE=C:\Users\wangbm\AppData\Local\go-build
set GOENV=C:\Users\wangbm\AppData\Roaming\go\env
set GOEXE=.exe
set GOFLAGS=
set GOHOSTARCH=amd64
set GOHOSTOS=windows
set GONOPROXY=
set GONOSUMDB=
set GOOS=windows
set GOPATH=E:\MING-Code\GoPlayer
set GOPRIVATE=
set GOPROXY=https://goproxy.cn,direct
set GOROOT=D:\Program Files (x86)\Go-1.13.6
set GOSUMDB=sum.golang.org
set GOTMPDIR=
set GOTOOLDIR=D:\Program Files (x86)\Go-1.13.6\pkg\tool\windows_amd64
set GCCGO=gccgo
set AR=ar
set CC=gcc
set CXX=g++
set CGO_ENABLED=1
set GOMOD=
set CGO_CFLAGS=-g -O2
set CGO_CPPFLAGS=
set CGO_CXXFLAGS=-g -O2
set CGO_FFLAGS=-g -O2
set CGO_LDFLAGS=-g -O2
set PKG_CONFIG=pkg-config
想查看几个特定的环境变量就加在 go env 后面
E:\MING-Code\GoPlayer
$ go env GOROOT
D:\Program Files (x86)\Go-1.13.6
$ go env GOPROXY
https://goproxy.cn,direct
以上环境变量很多,这里仅设置下面这两个就足够了
一个是GO111MODULE 设置为 on,表示使用 go modules
模式
$ go env -w GO111MODULE=on
一个是开启代理
,防止下载包失败(前面可能你已经设置过)
$ go env -w GOPROXY=https://goproxy.cn,direct
=====================================================================================
helloworld.go
package
必须在go源文件开头声明,代码所属包
import
用于导入程序依赖的所有包
func
用于定义函数,main函数是程序的入口,无返回值
fmt.PrintLn
输出
package main
#import “fmt”
import (
“fmt”
)
func main() {
fmt.Println(“hello world!!”)
}
在cmd执行,注意在制定的问价夹下面
-x 打印编译过程
-work 保存编译过程
-o 输出结果
go build helloworld.go
go build -x -work -o hello.exe helloworld.go
go run 直接运行程序(编译+运行)
go clean 清楚编译文件
会在当前文件夹下面生成一个.exe的文件
dir
最后执行.exe
文件
最后的话
最近很多小伙伴找我要Linux学习资料,于是我翻箱倒柜,整理了一些优质资源,涵盖视频、电子书、PPT等共享给大家!
资料预览
给大家整理的视频资料:
给大家整理的电子书资料:
如果本文对你有帮助,欢迎点赞、收藏、转发给朋友,让我有持续创作的动力!
网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。
一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!
go
go build -x -work -o hello.exe helloworld.go
go run 直接运行程序(编译+运行)
go clean 清楚编译文件
会在当前文件夹下面生成一个.exe的文件
dir
最后执行.exe
文件
最后的话
最近很多小伙伴找我要Linux学习资料,于是我翻箱倒柜,整理了一些优质资源,涵盖视频、电子书、PPT等共享给大家!
资料预览
给大家整理的视频资料:
[外链图片转存中…(img-vTZnIr5P-1715581576888)]
给大家整理的电子书资料:
[外链图片转存中…(img-CmAwwpqI-1715581576889)]
如果本文对你有帮助,欢迎点赞、收藏、转发给朋友,让我有持续创作的动力!
网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。
一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!