百度健康 | Go实习一面
时间:2023-9-5 17:00-17:50 50min
-
上海实习为什么离职了?
-
分布式对象存储项目?
-
这个项目在什么样的场景下可以用到?举一些具体的场景? 大型网站,音视频,影视素材,图片
-
消息队列除了可以使用RabbitMQ还可以用 rocketmq 和 kafka吗?
-
消息队列怎么保证消息不丢失?
-
Docker和虚拟机的区别?
-
k8s相比于Docker有什么优势?
-
Namespace和cgroups的区别?
-
k8s怎么对服务进行扩容?
-
new和make的区别?
-
两个slice怎么比较?想坑我,slice是不可以比较的哈哈
-
从资源共享的角度来说,线程和协程有什么区别?
每个线程有自己的堆栈,协程在线程内部,共享相同的内存空间,上下文切换只需要保存函数的上下文
-
G和M和P之间的数量对应关系?
-
实习数据库优化从哪些方面进行的?就说了索引优化,面试官心想就这??
-
然后问了如果抛开这里,对数据库优化还有哪些方式?从sql本身怎么优化?select *或者like
-
对开发和测试怎么理解的?
-
了解哪些测试相关的知识?
-
手撕:给定一个数组,判断第一个没有出现的正整数?
每次面大厂都有点害怕,面中小厂信手拈来,有的问题答的不尽人意,特别是那道简单的算法题还没写出来,面试官让我说思路我都没说,当时就直接蒙逼了,感觉已经挂了,但是!!没想到,第二天给我发二面通知,我真的哭死,面试官也太好了吧!!
百度健康 | Go实习二面
时间:2023-9-7 17:00-17:50 50min
- 开局说其他一面都问了,直接来编程吧。
- 编程:输入一个字符串,输出每个单词的出现次数,并且按照次数降序输出单词
- 有没有写过Dockerfile文件,怎么编写,创建的,拉取镜像?应该是问整个流程。
- 端口是如何映射的,哪个端口暴露给用户访问的,端口映射对用户是透明的嘛?如果多个端口映射到一个服务,怎么控制用户的请求。这里应该是负载均衡,其他方法还没想到?
- docker是怎么安装的?
- 问我对自己的编程能力感觉怎么样?我只能夸一顿来挽回了,然后说我对Go语言的包使用不够熟练
- 有没有其他的offer?被问的比较少,不是很熟练的回答,有几个但是公司太小了,口误说到实习转正了,百度这边也不一定有转正啊!!
应该还有一些内容的前面忘记录音了。感觉有点kpi面吧,面试官没有开摄像头,和税友二面的体验好像,应该是一个主管,开始的编程题应该说一下思路的,然后呢,考虑的有太多了,面试官说先考虑最简单的情况,唉最后被打上包用的不熟练的标签,所以啊,下次先和面试官说清楚自己写的思路,然后开始写代码!!!然后话不要说的太快了吧,先想一想说什么,组织一下语言,不然说的太混乱了
编程:输入一个字符串,输出每个单词的出现次数,并且按照次数降序输出单词
type Node struct {
Word string
Cnt int
}
func test(str string) {
// 自定义分割函数
f := func(c rune) bool {
return c == ',' || c == ' ' || c == '?' || c == '!'
}
words := strings.FieldsFunc(str, f)
nodes := make([]Node, 0)
for _, word := range words {
// 判断word节点是否存在于 nodes
flag := false
// 注意不能写成 for i, node := range node { node.Cnt++} 会出现问题
for i := range nodes {
if nodes[i].Word == word {
nodes[i].Cnt++
flag = true
break
}
}
if !flag {
node := Node{word, 1}
nodes = append(nodes, node)
}
}
sort.Slice(nodes, func(i, j int) bool {
return nodes[i].Cnt > nodes[j].Cnt
})
for _, node := range nodes {
fmt.Printf("单词:%s, 出现的次数为:%d\n", node.Word, node.Cnt)
}
}
评论区