【面经】网宿科技-Go后端开发实习-二面面经

bg:9本大二/主go/一段实验室打工经历 二面感觉问得深很多,面试官笑呵呵的很有压力

1. 项目深挖(短链接生成系统 - 架构设计与一致性)

  • 面试官: 请简单介绍一下这个短链接生成系统的核心流程。
  • 面试官: 你为什么引入 Redis?如果去掉 Redis 直接抗 5000 QPS,PostgreSQL 的瓶颈大概会出在哪里?
  • 面试官: 短链接生成的算法你用的哪种?如果是 Hash 算法,产生碰撞(Conflict)了你如何在代码层面解决?
  • 面试官: 谈谈你提到的一致性方案:先更新数据库,再删除缓存。
  • 面试官: 如果数据库更新成功,但删除缓存失败了,此时会有脏数据。除了重试机制,你了解“延迟双删”或者“监听 Binlog 异步删除”吗?
  • 面试官: 如果短链接的跳转流量突然暴增(缓存穿透/击穿),你的系统有做什么防范吗?

2. Linux 基础与系统排查

  • 面试官: 平时开发最常用的 Linux 命令有哪些?
  • 面试官: 具体用什么命令查看系统内存?free -h 里的 availablefree 有什么区别?
  • 面试官: 某个端口被占用,如何快速找到并 Kill 掉该进程?
  • 面试官: 现在线上服务器 CPU 突然飙升到 100%,你的排查步骤是什么?
  • 面试官: 如何使用 grep 查找日志文件中包含关键词 "Error" 的前后 10 行?
  • 面试官: 知道 chmod 的数字权限含义吗?755 代表什么权限?

3. Go 语言

  • 面试官: 既然二面了,我们聊聊底层。讲讲 Go 的 GMP 调度模型,为什么要有 P?
  • 面试官: 项目中你是怎么处理多个 Goroutine 协同工作的?(Context 或 WaitGroup)
  • 面试官:(深挖)Context 的 Done() 信号是怎么传递的?底层是什么数据结构?
  • 面试官: Go 的垃圾回收(GC)大致流程是什么?为什么会有 STW?
  • 面试官: 写代码时如何避免 Goroutine 泄露?

4. Docker 与云原生

  • 面试官: 岗位偏向容器平台,你平时 docker run -v-p 分别代表什么?
  • 面试官: 讲讲 Docker 的 Multi-stage build(多阶段构建)
  • 面试官:(追问)多阶段构建除了减小镜像体积,对代码安全性有什么帮助?
  • 面试官: 你知道 Docker 是利用 Linux 内核的哪些机制实现隔离的吗?(Namespace / Cgroups)
  • 面试官: 假如容器内的 Go 程序发生了 OOM(内存溢出),你应该去哪里看报错日志?
#寒假实习##发面经攒人品#
全部评论
蹲后续结果
点赞 回复 分享
发布于 今天 19:03 广东

相关推荐

牛客41406533...:回答他在课上学,一辈子待在学校的老教授用三十年前的祖传PPT一字一句的讲解,使用谭浩强红皮书作为教材在devc++里面敲出a+++++a的瞬间爆出114514个编译错误来学这样才显得专业
点赞 评论 收藏
分享
评论
1
收藏
分享

创作者周榜

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