Golang社招 ·一面 ·成都晓多科技Agent开发岗
- 时间
- 2026-08
- 来源
- 牛客网
《面试题目》
- 面试+手写时间40分钟的样子。感觉面试官不是一线开发,还是做Java的,全程翻东西问八股
- 看你前端、后端、软件、硬件都有涉及,主要做哪一块?主要用什么语言?
- 后端,go
- 近期做的项目是什么?
- P2P隐蔽控制网络
- 这个项目中负责的什么工作?
- go的参数传递方式是什么?
- ??神人问题,我都蒙了。回答的值传递和指针
- slice的底层结构是什么?
- 不知道,没看过底层。(其实早就忘了
- new和make的区别
- map可以new吗
- 可以,但是一般不会这么去声明
- 数组和切片的区别
- 数组定长,切片可变,动态扩容
- 讲一讲go的动态扩容
- 具体搞忘了,大致讲了讲原理。go低版本和高版本扩容是不一样的。
- 在1024前是按约定的几个容量直接扩容,1024之后是*2。
《参考解析》
- Redis常用于缓存、分布式锁和计数。缓存与数据库更新通常采用“先写数据库、再删除缓存”,并通过重试、延时双删或消息补偿处理删除失败。
- MySQL索引通常使用B+树,叶子节点按顺序连接,适合范围查询;设计索引时结合选择性、最左匹配原则和执行计划,避免无效索引与回表开销。
- 并发问题应先明确共享状态和一致性边界,再选择锁、CAS或队列。线程池需要根据任务是CPU密集还是IO密集设置核心线程数、队列容量和拒绝策略,并监控活跃数与队列长度。
- TCP通过三次握手建立连接、四次挥手释放连接;HTTPS在TLS握手中协商会话密钥,并用证书校验服务端身份,数据传输阶段主要使用对称加密。
- Agent或RAG链路应记录工具调用、检索证据和失败原因;对非法参数、路由错误和超时设置校验、重试上限与可观测日志,避免把模型输出直接当作可信结果。