华橙网络-C++后端-一面-2025秋招

就面了15分钟,因为有项目是go,所以问了

  1. 你这个(Go 的)模型能讲讲吗?— 候选人:好的。Golang 的 GMP 调度模型是 Go 运行时(runtime)管理的协程调度机制。G、M、P 分别代表 goroutine(G)、OS 线程(M) 和 逻辑处理器(P)。使用 go 关键字启动一个协程后,协程会先进入工作队列并绑定到某个 P,然后由运行时把该 P 调度到具体的 M(线程) 上执行。协程切换开销小,初始栈空间也很小。
  2. 这个GMP模型和线程的关系是什么?— 候选人:Go 运行时维护 G–P–M 的绑定与调度关系:goroutine 先与 P 绑定,再由运行时把 P 绑定到 M 上运行,也就是把任务交给具体的 OS 线程执行。
  3. GC(垃圾回收)原理是什么?— 候选人:Go 的 GC 由运行时后台自动进行,主要基于三色标记法。大致步骤:STW 初始标记:从根对象开始标记为黑色,会有短暂 STW(Stop The World)。并发标记:与程序并发,从已标记对象出发递归遍历可达对象,把新发现对象标为灰色并继续处理。STW 重新标记:短暂停顿,处理剩余的灰色对象,完成标记闭包。并发清理:回收未被标记到的白色对象。
  4. 你项目里限流、熔断一般怎么实现?— 候选人:我先做流量统计,分 全站/服务/用户三种粒度,使用 Redis 以带前缀的 key 进行原子自增统计。限流使用 Go 标准库基于令牌桶的限流器,请求无法满足令牌条件时直接拦截并返回相应状态码和消息。熔断也做了(此处候选人未展开细节)。
  5. 你的“微服务架构高性能网关系统”是在实习公司里做的还是自己做的?— 候选人:主要是自己做的。
  6. 压测你是怎么做的?— 候选人:在 Linux 上用 wrk 压测:先启动管理服务,再启动网关代理服务,用 wrk 发送高并发请求,观察服务器可承载的最大请求量等指标。
  7. 你在“分布式 KV 存储”里也用了协程,协程库是 C++ 官方的吗?— 候选人:不是 C++ 官方的协程库,用的是开源脚手架来实现协程。
  8. 协程与线程(以及进程)的差别?— 候选人:协程是用户态的轻量级线程,切换在用户态完成,初始栈很小(比如 Go 协程初始栈 ~2KB)。线程是 OS 调度的最小单位,多个线程共享进程地址空间,切换涉及内核态/用户态转换,开销更大;一个线程崩溃可能影响同进程内其他线程。进程是 OS 资源分配的最小单位。

9.(追问)如何监控大量协程下的系统瓶颈或负载上限?— 候选人:主要通过日志输出 CPU/内存占用来关注。

10.(追问)在操作系统层面,用什么命令分析程序是否已到瓶颈?— 候选人:常用 top(配合管道与过滤)来关注进程/线程的系统资源占用。(候选人简要回答,未细化其它工具。)

  1. DNS 协议位于 TCP/IP 的哪一层?— 候选人:应用层。
  2. DNS 的解析过程是怎样的?— 候选人:DNS 用来把域名解析为 IP。解析流程一般先查本地缓存(浏览器、系统、路由器),都没有则向本地域名服务器查询;若本地域名服务器没有,则进入递归查询:从根 DNS → 顶级域 DNS(TLD) → 权威 DNS,得到结果后返回并缓存,最后返回给客户端。
  3. “域名解析托管”这个概念听说过吗?— 候选人:不了解(未接触)。
  4. TCP/IP 里的“流量控制”是做什么、怎么实现?— 候选人:为防止发送方发送速率超过接收方缓冲能力,通过滑动窗口机制实现流量控制。
  5. STL 常用容器:举一个你熟悉的,说说实现原理— 候选人:以 vector(动态数组)为例:底层是连续内存,支持动态扩容和基于迭代器的插入,尾部插入/弹出高效;在中间位置的插入/删除需要大量元素移动,时间复杂度 O(n)。
  6. 你还有什么想问的?— 候选人:如果能加入公司,您建议我再补充学习哪些技术?另外可能会负责哪一块业务?— 面试官:技术学习会围绕业务展开;岗位是 C++ 服务端编程,但具体方向需以校招集中安排为准。— 候选人:好的,没有其他问题了。

全部评论
c++的岗,怎么全是golang的问题
点赞 回复 分享
发布于 昨天 20:51 法国

相关推荐

09-25 14:51
湖南大学 Python
看牛客上没什么这家的面经 我来发一个在线下总共面了四轮 2h+ 有点漫长了属于是 但过程中不仅包中饭了 更是给等面的大伙买了瑞幸👍而且很非同寻常的是面试全程基本没问八股 过程中90%都和实习项目有关  非常关注ai coding技术一面:自我介绍项目拷打等aicoding的了解cursor使用经验用过其他哪些ai辅助ide实习经历中最困难的事情还有什么不记得了..一面无八股无反问无手撕技术二面:再次项目拷打cursor相关内容balabala具体的项目中用cursor解决的经历 这里应该要提现自己的思考 而不是单纯的只是用ai解决问题手撕如图 要求不允许暴力 (单调栈全忘光了😰)撕完出了一道智力题 海盗分金币(在知乎刷到过答案太激动了)然后问个人规划作为本科生为什么不考研个人成长经历等等 比较考察上进心问未来ai coding发展怎么看待反问三面vp面随便问了点个人规划 个人成长 三观方面的问题  然后就是反问   10分钟左右就结束了  面试官人很随和四面技术总管面有问到算法方面怎么用大模型处理一本书的输入(书全文太长怎么增加效率 怎么降低模型使用成本 这样一个模块整体应该怎么设计)问到专业课有哪些  有哪些与工作中用到的技术相关联的(楼主不是科班生 是学数学的)不记得了。。反问之后就结束了让我回去等通知 晚上会出来这是楼主第一次线下面,晚上觉都没睡好,状态不是很好就来面试了 没想到能撑到第四面👀👀👀
查看16道真题和解析
点赞 评论 收藏
分享
评论
1
2
分享

创作者周榜

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