网易游戏面试

本文介绍了网易游戏面试中的技术问题,涉及OSI网络七层模型、RPC服务与HTTP服务的对比、数据存储选择以及设计模式。讨论了Node.js的单线程与异步特性与Java多线程的区别,强调RPC在效率和解耦方面的优势,并列举了流行的RPC框架如gRPC、Thrift和Dubbo。面试还涵盖了数据结构、设计模式以及算法问题。
摘要由CSDN通过智能技术生成

2019.5.17

虐狗啦,,,

1自我介绍

2看你使用node,还会别的其他的后端语言吗,node和他们什么区别?

node单线程,java多线程

node是单线程处理所有的客户请求,io线程异步处理。java是多线程处理用户请求,一个线程处理一个用户请求

java强在计算。
node强在IO,并且同是js堆栈,对前端比较友好,而恰好在应用复杂后,前端需要来处理controller了,而Java做好接口服务的职责就好。
另一方面,node作为中间层,以异步的特性,也可以一定程度降低异构系统的差异化成本吧。

觉得很重要的一点是nodejs是单线程的,然后通过异步控制;而java是多线程的。

引用如下:

基于Node.js的Web应用程序主要遵循Java Web应用程序架构。主要区别在于客户端请求处理。

客户端请求将由单个线程处理,但在Node.js应用程序的情况下将异步处理。

使用Java,每个客户端请求将由单独的线程同步处理,因此它是多线程的。

3你觉得node适合做什么?

node适合做中间层

4redis和mysql的区别,什么数据存储在redis,什么数据存储在mysql,会话状态/购物车/客户的信息怎么存

会话状态放在redis,客户信息/购物车放在mysql

5两个服务之间的通信怎么做

http, rpc,socket

【rpc和http服务之间的差距,系统多了自然要用rpc,毕竟rpc消耗资源要比http小嘛,谁让人家工作在传输层嘞】

很长时间以来都没有怎么好好搞清楚RPC(即Remote Procedure Call,远程过程调用)和HTTP调用的区别,不都是写一个服务然后在客户端调用么?这里请允许我迷之一笑~Naive!本文简单地介绍一下两种形式的C/S架构,先说一下他们最本质的区别,就是RPC主要是基于TCP/IP协议的,而HTTP服务主要是基于HTTP协议的,我们都知道HTTP协议是在传输层协议TCP之上的,所以效率来看的话,RPC当然是要更胜一筹啦!下面来具体说一说RPC服务和HTTP服务。

OSI网络七层模型

在说RPC和HTTP的区别之前,我觉的有必要了解一下OSI的七层网络结构模型(虽然实际应用中基本上都是五层),它可以分为以下几层: (从上到下)

  • 第一层:应用层。定义了用于在网络中进行通信和传输数据的接口;
  • 第二层:表示层。定义不同的系统中数据的传输格式,编码和解码规范等;
  • 第三层:会话层。管理用户的会话,控制用户间逻辑连接的建立和中断;
  • 第四层:传输层。管理着
  • 0
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值