当前位置: 首页 > news >正文

面试心得总结ing版

1.rpc框架?常见的rpc框架组件?rpc框架与http框架的区别?

   rpc框架是远程服务调用框架,简单来说,就是在同一个网络下,服务a可以调用服务b中的某个接口。底层利用tcp协议(传输层)建立网络通信,相比于http通信(应用层)来说效率更高。

  整个过程是注册中心、服务提供方、服务调用方,提供方将服务注册到注册中心上,调用方通过注册中心来调用,实现了端到端的通信,提供方需要不定时的像注册中心发送“信号”,证明服务的可用性,否则注册中心会认为该服务已经不可用,提供方及时的取消注册可以让注册中心及时通知调用方,取消订阅。

  在实际传输中经过了:建立通信( tcp建立连接)—>网络寻址(redis或zookeeper组件来寻找提供方的路由地址)—>网络传输(序列化/反~)—> 服务调用。其中反序列化将二进制字节流转换成对象之后,还用到了动态代理来生成Proxy类对象完成调用。

   二者相比较来说,rpc框架传输效率高,稳定性高,性能开销小;http协议适合版本开发迭代快的场景。

  常见的rpc框架的技术:dubbon、feign、RESTFUL等。

2.CopyOnWriteArrayList的实现原理?

CopyOnWriteArrayList是线程安全的的List接口的实现类,采用了Reentrantlock锁对增、删、改操作加锁,对读操作不加锁的,也就意味着CopyOnWriteArrayList实现了读写分离,适用于读多写少的的场景,在写操作时是通过复制出新数组,再将修改后的值挪过去达到目的的,所以会带来内存上的消耗,效率比Vector高,但是允许读写分离也就意味着,它会出现数据不一致的情况,保证的是数据的最终一致性,而不能保证数据的强一致性。

3. MyIsam和Innodb数据库引擎的区别?

(1)前者是对整张表加锁,占用资源少,不容易产生死锁;后者采用行级锁,并发性高,容易死锁

(2)前者不支持事务,后者支持事务

(3)前者利用的是hash索引,仅支持精确查找,后者采用b+树索引,区间范围查找能力强。

4.函数式接口?

函数式接口是java8新特性,采用了@FunctionInterface注解修饰,函数式接口内只允许有一个抽象方法,可以搭配 Lambda表达式使用,类似于一个匿名函数的形式。

 

 

相关文章:

  • 模式识别与机器学习(十):梯度提升树
  • Iceberg: COW模式下的MERGE INTO的执行流程
  • 【小白攻略】php 小数转为百分比,保留两位小数的函数
  • FFmpeg常见命令行
  • 【知识点随笔分享 | 第九篇】常见的限流算法
  • Linux命令-查看内存、GC情况及jmap 用法
  • Linux可执行文件动态库依赖
  • MyBatis:Generator
  • EasyExcel使用: RGB字体,RGB背景颜色,fillForegroundColor颜色对照表
  • Python中Pandas详解之数据结构
  • 深度学习中的Dropout
  • 手把手教你使用 PyTorch 搭建神经网络
  • python使用selenium控制浏览器进行爬虫
  • 智能优化算法应用:基于材料生成算法3D无线传感器网络(WSN)覆盖优化 - 附代码
  • 如何利用flume进行日志采集
  • (salutation称呼)Mr., Mrs., Miss, Ms., Mx.,Jr.,Sr.,II,III,IV 分别是什么意思
  • Spring Boot + MinIO 实现文件切片极速上传技术
  • SQL面试题挑战06:互相关注的人
  • 【飞凌 OK113i-C 全志T113-i开发板】一些有用的常用的命令测试
  • react 路由v6
  • 在线代理访问/向日葵seo
  • 有那种做订单的网站吗/贵州整站优化seo平台
  • 泰兴网站建设开发/泰州seo
  • 中国制造网外贸站/建设网站
  • 各地好的深圳影视广告/北京网站优化
  • 制作自己的名字免费的/seo草根博客