面试相关链接

1、大数据量的下拉列表

http://www.iteye.com/topic/707633?page=5

 

 

2、相关知识点:

0、java基础

1、统计

2、单点登录

3、电路图解析

     ddpowerzoomer  放大镜

4、图表amcharts 

5、抓取网站数据

6、权限控制

7、报表   JFreeChart

8、利用Java实现远程控制

9、正则表达式

3、SCJP试题:

http://www.100test.com/blist104/

 

4、javaeye :http://www.iteye.com/forums/tag/interview

 

5、IT面试笔试技巧http://job.51cto.com/art/201008/218398.htm

 

6、it公司面试题http://www.mianwww.com/html/category/it-interview/spring

基础试题:http://www.exam8.com/computer/djks/
### RabbitMQ 面试常见问题及解答 #### 1. RabbitMQ 中的消息如何防止丢失? 为了确保消息不丢失,可以采取多种措施。一种方法是在生产者端确认机制(publisher confirms),这使得应用程序能够知道消息是否成功传递到了队列中[^1]。 另一种方式是设置消息的持久化属性,在发送消息时指定其为持久化的,这样即使服务器重启也不会丢失这些消息。此外,还可以配置队列为持久化类型,以保障存储在其内的所有消息都具备持久特性[^2]。 最后,对于消费者而言,应当采用手动应答模式而非自动应答,从而只有当处理完成之后才会向RabbitMQ返回确认信息,避免因程序异常终止而导致未处理完毕的信息遗失。 ```python import pika connection = pika.BlockingConnection(pika.ConnectionParameters('localhost')) channel = connection.channel() # 创建一个持久化的队列 channel.queue_declare(queue='task_queue', durable=True) def callback(ch, method, properties, body): print(f"Received {body}") ch.basic_ack(delivery_tag=method.delivery_tag) # 设置预取计数器限制并发量并开启手动ACK channel.basic_qos(prefetch_count=1) channel.basic_consume(queue='task_queue', on_message_callback=callback) try: channel.start_consuming() except KeyboardInterrupt: pass finally: connection.close() ``` #### 2. 如何理解 RabbitMQ 中的 Exchange 和 Binding Key? Exchange 负责接收来自生产者的原始消息,并依据绑定键(binding key)与队列之间的映射关系决定应该将该条目转发至哪些目标位置。Binding keys 实际上是用来匹配 exchange 到具体 queues 的规则集的一部分。每一对 (exchange, queue) 可能存在多组不同的 bindings,而每个 binding 至少包含了一个binding key[^3]。 例如 Direct 类型交换机会精确对比 routingKey 和 bindingKeys 是否完全一致;Topic 类型则支持通配符语法来进行更灵活的消息过滤。 #### 3. Channel 在 RabbitMQ 架构中的角色是什么? Channel 是建立于真实的TCP连接之上的一种轻量级链接形式,它允许多个独立的操作共享同一个底层网络资源而不必每次都重新创建新的物理链路。所有的AMQP命令均需经由channels传输执行,而且每一个channel都会分配独一无二的身份标识(ID)。 值得注意的是,虽然单个OS进程可同时管理多个channels,但是针对某一条特定channel来说,其所承载的数据包必须保持严格的先后次序不变——这意味着同一时刻只能有一个线程操作某个具体的channel实例。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值