1. 自我介绍2. 介绍自己对内外网的认识3. 如果想要内网发数据给外网怎么做 (不知道,我回答的是使用内网穿透,花生壳这种)4. 对内网穿透了解多少? UDP点对点打洞了解吗?5. channel了解吗?无缓冲channel和有缓冲channel区别 ? 项目中channel使用情况?6. go的切片底层7. 有使用ai编程吗? 感觉如何? 如果让你使用ai编程,怎么开始?8. 如果ai生成的代码出错,或者不符合你需求,怎么改变?9. 问了项目websocket的部分10. 问了为什么选择go语言而不是java/c++11. gin问了如果url传的字段绑定失败了怎么办? 我项目是抽象了dto层去收前端的json请求,所以我说绑定失败直接打印错误,返回了。 我感觉应该是说如果用model层去接受前端请求,这时绑定失败是可以宽松绑定12. 项目的数据流 router -> handler- > service -> dao13. 为什么要依赖注入?14.1000 个用户,每个用户建立一次 TCP 三次握手,就有 3000 次 TCP 握手开销,怎么办?(回答的HTTP2.0, 一个TCP可以跑多个stream流,每个流有唯一流ID,应用层根据Stream ID区分。)15. 问了项目的帖子排行榜(主要说了怎么设计的, 介绍了一下怎么获取热门帖子,ZSET的一个排序函数)16. 提了一下策略模式, 帖子列表支持热度排序和时间排序17.查数据时并发怎么保证? (用redis的Setnx做一个短锁,没抢到的自旋等待,抢到锁的读库,写入缓存没有缓存空值)18. defer执行顺序, defer中值的初始化时间?19 关闭的channel能读数据吗? 能关闭已经关闭的channel吗? 向已经关闭的channel发数据会怎样?总结: 因为准备时间比较短40天, 也是也学越焦虑。就想去试试水,体验还不错。 建议: 打牢基础,技术广度可以拓宽下。 大模型知识挺喜欢问的,可以背一背。