2019.11.15 Java面试感觉总结

2019.11.15面试感觉总结
11.15面试总结:今天上午面试一家
一、面试的主要问题有,面试的时候
1.项目是如何部署的,有多少个节点
2. quartz的实现原理是什么
3.使用mq如果消息生产者正常发送消息到MQ上,但是消费者拿到这个消息后,服务突然挂掉了,为了保证一直性,消费者要如何做
答:如果是 rabbitmq
C:消费者弄丢了数据
使用rabbitmq提供的ack机制,首先关闭rabbitmq的自动ack,然后每次在确保处理完这个消息之后,在代码里手动调用ack。这样就可以避免消息还没有处理完就ack。

如何确保ActiveMQ的消息不会丢失呢?
除了消息持久化,还要取决于ACK的返回,主要设置服务器session。默认是Session.AUTO_ACKNOWLEDGE,客户端onmessage监听到接收后,返回ACK给服务器。这样就能保证消息不会丢失了。
(还有其他设置,Session.CLIENT_ACKNOWLEDGE ,客户端主动调用acknowledge 方法签收消息,第三种是Session.DUPS_OK_ACKNOWLEDGE 此选项指示 Session 不必确保对传送消息的签收.)

4.JDK中的util包下的方法有哪些
答: 包含集合框架、遗留的 collection 类、事件模型、日期和时间设施、国际化和各种实用工具类(字符串标记生成器、随机数生成器和位数组、日期Date类、堆栈Stack类、向量Vector类等)。集合类、时间处理模式、日期时间工具等各类常用工具包。

主要接口及其继承关系如下:
SortedSet --> Set --> Collection --> Iterable
List --> Collection --> Iterable
SortedMap --> Map
常用类及其继承关系如下:
HashSet/LinkedHashSet --> Set
TreeSet --> SortedSet --> Set
ArrayList/LinkedList --> List
HashMap --> Map
TreeMap --> SortedMap --> Map

5.mybatis中大小比较是怎么做的
答:在mybatis中大小比较的要使用,转义字符

6.高并发编程有做过吗
答:什么是同步?什么又是异步?
解析:这是对多线程基础知识的考察
答:同步和异步通常用来形容一次方法调用。
同步方法调用一旦开始,调用者必须等到方法返回后,才能继续后续的行为。这就好像是我们去商城买一台空调,你看中了一台空调,于是就跟售货员下了单,然后售货员就去仓库帮你调配物品,这天你热的实在不行,就催着商家赶紧发货,于是你就在商店里等着,知道商家把你和空调都送回家,一次愉快的购物才结束,这就是同步调用。
而异步方法更像是一个消息传递,一旦开始,方法调用就会立即返回,调用者就可以继续后续的操作。回到刚才买空调的例子,我们可以坐在里打开电脑,在网上订购一台空调。当你完成网上支付的时候,对你来说购物过程已经结束了。虽然空调还没有送到家,但是你的任务都已经完成了。商家接到你的订单后,就会加紧安排送货,当然这一切已经跟你无关了,你已经支付完成,想什么就能去干什么了,出去溜达几圈都不成问题。等送货上门的时候,接到商家电话,回家一趟签收即可。这就是异步调用。

你可能感兴趣的:(2019.11.15 Java面试感觉总结)