百度aigc生产系统研发Go一面面经

 最新消息本来周五约我二面 到了周五下午给我说岗位关了??? 这家弄的

# 10.28面经
26日常实习,百度meg下aigc生产系统研发工程师Golang方向。

## 自我介绍
语速太快了介绍完面试官把我的简历都没看完...
## 实习经历询问
复述了一下实习干了什么(中科院的一个小项目,其实非常水,但是就纯吹牛),询问了一些K8s,Docker,没有太深入询问。
## 项目询问
是跟着一本书做的项目,比较垃圾,描述项目整体有什么功能,描述完之后询问项目中的某个具体功能如何实现(用户验证),面试官见我的项目比较一般(确实是两个玩具项目),所以没有太大的兴趣。

## 八股拷打

### Golang拷打
一开始看我简历上有熟悉Java及其框架(确实学过但是忘得差不多)+了解Rust语言,遂询问为什么Java转Go(被迫...),讲讲Rust语言(讲了我依稀记得的Rust的生命周期lifetime,想讲ownership的时候忘了具体概念了,就说不太清楚了)

1. slice底层原理
    * 只知道长度,容量,具体扩容机制忘了。

2. Map的底层原理
    * 讲了讲原生Map为什么线程不安全,如何解决这个线程安全问题

### 数据库
1. Mysql事务是什么?事务级别?如何使用事务?
    * 吟唱八股
    * 后续询问了一个为什么可重复读是Mysql默认的事务级别,与什么有关系?(我答与Innodb,MyIsam应该没关系,至于为什么我又重复了一遍什么是可重复读,没再深究)
如果我没记错,没有问redis?

## 代码题

### Go语言题
```go
func main() {
    original := []int{1, 2, 3} 
    copied := original[:2]
    copied = append(copied, 4)
    original = append(original, 5)
    copied = append(copied, 6)
    original = append(original, 7)
    fmt. Printin("original===",original)
    fmt.Printin("copied==="copied)
}
```
询问上述代码的输出结果,其实就是slice的底层原理,正如上面所说我对这里不是很熟悉,开始一眼看过去以为是相等,但是想了想不对,印象中扩容没有那么简单,最后属于是蒙对了。
* 具体来说,当 append 导致切片的长度超过其容量时,Go 会自动为切片分配一个新的、更大的底层数组,并将原数组的内容复制到新数组中
* 扩容机制为2倍扩容,一方扩容后,指向的就是新数组,另一方还是指向底层的旧数组,所以最后结果不同了。

### 手撕题
**题目要求**
小明 有n天假期,每天他可以进行三种活动中的一种,每种活动给他带来的愉悦值各不相同。如果当天进行过某一种活动,第二天即不能进行这种活动,求n天后小明能获得的最大愉悦值
3
10 40 70
20 50 80
30 60 90
210

一道常见的动态规划,由于第一次面试时手撕代码,紧张地看了两分钟题目都没看懂...最后手撕出结果,出错,讲述思路的过程中改对了。

## 反问阶段
1. 寻求建议,指出项目有点简陋(这个我承认);
2. 询问部门职责
3. 询问会有几面(2-3)

## 总结
面试官人非常好,不紧不慢,态度温和,整个过程大概50分钟左右,问的题目算是简单的了,如果能进二面肯定就是狠狠地拷打了,继续努力吧,感谢百度给了这次大厂处女面的机会。

面试确实能给自己查缺补漏不少东西并提供未来努力的方向。
全部评论
啥时候面的大佬
点赞 回复 分享
发布于 10-29 17:47 天津
二面了嘛
点赞 回复 分享
发布于 10-31 18:58 浙江
一面后多久通知二面的呀
点赞 回复 分享
发布于 11-01 14:54 广东

相关推荐

11-19 12:25
已编辑
门头沟学院 C++
一面(11.14)二面(11.15)oc(11.19)-----11.14 一面-----1.2.3项目相关4.有用到c++的atomic吗?5.项目中无锁队列是怎么push和pop的,怎么实现线程安全?6.atomic的内存序问题?7.会写shell脚本吗?8.linux命令,查看进程、内存、磁盘9.设计模式思想、原则、法则10.项目里的单例模式怎么实现的?11.子线程结束后如何通知主进程去执行一个方法?12.c++条件变量知道吗13.线程池中子线程和主进程的消息传递14.智能指针讲一下,线程安全吗,shared_ptr指向的内容是线程安全的吗?15.gdb用过吗,打断点、查看加载的动态库16.动态库和静态库的区别17.虚函数,虚函数表,虚函数指针讲一下18.子类覆盖了父类的非虚函数,将一个子类的指针赋给父类的对象,父类的对象调用该函数,最终会调用谁的19.知道组合吗?继承和组合20.讲一下stl中map和unordered_map的区别?21.一个pair对象是否可以作为map的key?22.stl迭代器了解吗?23.vector动态扩容是怎么实现的?具体的copy行为是用到什么c++特性24.完美转发了解吗25.打开编辑器,写个c++类全程面试体验很好,不懂的问题面试官不会追问,答错的也会耐心讲解-----11.15 二面-----4.智能指针用过吗,了解多少5.程序编译链接过程6.动态库和静态库的区别7.stl中sort函数的实现8.deque的扩容机制9.map和unordered_map的区别10.右值引用了解吗11.设计模式了解吗,讲一下单例模式12.内存泄露怎么检测14.开编辑器,写一个删除vector中指定的元素,再写一个单例模式二面同样体验很棒许愿oc-----11.18更-----今天或明天HR联系!一定要拿下!-----11.19上午更-----HR口头oc——-11.19中午更——-offer邮件
查看31道真题和解析
点赞 评论 收藏
分享
3 17 评论
分享
牛客网
牛客企业服务