海能达golang开发一面记录

面试时长:20分钟

1. 简历拷打(一个go-zero项目,一个Java项目)

2. golang底层实现

经典GMP模型

(顺带扯了一点golang之前使用的GM模型)

3. 切片扩容机制

扩容机制分两种:

1.18版本之前在1024之前是翻倍处理

1.18版本后基于一个扩容因子去处理

(整体遵守小容量扩容倍数大,大容量扩容倍数小的特点)

4. golang的GC机制,以及好处

三色标记法(黑色,白色,灰色),只会清理白色

5. GC的时机:

分成三种条件:
①间隔时间触发: 默认间隔两分钟
②内存容量达到阈值触发: 初始阈值有点忘了,但是下一次触发的阈值会是这次内存阈值的2倍
③主动触发:调用runtime.GC

6. 网络相关(自己主动找话题的,因为自己做了相关的项目,大家可以参考)

① quic协议和h1和h2的不同
②h2和h1的不同(注意:在h1中其实更新了多个http请求复用一个连接)
③quic协议相较于h2的优点(本来还有缺点的,但是时间问题不能说完,quic的缺点就是会被误认为是DDOS攻击而被中转服务器或者目标服务器主动丢包,还有一些防火墙策略)

#技术岗笔试题求解##海能达校招##2025春招##面试#
全部评论
在哪投的
1 回复 分享
发布于 03-14 20:53 四川

相关推荐

头像
09-21 16:59
已编辑
门头沟学院 Unity3D客户端
1. 请描述一下你使用C#语言的经验,包括你在实习中的具体工作。2. 你能否详细解释GC机制?3. 你能比较一下Unity的GC机制和C#标准GC的不同之处吗?4. 装箱和拆箱操作是如何影响GC的?请举例说明。5. 在你的项目中,你通常使用哪些数据结构和算法?6. 你是否有手写数据结构的经验?你通常如何实现?7. 请设计一个计时器,它能够根据指定的时间间隔和调用次数工作。8. 你如何优化大规模任务的计时器设计?9. 请分享一个你在实习期间参与的项目,并详细说明它如何优化性能。10. 递归可能导致哪些问题?你如何避免这些问题?11. 你平时玩哪些类型的游戏?最近玩了哪些游戏?12. 你最近阅读了哪些技术书籍?《CLR via C#》这本书给你哪些启发?13. 比较浮点数时,为什么需要考虑误差范围?你是如何进行比较的?14. 请解释帧同步和状态同步的概念,并讨论它们在多人游戏中的应用。15. 在多人FPS游戏中,你如何实现延迟补偿和预测回滚?16. TCP粘包和分包问题是如何产生的?你有哪些处理方法?17. 广度优先搜索和深度优先搜索在数据结构和实现上有哪些不同?18. 你是否有处理大规模数据或高并发系统的经验?如果有,请分享一些案例。19. 你如何评估和优化代码的性能?请提供一些你使用过的工具或方法。20. 在你的实习经历中,你学到了哪些团队合作和项目管理的技能?21. 你如何处理工作中的压力和挑战?请提供一个具体的例子。22. 你对未来的职业规划有何看法?你希望在技术领域达到什么目标?23. 你是否有参与开源项目的经验?如果有,请分享你的贡献和学习。24. 你如何保持对新技术的持续学习和关注?请谈谈你的学习方法。25. 在你的技术生涯中,你遇到过哪些挑战,你是如何克服的?
查看25道真题和解析
点赞 评论 收藏
分享
评论
6
17
分享

创作者周榜

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