上海踏云齐光golang小厂 面经复盘

boss 上投递的,应该是技术 leader 直面,我还以为是外包,被杀疯了。

1. 自我介绍 + 项目介绍

2. 实习经历

3. DDD 的设计

4. Java interface 和 Go struct/interface 的设计差异
   - Java 有 interface,为什么 Go 会有 struct 和 interface 这样的设计?
   - 为什么说 Go 的 interface 和 Java 的 interface 不太一样?
   - 举一个实际例子:Java 这种传统面向对象语言和 Go 的区别是什么?
   - 比如 Java 里面写 Animal,然后 Tiger 继承 Animal,Go 里面会怎么设计?
   - 我答了 DI、调用方定义接口、组合和嵌入,但感觉没答到点上。

5. Go 基础八股:channel、goroutine 和线程
   - channel 是什么?
   - goroutine 和线程有什么区别?
   - 为什么不能无限开 goroutine?
   - 实际业务中什么情况下会用 goroutine?
   - 什么情况下会用 channel?

6. MySQL 表设计场景题:购物车和订单设计
   - 假如购物车里面买了两个苹果、一个香蕉,订单表怎么设计?
   - 怎么体现买了两个苹果、一个香蕉?
   - 如果拆成两张表,应该用哪个字段当主键?
   - 面试官反馈想问的是:主键应该和业务不耦合。
   - 我当时答的是拆表,以及用业务字段当主键可能有问题。

7. 命令拷打
- git
- docker
- docker compose, 为什么要有docker compose
- 对docker image有什么理解
- 没有docker怎么部署项目

8. 手撕代码:7 进制转换
   - 没做出来,太紧张了,连 `%7`、`/7` 都没想出来,已燃尽。向面试官投降,给面试官气笑了。

9. 反问
   - 公司 AI 具体业务是什么?

整体体验很好,给我的感觉就是面试官很强,我太菜了,被拷打了 😭
全部评论
后续过了吗?
点赞 回复 分享
发布于 05-05 19:07 福建

相关推荐

评论
点赞
3
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务