网易Java岗社招面经分享
1、自我介绍和项目经历介绍。
2、RPC框架和普通http有什么区别和优势? 基于Tcp封装还是http封装的?
(1)1、RPC是一种API,HTTP是一种无状态的网络协议。RPC可以基于HTTP协议实现,也可以直接在TCP协议上实现。
(2)RPC主要是用在大型网站里面,因为大型网站里面系统繁多,业务线复杂,而且效率优势非常重要的一块,这个时候RPC的优势就比较明显了。
(3)HTTP主要是用在中小型企业里面,业务线没那么繁多的情况下。
(4)HTTP开发方便简单、直接。开发一个完善的RPC框架难度比较大。
(5)HTTP发明的初衷是为了传送超文本的资源,协议设计的比较复杂,参数传递的方式效率也不高。开源的RPC框架针对远程调用协议上的效率会比HTTP快很多。
(6)HTTP需要事先通知,修改Nginx/HAProxy配置。RPC能做到自动通知,不影响上游。
(7)HTTP大部分是通过Json来实现的,字节大小和序列化耗时都比Thrift要更消耗性能。RPC,可以基于Thrift实现高效的二进制传输。
3、rpc是长连接吗?如果要传输一个特别大的文件 底层还是基于流吗?
4、Nio是一个什么IO模型?
5、github了的watch star fork
6、异常和error的区别,oom是error还是异常?什么东西分配在堆上和栈上?
7、“只对堆进行gc ”这句话对不对?调用system.gc()马上就执行gc吗?
8、缺页中断,分页地址转换,内存抖动;
9、linux的fork指令对数据的拷贝是马上就拷贝的吗?
10、linux看网络状况用什么 看日志用什么?
11、拥塞控制以及里面的算法?流量控制的协议
12、Ping命令做了什么?基于那一个层?ping是哪一个层的?
13、Mysql和Redis最大的区别? MyISAM和InnoDB的区别?
14、Redis 的实现。为什么这么高性能?
15、set kv键值对进去的时候,kv键值的长度是不一样的 你觉得底层的数据结构是一样的吗?
16、持久化的策略 长久下来aof文件会很大 怎么办?
17、InnoDB行锁的分类 (其实就是排他锁和共享锁)
18、Select from update 是什么效果?事务你平常是怎么处理的?
19、两个队列实现一个栈、圆里均匀地生成点(极坐标系)
20、ps命令的底层实现?
21、类加载器;
#网易##Java工程师##社招##面经#