java游戏服务器⾯试_30K⾯试服务器游戏开发岗位,你要的
答案都在这⾥!
前⾔
01 TCP 的核⼼意涵是什么?
TCP 是⾯向连接的可靠的传送协议。核⼼意涵就是⾯向连接与可靠,对于使⽤TCP socket⽽⾔我们要管理好socket的建⽴连接,断开连接等。同时对于业务逻辑⽽⾔TCP socket是可靠的不会丢包的,⽐如我发送ABCDE,这些数据包,不会出现丢包(ABDE)与乱序的情况(ACBED)。
go和java后端开发劣势02 为什么TCP需要封包拆包协议?
应⽤层每次发送数据都会被开发⼈员认为是⼀个独⽴的数据包,可是在底层由于TCP是可靠的传送协议,每次发送数据都要收到确认,所以底层有可能把应⽤层的两个数据包合并在⼀起发送。发送到另外⼀段的时候,可能⼀次收到两个应⽤层的数据包,⽽我们解析这些数据包的时候需要分成两个,所
以我们在发送TCP命令包的时候要⽤标识能分开这两个数据包。所以就需要我们加⼀个封包拆包的协议。
03 TCP 如何设计封包与拆包协议?
设计TCP封包拆包协议主要有两种⽅式,⼀种是⼤⼩+内容模式+校验模式,⼀种是特殊的分割符号的模式,⽐如rn, http协议就采⽤的是rn 来进⾏分割。
04 Redis 在游戏服务器开发中有什么作⽤?
Redis 在游戏开发中主要作⽤有:作为mem cache 数据库,将数据缓存到内存⾥⾯。Redis的订阅与发布系统可以作为多游戏服务器之间通讯的⼯具。Redis的有序集合等可以作为游戏的排⾏榜。
05 UDP的优点与缺点分别是什么?
UDP传送数据速度快,性能好,缺点是UDP发送完数据就不管了,数据传送中有可能丢包,同时数据包⾛的⽹络路径可能不⼀样,会导致先发的数据包后到,后发的数据包先到,这样就没有正确的时序性。
06 游戏服务器开发采⽤什么样的编程语⾔好?
⽬前市⾯上平游戏服务器的主流的变成语⾔分别如下。
第⼀档: C++ 与Java。占据了企业招聘⾥⾯的绝⼤部分;
第⼆档: Go, Python, C#, PHP, Node.js, Lua。
07 什么是弱联⽹游戏?
弱联⽹游戏指的是玩家游戏的时候只是⾃⼰⼀个⼈完,不涉及多⼈同时交互,这种我们叫做弱联⽹游戏,同时也提供⼀些联⽹的功能,⽐如购买道具,社交,公告,邮件,排⾏等等。
08 游戏服务器开发主流的⾼并发⽅式有哪些?
游戏服务器开发对性能要求⾮常的搞,同时要⽀持⾼并发,充分发挥硬件性能,提升⾼并发发挥硬件性能,游戏服务器有两种模式的架构,⼀种是多进程单线程架构,⼀种是多进程多线程架构。、
09 游戏服务器⽤Linux还是Windows操作系统?
⽬前主流的游戏服务器都基于Linux操作系统的,因为Linux操作系统⼀直做服务器,并且很多主流的代码模块框架都是优先基于Linux的,⽐如Redis等,所以⼀般游戏服务器都⽤Linux作为服务器的操作系统。
10 游戏服务器开发如何调试?
游戏服务器开发对开发⼈员的要求⾮常的⾼,特别是线上环境,处理的数据量⽐较⼤,所以断点调试这种⽅法,不⼤适合服务器。服务器⼀般采⽤的调试就是打印查看⽇志。通过⽇志来分析对应的问题。所以⼀个好的⽇志系统对于服务器来说是⾮常重要的,当然没有断点调试就对开发⼈员要求更好,对程序把控的能⼒更强。
服务器⾯试问题第⼀批10个问题就是这些,后期陆续还会有laya和服务器的问题解疑⼀⼀呈上,需要资料的⼩伙伴欢迎在下⽅评论区留⾯试获取!
⾔,或私信⾯试
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论