2019年_BATJ大厂面试题总结-华为篇

本文汇总了华为面试中涉及的Java知识点,包括反射机制、数据类型与线程、内存管理、RabbitMQ组件解析、STL中vector与map的区别、Spring设计模式、多线程同步、网络传输过程、Java 1.8新特性,以及消息中间件、代码编写和并发编程相关问题。
摘要由CSDN通过智能技术生成

1.java的反射机制了解吗

答案:https://blog.csdn.net/qq_39209361/article/details/81239189

2.Java的数据类型,线程,内存

答案:https://blog.csdn.net/zj15527620802/article/details/80622314
https://www.cnblogs.com/skorzeny/p/6480012.html

3.rabbitMQ有哪些关键的组成部分?

publisher
publisher:发布消息
exchange
exchange:用来决定消息应该投递到哪些queue
queue
queue:用来存储并分发消息
consumer
consumer:消费消息
除此之外还有另外几个概念

routing_key
搭配binding_key用来过滤消息,这个属性会在消息发送时被决定
binding_key
用来绑定exchange和queue,和routing_key搭配在exchange决策哪些消息应该投递到哪些queue
exchange的类型:FANOUT,TOPIC,DIRECT
FANOUT:广播,此时binding_key和routing_key其实是无效的,消息将会投递到目标exchange绑定的所有queue上
DIRECT:消息将只会被投递到和routing_key一致的binding_key所绑定的queue上
TOPIC:和DIRECT相似,只是此时exchange的决策会考虑binding_key的通配符配置
详解:https://www.cnblogs.com/200911/p/4856835.html

4.STL中vector和map的区别,map底层如何删除一个元素

答案:
1、Vector是顺序容器,是一个动态数组,支持随机存取、插入、删除、查找等操作,在内存中是一块连续的空间。在原有空间不够情况下自动分配空间。vector随机存取效率高,但是在vector插入元素,需要移动的数目多,效率低下。
2、Map是关联容器,以键值对的形式进行存储,方便进行查找。关键词起到索引的作用,值则表示与索引相关联的数据。以红黑树的结构实现,插入删除等操作都在O(logn)时间内完成
总结:
1、如果你需要高效的随即存取,而不在乎插入和删除的效率,使用vector
2、如果你需要大量的插入和删除,而不关心随即存取,则应使用list
3、如果你需要随即存取,而且关心两端数据的插入和删除,则应使用deque。
删除:https://blog.csdn.net/wxm349810930/article/details/69663287

5.String,StringBuffer,聊了比较多的String相关的

源代码答案:https://www.cnblogs.com/kissazi2/p/3648671.html
详解:https://blog.csdn.net/shenhonglei1234/article/details/54908934

6.对Spring的理解,说说里面用到的设计模式

最详细的答案:https://blog.csdn.net/xunjiushi9717/article/details/

  • 3
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值