微派Golang服务器开发一面

1.那现在从产品的视角来分析一下这个世界频道的功能应该是怎么定义的世界频道(王者荣耀这类游戏的世界频道)以及讨论一下它的技术实现有什么难点

2.有没有了解过类似于QQ的群聊QQ的群聊是怎么实现的

3.那假设让你实现一个群聊功能服务器的逻辑是怎么样子的(或者说可以描述一下整个链路,就是客户端一个用户发了一条消息开始,完整的数据传输流程,流转流程是什么样子)

4.那在这个过程中服务器的作用就是将收到的消息转发给其他的用户对吧那你能详细说一下这方面的细节吗(是怎么转发的)

5.那假如现在让你设计让你设计一个QQ,你会怎么设计这样的一个整个的系统流程来保证在线的用户可以实时收到一个消息然后不在线的用户也可以在下一次上线的时候看到历史的群聊消息

6. OK那刚才你提到了一个客户端接收消息的机制那这个应该是一个什么样的呢?(这个群聊里有ABC三个人,A发了一条消息然后服务器把这个消息推送给谁,那这个推送一般是用什么技术或者什么协议实现)[可以使用websocket或者简单一点的话也可以直接使用TCP]

7.刚才我们有提到就是在线的任务和离线的那怎么区分在线还是离线呢?(它其实就是可以通过TCP的饭店接吗他只要一直连着我的服务器那他就是在线)(面试官告诉我的一个过程:在线的用户要能实时收到消息,然后不在线的用户在上面之后也要看到这个历史消息,所以简单的完整的时间流程就是当a发了消息之后,就把这个消息存到这个群所对应的数据表里,然后再对每个人维护一个已读状态,然后如果这些人在线的话就单独更新一下,比如状态为一组就可以同时通过在线的这个TCP长连接把消息给它推出去,然后那些不在线的人在上线的那一刻就可以根据他的这个所有未读的消息整体做一个拉取然后已读之后再给它标记为已读就可以)

8.那从这种情况回到刚才所聊的世界频道那世界频道和群聊在功能和实现上会有什么不同的地方(我回答了规模,历史信息是否保留)

9.客户端什么时候知道能够去拉取这条消息

10.有点像是刷帖子的意思就是我打开刷新,然后就主动拉取一次最新的消息,那假如我现在就一直打开了这个页面了那最新的消息应该怎么去获得(这里我回答的一个机制类似于刷帖子一样,然后面试官问我如果我一直打开这个页面保留在那里,我该怎么获取最新消息)

11.或者我们反问一下就是从最开始出发他到底是真的是世界频道吗?(我这里回答可能是频道是划分了多个小频道然后的话可以根据地区可以根据时间戳来去划分)

12.Java的JIT是什么

13. Java的一段源代码从你写出来到最终执行这段过程发生了什么(可以回答牛客的那个面试专题部分的内容)

14. Java将源代码编译成字节码之后交给JVM,那么我们C++中会编译成可执行文件交给机器执行这两个流程之间有什么不同

15.现在具体到一条赋值语句int a = 1+3;这条语句在C语言中编译成了二进制的机器码,然后直接运行这个程序然后在Java中编译成了字节码交给jvm,这两段运行的过程有什么区别

16.Java的int和Integer有什么区别

17.在这个转换的过程中有没有踩过什么坑(我回答了基本数据类型和包装类然后说了一下自动拆箱和装箱他就问在这个转换过程中有没有坑,我回答了如果自动装箱或拆箱的次数过多会导致性能不好)

18.假如现在我们都使用integer那么两个之间的比较是使用==号吗?(围绕了equals()和==讲了一下)

19.使用==比较integer的时候,明明两个内存地址是不一样的但是最终比较的时候是相等的(我回答了常量池这部分的知识)

20.常量池是在哪里维护的(我回答了元空间(也就是堆))

21.常量池我是怎么了解到的(我就回答之前遇到过相似的题目我就好奇为什么会这样子明明两个数相等但是比较出来的结果却是false进而去了解了常量池,还回答了常量池的作用)

22.有没有看过关于Java的源代码比如说常量池部分的实现(我说我看过关于Redis部分的,就是使用Lua脚本部分,还回答了AQS部分,但是这个我是一带而过了)

