米哈游 服务器开发(实习) 一面面经

3月13日参加的笔试,笔试大概包括以下几个部分:
1. 多项选择:包含计算机基础,和一些C++题,C++题有些直接就蒙的
2. 编程题:两道,难度不大
3. 场景设计:投的岗位不同题目也不同,服务器开发的话是设计类似王者荣耀的5v5匹配系统,设计相关数据结构和函数,虽然上面是C++的模板,我硬是用golang在写。。

3月23日进行的一面,是电话面试,30分钟

1. 问C++相关背景(米哈游的服务器开发那边应该C++比较多),我表示很少用C++
2. 请简单介绍一下快速排序,说一下时间复杂度;平均复杂度O(nlogn)是如何算出来的
3. 算法设计:有N个数,求其中前K个数(TopK),说一下时间复杂度,O(nlogk)如何计算的
4. 算法设计:有N+1个数,这些数大小是1-N,只有一个数出现两边,请找出这个数
这里我说了三个办法:bitmap;哈希表;把出现过的数对应的下标位置的数取反,最后只有一个位置的数是正的;
5. 算法设计:简述一下Dijkstra算法,该算法能否处理负权值边的情况?如果希望能处理负权边,该怎么办?
6. 有什么算法可以检测出图中的环?
我说了个拓扑排序,但这个应该是只能检测有向图的,但面试官没追问我无向图的情况
7. 说一下python,python中的numpy数组和python中的列表有什么区别,这里是因为我在简历里写了我用过这些库
8. 机器学习你用的什么库?Keras是上层的库,下边的是实现是什么(我用的是TensorFlow)
9. 说一下python里的装饰器
10. 你知道printf怎么实现的吗?(完全不知道。。。)
11. DNS基于什么协议?为什么要采用UDP协议?
12. TCP连接结束时的TIME_WAIT状态有什么用
13. HTTPS基于的SSL连接是如何结束的?()
14. Redis中的跳表是实现什么数据结构的(ZSET)?具体是如何实现的
15. Redis里哈希表重哈希策略是怎么样的?
这里我说我不了解,但知道Java里的Hashmap的重哈希实现,面试官就让我说了Java里的,我也顺便说了下go里的map实现
16. Docker里的容器和镜像分别是什么?
17. Go里的调度模型有GMP的概念,解释一下,并说一下go的调度过程
这个要说的话真的有点长,这里我说了一半就被打断了,可能面试官也不是特别了解?要么就是我说错了被面试官发现了。。。
18. Go的调度模型里为什么要有P?
19. 你为什么想做游戏服务器开发呢?你对游戏怎么看?
XX. 项目一些细节,每个项目都问了点,

反问环节:
1. 服务器开发和网站上的Golang服务器开发有什么区别
米哈游的服务器开发主要和游戏相关的,Web开发的话会用Golang多一点

大概就是这样,有些问题没答上来比较可惜
#米哈游##实习##面经##校招#
全部评论
图的算法也问吗
1 回复 分享
发布于 2020-03-30 16:57
楼主。。就是你的笔试两道编程题是啥呢。我的是正则表达式匹配和最少监控结点树。感觉好难啊。。也可能是我太菜了
1 回复 分享
发布于 2020-04-03 19:26
无向图,dfs,重复访问到。
点赞 回复 分享
发布于 2020-03-25 23:03
请问楼主笔试多长时间呀,是在牛客网上进行的吗😙
点赞 回复 分享
发布于 2020-03-26 08:06

相关推荐

小公司 实习 一天一100
点赞 评论 收藏
分享
#腾讯光子面经##软件开发笔面经#腾讯(光子工作室--后台开发1. 定义和声明的区别?2. 说一下static 3. 介绍一下const4. map 和list区别5. C++11的特性有哪些6. 静态库和动态库的区别7. 哈希冲突解决的方式有哪些8. C++怎么实现多态的9. 虚函数底层怎么实现的?10. 指针和引用的区别11. 线程和进程的区别?12. 协程呢?什么时候用线程,什么时候用协程13. malloc和new的区别14. SLT中,sort的第三个参数,判断相等的时候返回true 还是false为什么?15. STL中 vector是怎么扩容的?xia16. 介绍一下快排,是怎么实现的17. 快排有哪些不足的地方,怎么优化18. c++17的标准有用过吗?19. core文件怎么生成?20. gdb调试,怎么调试到线程级别的?21. mysql都有哪些存储引擎,介绍一下?22. Mysql 慢查询?23. mysql什么情况下会进行分库分表?24. TCP timeout?25. TCP 粘包26. epoll在不考虑服务器内存 网卡的情况下最大支持多少并发?27. 说一下简单的web服务器用C++怎么实现? Socket28. recv()函数返回值,什么错误是可以接受的?29. http建立连接的过程?30. 主机字节序和网络字节序31. Linux  命令 nm iostat ln32. 硬连接 软连接33. Perf 底层怎么实现的? 让你设计一个perf怎么做?34. 游戏服务器和客户端的连接,你觉得采用TCP还是UDP35. 为什么换实习了?36. 有了解那些分布式的架构吗(好像是这么说的)37. 介绍一下zookeeper 38. 说一下一致性哈希39. 说一下raft40. redis有了解吗。41. 我看你用过docker, 有用过k8s吗?42. 给你10亿个数据,怎么找出重复最多次的10个数Coding翻转对二进制求和给你10亿个数据,怎么找出重复最多次的10个数
查看45道真题和解析 软件开发笔面经
点赞 评论 收藏
分享
4 65 评论
分享
牛客网
牛客企业服务