最近在尝试看找找新的机会, 连着面试了几家, 几乎都问了上述问题.

可能是我比较菜, 资历尚浅吧, 我好像没遇到过什么值得大书特书的情况.

面试过程中, 我试着从 Go 语言的特性入手回答:

1. 避免运行过程中不可 recover 的 fatal error, 例如 map 的并发读写.
2. 资源泄露的问题, context 的使用方面.
3. 一些性能敏感场景的注意点, 例如序列化/反序列化, map/slice 的扩容等等.

听了我的回答后, 显然面试官并不满意.

想问问万能的f友, 这样的问题到底想问什么呢, 该如何回答才能让人满意呢?
举报· 167 次点击
登录 注册 站外分享
12 条回复  
zhujinliang 小成 2024-10-28 16:16:42
感觉面试官就随便一问,想引个话题或者混一下时间。这种问题太宽泛了,也考验面试官反应能力,你说一个,他找不到继续话题的点,那就下一个话题呗
keakon 小成 2024-10-28 16:11:56
@jorneyr 印象中 []uint8 会被当成字符串,需要声明成 []uint16 ,然后需要用到 uint8 和 []uint8 时得来回转换格式。
beyondsoft 小成 2024-10-28 16:04:49
这个时候就得吐槽下 golang 的泛型
Felldeadbird 小成 2024-10-28 15:52:03
我遇到最典型就是 前端和 go 对接,前端如果提交了对象,因为 go map 是无序的。如果我也跟着返回一样的结构,前端去处理的话,渲染页面的顺序可能会有变化。 要么和前端说好,统一返回数组,非对象。
caola 小成 2024-10-28 15:37:59
@jorneyr #6 照你这么说,两个整数相除结果永远是整数,想要小数还必须得把整数转为 float64 才能相除
PTLin 小成 2024-10-28 15:34:10
xxx 场景遇到了 xxx 瓶颈,使用了 pperf 等分析工具发现是语言 xxx 的问题,通过阅读 runtime 源码定位到了是 xxx 的问题,根据 a 以及 b 还有 c 优化了代码解构,解决了这个问题。
jorneyr 小成 2024-10-28 15:28:53
{ "age": 10 },反序列化得到 map[string]any 的时候,不能 value.(int32),不能 value.(float32),需要 value.(float64),这个比较坑。
tbxark 初学 2024-10-28 15:27:59
直接回答 《 100 个 Go 语言典型错误》 中 100 个典型错误.
ninjashixuan 小成 2024-10-28 15:23:32
But useful
12下一页
返回顶部