23.讲一下你看过的Redis的源代码以及收获(我这里就回答了我看过他底层的LUA脚本,Redis怎么去使用这个脚本来实现单线程以及其他的一些原理,锁的部分也提到了一点点(不过我确实有点忘记了))

24.手撕题leetcode 523连续子数组和:
给你一个整数数组 nums 和一个整数 k ,如果 nums 有一个 好的子数组 返回 true ,否则返回 false:
一个 好的子数组 是:
长度 至少为 2 ,且
子数组元素总和为 k 的倍数。(我讲了一个思路,而且刚刚开始还理解错了)

25.反问,没什么好说的,因为觉得自己肯定没了,也没多问
#微派网络# #微派# #面试# #牛客AI配图神器#
全部评论
好难🤯
1 回复 分享
发布于 2025-08-19 12:16 北京
佬过了么
点赞 回复 分享
发布于 2025-10-18 11:30 湖北
题量好大
点赞 回复 分享
发布于 2025-09-16 13:25 陕西

相关推荐

04-13 15:31
门头沟学院 Java
某游戏厂,面了 1h。大部分时间都是问纯八股,项目一点没问,手撕也很简单,网上搜到的面经大部分是C++八股文轰炸或者项目拷打。是不是因为一开始就对我不感兴趣所以干脆不为难我了面经如下:自我介绍游戏经历主要编程语言(我说的Java 但是岗位写的是C++/GoLang)求职方向是后端,为什么选择游戏服务器开发有Linux使用经历吗(项目部署)用过的Linux命令查看文件用什么命令,查看大文件呢?租服务器会关注服务器配置吗,如何确定这个配置能够满足项目部署的需求?会分析服务器使用情况吗(CPU、内存使用率),如何定位具体的线程资源使用情况?讲讲数组和链表结构、常用操作、时间复杂度为什么数组支持随机访问(内存连续+偏移量)讲讲栈和队列结构、区别、应用讲讲RabbitMQ如何用数组实现队列讲讲哈希,平时用过哪些哈希的数据结构哈希表的key如何获得什么是哈希冲突哈希底层原理了解吗面向对象三大特性现场写一下多态的例子讲讲平时用过的设计模式手撕反转链表、反转字符串反问的时候面试官说我可以自信一点()最后给点建议吧:纯八股 + 项目一点没问,大概率不是“不感兴趣所以不为难你”,更可能是:1,面试官习惯按固定流程走,先筛基础2,或者他觉得项目跟岗位匹配度不高,问了也白问,3,面了一个小时还给建议,说明你至少过了他的及格线。别自己加戏
查看23道真题和解析
点赞 评论 收藏
分享
04-13 09:20
已编辑
电子科技大学 C++
自我介绍 实习1. 去上一家公司实习的目的?2. 为什么离职?3. 上一家公司职场氛围和交流氛围如何?4. 上一家公司实习主要的工作背景和产出?5. 介绍一下上一家公司实习的背景和原理6-12. 实习拷打13. 上一家公司有没有 AI 提效工具?有没有 AI 培训?其他员工有没有相关的使用经验?14. 你为什么在实习开发中使用 AI 工具吗?15. 总结一下上一家公司实习你的收获是什么?16. 实习期间,你遇到最困难的一个点?你是如何解决的?项目1. Raft 项目的动机是什么?算法无闲聊1. 你转专业了吗?还是自学?2. Golang 和 C++ 哪个用得比较多?3. 面试官介绍 Golang 和 C++ 在后端和鸡架开发之间的差异...4. 能实习多久?专业其他同学的规划是读研还是就业?5. 你为什么想要就业?你不用上课吗?6. 有没有想过跨考?7. 反问总结第一次约面后,面试官临时有会,面试前 5 分钟取消会议。推迟了一天,然后又迟到 10 分钟。自我介绍完就感觉像是 KPI 面了,不过没关系,感觉还是很好为人师的面试官,反问环节直接让他帮我把从 C++ 到 Golang 学习路线规划了一下,也请教了一下应该阅读哪些书籍。
发面经攒人品
点赞 评论 收藏
分享
评论
1
21
分享

创作者周榜

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