2026-10-30 13:35:54
该面经主要围绕候选人参与好特卖2025年Golang实习岗位的面试过程展开,涉及项目经历、技术知识、实习动机、业务了解、数据结构与算法、前端知识、到岗与实习时长、薪资期望以及面试官建议等多个方面。具体内容如下:
高性能网关系统:候选人出于将所学技术落实到“完整且有意义”的产品化开源项目上的目的,观察到Nginx性能强但链路和配置复杂,选择用Go在高并发场景下自研可复用的高性能网关。参考常见架构模式后自己实现。
JWT/OAuth相关:系统实现无状态鉴权,每个租户有唯一密钥,客户端发起请求时在HTTP Header写入密钥,请求到网关后,网关调用鉴权模块从数据库读取用户信息核验,校验通过后生成并返回Token,后续所有代理请求在Header附带该Token,网关侧先鉴权再转发。不过候选人在回答时混用了“JWT / OAuth 2.0”的说法,且记不清所用JWT库版本。
实习期望:候选人希望在实习中多接触“高并发业务开发”,而不只是做“轮子”。
实习状态:目前仍在职,但准备离开,原因是当前实习无转正通道,将专注找工作。
公司业务:公司致力于AI在企业的落地,使用“大模型”,算法侧用Python,工程与系统主体用Go,主要通过接口/服务调用完成对接。
技术选型原因:选择Go语言是因为其简单、跨平台编译方便,与Java/Python相比差异没那么大,选型更偏工程效率。
图的最短路:候选人提到DFS/BFS,对于最短路问题说到Dijkstra算法,印象中是用堆辅助,但细节记不清。
堆的性质:只笼统提到最大堆/最小堆,未能展开性质与下标关系。
快速排序:知道时间复杂度为O(n log n),但原理一时想不起来。
“栈”这题时间复杂度:回答为O(1),因为只操作“尾元素”,不需要遍历底层数组前端。
应届生提升方向:面试官建议候选人多写程序、多做项目,后面代码题完成度还可以,但前面静态题错误较多,主要是代码量不够导致理解不牢,两条路都行,即多刷题或多做工程,增加“见过的场景”。