上海诺西Java面试题


1.外连接和子查询区别

       外连接和子查询最大的区别就在于外连接使用的join不需要在内存中创建临时表,效率比子查询高。
2.String的equals方法

     https://blog.csdn.net/qq_25827845/article/details/53868815
3.Mybatis的两种实现方式

       1)注解

        2).xml文件配置


4.Http和RPC区别

        RPC 跟 http 不是一个层次的概念。RPC 是 远程过程调用,RPC 包含传输协议和编码协议。http是超文本传输协议,RPC 也可以用http作为传输协议,但一般是用 tcp作为传输协议。用json作为编码协议。RPC的主要用在内部服务间的通信。我们常说的微服务架构就要用到RPC.
原文:https://blog.csdn.net/wangpengzhi19891223/article/details/81012443 

5.Dubbo与springcloud区别

       https://blog.csdn.net/anningzhu/article/details/76599875

      1)dubbo由于是二进制的传输,占用带宽会更少
      2)springCloud是http协议传输,带宽会比较多,同时使用http协议一般会使用JSON报文,消耗会更大

      3)dubbo的开发难度较大,原因是dubbo的jar包依赖问题很多大型工程无法解决

      4)springcloud的接口协议约定比较自由且松散,需要有强有力的行政措施来限制接口无序升级

      5)dubbo的注册中心可以选择zk,redis等多种,springcloud的注册中心只能用eureka或者自研(具体怎样我也不太清楚,看了           很多资料上有的说springcloud注册中心也可以用zookeeper,但是有的说需要自研,有懂得大神可以解答下)

6.hashmap底层原理

      1)底层结构是数组+链表+红黑树,根据元素key的hash值对数组长度取模。得到存储位置。数组是Entry[],

      2)hash碰撞就是两个对象的key的hashCode值一样,将数据采用链表的形式存储在相同的Entry[]节点,获取时通过equals遍历节点上的每个key,获取value。

7.String与StringBuffer,StringBuilder的区别?

      1)String是不可类,不适用于经常修改;

       2)StringBuffer和StringBuilder是字符串缓冲区,使用于经常修改的对象,但是StringBuffer是线程安全的,StringBuilder是线程不安全的,StringBuilder效率相对于StringBuffer较高,但是安全性不高,当不需要再进行修改的时候,可以直接用tostring方法将结果转成String类。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章