消息队列是怎么实现不可重复消费的?

JMS规范目前支持两种消息模型:点对点(point to point, queue)和发布/订阅(publish/subscribe,topic)
在点对点模式中,消息生产者生产消息发送到queue中,然后消息消费者从queue中取出并且消费消息。
消息被消费以后,queue中不再有存储,所以消息消费者不可能消费到已经被消费的消息。Queue支持存在多个消费者,但是对一个消息而言,只会有一个消费者可以消费。
这一系列操作是怎么实现的?一条消息被消费之后,是怎么删除的?是怎么保证一条消息只被一个消费者消费的?

4个回答

你有100块,放在桌子上,过来一个人,把100块钱拿走了,正常情况下,他是拿不到的第二次的。
但是,为了拿钱失败,比如,你通知你老婆来把这100拿走,但是你老婆来了,没拿到,然后她会告诉你没拿到,你就只能再把100块钱放在桌子上,重点是
你第二次放的100块和第一次放的100块是同一张钞票呢,,,所以,你放好了,通知你老婆再来拿,然后这100块就彻底消失了,,
如果你老婆拿钱不成功,你就要一直生产100块,而且和第一张100块是同一张,防伪编号都是一样的,,,明白了吗,哈哈

coder_zzc
coder_zzc 我的疑问在于 队列里的一条消息被消费之后 服务器是怎么判定这条消息被消费了 又是怎么删除的?
2 年多之前 回复

最简单可以通过加锁。事务等方式来控制只有一个客户端消费

消息被消费以后,queue中不再有存储,所以消息消费者不可能消费到已经被消费的消息。Queue支持存在多个消费者,但是对一个消息而言,只会有一个消费者可以消费。

图片说明

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
其他相关推荐
消息队列如何实现每个队列并发度可自定义?

如何实现mq消息队列同时监听多个队列,并且每个队列的并发度可自定义?

linux下消息队列, 如何在满足某种条件下将队列清空?

操作系统课上一个作业, 要求是用消息队列来实现某些功能 已知消息队列的特性 : 可以多个进程接受相同消息, 可知队列中的消息是不会消失的 目前所想的是用3个进程, 每个进程都有2个线程 1: 将消息发送到消息队列, 用while(1)不断等待读入 2: 从消息队列中接收消息, 用while(1)不断读取消息队列 如此类似一个群聊的功能 问题是 : 当某个进程送入消息, 3个进程都读取完毕后, 如何将队列中的消息清空? 而不是持续循环读取

rabbitmq 怎么实现多个消费者同时接收一个队列的消息?

通配符 与 订阅模式都是 d发送端发送消息到交换机 接收端定义不通的队列名绑定到交换机 消费者监听不同的队列 实现的多个消费者同时接收同一个消息 怎么实现多个消费者同时接收一个队列的消息呢 类似activemq的topic模式

求问哈java中使用内存实现消息队列

有一个需求,是在servlet的业务方法中。有一些dao操作,因为表建了索引,所以做插入可能比较耗时,就想实现异步。 把dao操作的那一部分放入消息队列里面去,开启一个线程进行到操作。因为不能涉及第三方工具,只能用内存实现消息队列。求大神帮忙。。。

c语言消息队列如何实现滑动窗口

有个c语言的问题,使用消息队列进行信息的传输,在接收端想在消息队列上实现一个滑动窗口机制,窗口大小为2,步长为1,但是msgrcv只能读取一个消息,无法获取两个,采用指针数组存储消息后,在循环外部无法读取该指针数组,怎么解决?

rabbitmq如果有两个消费者 消息队列进来 会使用哪个

我在本机启动了项目 然后在服务器上也部署了 两个服务的rabbitmq服务是一个服务器上的 现在如果有消息进来 我也就相当于有两个一样的队列 消费者也是两个一样的消费者 那么我应该会选择哪个消费者去消费呢

关于消息队列发送短信或邮件

学者愚昧 还望各位前辈不要笑话 因为一直搞不懂阿里云的那个消息队列到底什么作用, 因为之前短信接口在高并发的时候会出现问题导致发生失败, 看到有人说用消息队列,就如同创建一个表,不停的读取这个表的数据,如果发现有添加又未发送的短信任务就马上发送 一直这样执行,但是用服务器的话可以执行PHP命令来执行一个文件运行,但是如果是虚拟机的话就不行, 我不知道消息队列是不是就是这个机制, 我就想问问前辈们消息队列到底是个什么东西,小弟自学入门不久 希望不要笑话 还有就是解决短信发送这个高并发问题还有别的办法吗?

请问,linux下消息队列通信为什么收不到消息

A1.c #include stdio.h> #include stdlib.h> #include string.h> #include sys/types.h> #include sys/msg.h> #include unistd.h> #include sys/ipc.h> int main(){ int ret = -1; int msg_flags, smsg_id ,rmsg_id;/*创建消息队列函数所用的标志位,以及收消息与发消息的队列id*/ key_t key1,key2;/*队列的键值*/ struct msgmbuf{/*消息的缓冲区结构*/ int mtype; char mtext[10]; }; struct msgmbuf msg_mbuf;/*创建消息缓冲区*/ int msg_sflags,msg_rflags;/*收发消息函数所用的标志位*/ char *msgpath1 = "/mnt/hgfs/";/*消息key1产生所用的路径*/ char *msgpath2 = "/mnt/hgfs/sourcecode";/*消息key2产生所用的路径*/ key1 = ftok(msgpath1,'b');/*产生key1*/ key2 = ftok(msgpath2,'a');/*产生key2*/ if(key1 != -1 || key2 != -1)/*产生key成功*/ { printf("成功建立KEY\n"); } else/*产生key失败*/ { printf("建立KEY失败\n"); } msg_flags = IPC_CREAT;//|IPC_EXCL; /*设置创建消息的标志位*/ smsg_id = msgget(key1, msg_flags|0666); /*建立收消息的消息队列*/ rmsg_id = msgget(key2, msg_flags|0666); /*建立发消息的消息队列*/ if( -1 == smsg_id || -1 == rmsg_id) { printf("消息建立失败\n"); return 0; } pid_t pid; pid = fork();/*通过fork()创建子进程,主进程进行发消息,子进程进行收消息*/ while(1){ if(pid != 0){/*主进程*/ msg_sflags = IPC_NOWAIT;/*当消息队列满了的时候不等待*/ msg_mbuf.mtype = 10;/*设置发送的消息类型*/ sleep(1); char *content; content = (char*)malloc(10*sizeof(char)); printf("input:\n"); scanf("%s",content);/*用户输入内容*/ if(strncmp(content,"end",3) == 0)/*如果前三个字符为end,则跳出循环*/ break; memcpy(msg_mbuf.mtext,content,10);/*复制字符串*/ ret = msgsnd(smsg_id, &msg_mbuf, 10, msg_sflags);/*发送消息*/ if( -1 == ret) { printf("发送消息失败\n"); } } else{/*子进程*/ sleep(1); msg_mbuf.mtype = 10;/*设置收消息的类型*/ msg_rflags = IPC_NOWAIT;//|MSG_NOERROR; ret = msgrcv(rmsg_id, &msg_mbuf,10,10,msg_rflags);/*接收消息*/ if( -1 == ret) { /*可添加出错处理等*/ } else { printf("接收消息成功,长度:%d\n",ret); printf("content:%s\n",msg_mbuf.mtext); } } } ret = msgctl(rmsg_id, IPC_RMID,NULL);/*删除收消息的队列*/ if(-1 == ret) { printf("删除消息失败\n"); return 0; } return 0; } A2.c #include stdio.h> #include stdlib.h> #include string.h> #include sys/types.h> #include sys/msg.h> #include unistd.h> #include sys/ipc.h> int main(){ int ret = -1; int msg_flags, smsg_id ,rmsg_id;/*创建消息队列函数所用的标志位,以及收消息与发消息的队列id*/ key_t key1,key2;/*队列的键值*/ struct msgmbuf{/*消息的缓冲区结构*/ int mtype; char mtext[10]; }; struct msgmbuf msg_mbuf;/*创建消息缓冲区*/ int msg_sflags,msg_rflags;/*收发消息函数所用的标志位*/ char *msgpath1 = "/mnt/hgfs/";/*消息key1产生所用的路径*/ char *msgpath2 = "/mnt/hgfs/sourcecode";/*消息key2产生所用的路径*/ key1 = ftok(msgpath1,'b');/*产生key1*/ key2 = ftok(msgpath2,'a');/*产生key2*/ if(key1 != -1 || key2 != -1)/*产生key成功*/ { printf("成功建立KEY\n"); } else/*产生key失败*/ { printf("建立KEY失败\n"); } msg_flags = IPC_CREAT;//|IPC_EXCL; /*设置创建消息的标志位*/ smsg_id = msgget(key2, msg_flags|0666); /*建立收消息的消息队列*/ rmsg_id = msgget(key1, msg_flags|0666); /*建立发消息的消息队列*/ if( -1 == smsg_id || -1 == rmsg_id) { printf("消息建立失败\n"); return 0; } pid_t pid; pid = fork();/*通过fork()创建子进程,主进程进行发消息,子进程进行收消息*/ while(1){ if(pid != 0){/*主进程*/ msg_sflags = IPC_NOWAIT;/*当消息队列满了的时候不等待*/ msg_mbuf.mtype = 10;/*设置发送的消息类型*/ sleep(1); char *content; content = (char*)malloc(10*sizeof(char)); printf("input:\n"); scanf("%s",content);/*用户输入内容*/ if(strncmp(content,"end",3) == 0)/*如果前三个字符为end,则跳出循环*/ break; memcpy(msg_mbuf.mtext,content,10);/*复制字符串*/ ret = msgsnd(smsg_id, &msg_mbuf, 10, msg_sflags);/*发送消息*/ if( -1 == ret) { printf("发送消息失败\n"); } } else{/*子进程*/ sleep(1); msg_mbuf.mtype = 10;/*设置收消息的类型*/ msg_rflags = IPC_NOWAIT;//|MSG_NOERROR; ret = msgrcv(rmsg_id, &msg_mbuf,10,10,msg_rflags);/*接收消息*/ if( -1 == ret) { /*可添加出错处理等*/ } else { printf("接收消息成功,长度:%d\n",ret); printf("content:%s\n",msg_mbuf.mtext); } } } ret = msgctl(rmsg_id, IPC_RMID,NULL);/*删除收消息的队列*/ if(-1 == ret) { printf("删除消息失败\n"); return 0; } return 0; } 头文件<>无法识别,均删去了<

在Linux下用消息队列实现聊天室的问题:目前实现一问一答

我在Linux下写了一个消息队列实现聊天室的代码,也实现了: 目前只能一问一答的来进行,如果客户端连续提问几个问题一次发送,服务端只能处理一条后,然后才显示下一条消息再回答,逐条显示。 我想让服务端一起接收显示消息,并且能够多条一起发送,可以实现吗?怎么实现?

消息队列是什么意思?它是位于操作系统内存还是位于堆内存?

消息队列是什么意思?它是位于操作系统内存还是位于堆内存?怎么使用消息队列的机制呢?

如何用redis作为消息队列,最好附上java代码,感谢各位了

各位大佬好,是这样子的,我一直是用ActiveMQ作为消息中间件使用,但是人家说可以用redis的list实现消息队列,但是我有一个疑问,就是有两个系统,一个向redis发送消息,可是他怎么通知 另外一个系统去消费消息呢...

消息队列为什么不直接使用mysql?

不是特别熟悉队列 大概了解下 就是消息存进去 然后读出来 为什么不直接用mysql来存储 设置个state 没读就是0 读了就update 成1 或是 未处理的任务存金数据库 然后读出处理 处理了就删除

RabbitMQ如何让绑定在同一个队列上的消费者都接受到消息

今天我在本地配置好了RabbiMQ,可是遇到了一个问题。我本地消费者绑定了一个队列,那么当我将代码部署到服务器时,这就相当于我本地和服务器上有两个相同的消费者绑定在了同一个队列上,那这样生产者发送的消息会被谁接收? PS:因为我本机连接的也是服务器上的RabbitMQ,我不想本机上的消费者去竞争服务器上的生产者生产的消息,请问如何解决?

win7的消息队列怎么用,比如使用C#

我在安装IIS的时候,看到了,消息队列,开了两年的ASP.NET网站, 但是消息队列一直不知道怎么用?有没有大侠会用?概括这个问题就好

C#消息队列,远程,能够发送,但是接收不了

消息队列,能够将消息发送远程服务器,就是本地接收不了远程服务器的消息。怎么办

线程消息队列的宽度问题

想知道windows下系统消息队列的大小,线程消息队列的大小,在网上找了下,据说线程消息队列默认只有可以保存8个消息。我自己做了下测试,如下 void CMainFrame::HandleWaitThread(LPVOID lParam) { MSG msg; Sleep(30000); while (true) { if(GetMessage(&msg,0,0,0)) //get msg from message queue { TRACE(_T("wait msg.message = %d\r\n"),msg.message); } } } void CMainFrame::HandleSendThread(LPVOID lParam) { ASSERT(lParam); CMainFrame* pDlg = reinterpret_cast<CMainFrame*>(lParam); while(1) { static long i = 0; TRACE(_T("send msg.message = %d\r\n"),i); pDlg->pWaitThread->PostThreadMessage(i,0,0); i++; Sleep(500); } } send线程向wait线程不断post消息,一开始wait线程Sleep 30s,那么这短时间send线程发送了60次消息,30s后,wait线程还是可以把那60个消息打印出来,这就应该可以说明线程消息队列不只存8个了吧。另外,在测试的时候还发现一个问题,每次测试都会有wait线程丢失消息的现象,就是说总会有几个消息打印不出来(或者说没有接收到),这到底是怎么回事,请各位大神帮忙看看,3q

十万火急!! java web 使用 redis 的消息队列 时 出现错误

问题比较尴尬,我把本地的redis设置上密码后 java web 项目使用 redis 的消息队列的时候提示 下面这个异常 ![图片说明](https://img-ask.csdn.net/upload/201702/07/1486455178_463454.png) 不使用消息队列的话或者本地redis不设置密码都是正常的,但是放到了阿里云的服务器上之后redis即使有密码也可以正常使用 redis 的订阅与发布. 实在搞不懂 本地和线上的 配置文件有啥不同 对比了两三遍了 密码也都写到配置文件里了,求解答

Redis MQ 队列监听器重复接收消息的问题

![图片说明](https://img-ask.csdn.net/upload/201711/29/1511945906_298500.png) ![图片说明](https://img-ask.csdn.net/upload/201711/29/1511945913_190721.png) ![图片说明](https://img-ask.csdn.net/upload/201711/29/1511945919_87123.png) ![图片说明](https://img-ask.csdn.net/upload/201711/29/1511945924_809092.png)

消息发送到的消息队列是放在堆栈上还是堆上?

关于windows消息发送的问题,消息发送到的消息队列是放在堆栈上还是堆上?应该是堆栈吧,但是为什么可以跨进程呢?

在中国程序员是青春饭吗?

今年,我也32了 ,为了不给大家误导,咨询了猎头、圈内好友,以及年过35岁的几位老程序员……舍了老脸去揭人家伤疤……希望能给大家以帮助,记得帮我点赞哦。 目录: 你以为的人生 一次又一次的伤害 猎头界的真相 如何应对互联网行业的「中年危机」 一、你以为的人生 刚入行时,拿着傲人的工资,想着好好干,以为我们的人生是这样的: 等真到了那一天,你会发现,你的人生很可能是这样的: ...

程序员请照顾好自己,周末病魔差点一套带走我。

程序员在一个周末的时间,得了重病,差点当场去世,还好及时挽救回来了。

我以为我学懂了数据结构,直到看了这个导图才发现,我错了

数据结构与算法思维导图

String s = new String(" a ") 到底产生几个对象?

老生常谈的一个梗,到2020了还在争论,你们一天天的,哎哎哎,我不是针对你一个,我是说在座的各位都是人才! 上图红色的这3个箭头,对于通过new产生一个字符串(”宜春”)时,会先去常量池中查找是否已经有了”宜春”对象,如果没有则在常量池中创建一个此字符串对象,然后堆中再创建一个常量池中此”宜春”对象的拷贝对象。 也就是说准确答案是产生了一个或两个对象,如果常量池中原来没有 ”宜春” ,就是两个。...

技术大佬:我去,你写的 switch 语句也太老土了吧

昨天早上通过远程的方式 review 了两名新来同事的代码,大部分代码都写得很漂亮,严谨的同时注释也很到位,这令我非常满意。但当我看到他们当中有一个人写的 switch 语句时,还是忍不住破口大骂:“我擦,小王,你丫写的 switch 语句也太老土了吧!” 来看看小王写的代码吧,看完不要骂我装逼啊。 private static String createPlayer(PlayerTypes p...

Linux面试题(2020最新版)

文章目录Linux 概述什么是LinuxUnix和Linux有什么区别?什么是 Linux 内核?Linux的基本组件是什么?Linux 的体系结构BASH和DOS之间的基本区别是什么?Linux 开机启动过程?Linux系统缺省的运行级别?Linux 使用的进程间通信方式?Linux 有哪些系统日志文件?Linux系统安装多个桌面环境有帮助吗?什么是交换空间?什么是root帐户什么是LILO?什...

将一个接口响应时间从2s优化到 200ms以内的一个案例

一、背景 在开发联调阶段发现一个接口的响应时间特别长,经常超时,囧… 本文讲讲是如何定位到性能瓶颈以及修改的思路,将该接口从 2 s 左右优化到 200ms 以内 。 二、步骤 2.1 定位 定位性能瓶颈有两个思路,一个是通过工具去监控,一个是通过经验去猜想。 2.1.1 工具监控 就工具而言,推荐使用 arthas ,用到的是 trace 命令 具体安装步骤很简单,大家自行研究。 我的使用步骤是...

学历低,无法胜任工作,大佬告诉你应该怎么做

微信上收到一位读者小涛的留言,大致的意思是自己只有高中学历,经过培训后找到了一份工作,但很难胜任,考虑要不要辞职找一份他能力可以胜任的实习工作。下面是他留言的一部分内容: 二哥,我是 2016 年高中毕业的,考上了大学但没去成,主要是因为当时家里经济条件不太允许。 打工了三年后想学一门技术,就去培训了。培训的学校比较垃圾,现在非常后悔没去正规一点的机构培训。 去年 11 月份来北京找到了一份工...

JVM内存结构和Java内存模型别再傻傻分不清了

JVM内存结构和Java内存模型都是面试的热点问题,名字看感觉都差不多,网上有些博客也都把这两个概念混着用,实际上他们之间差别还是挺大的。 通俗点说,JVM内存结构是与JVM的内部存储结构相关,而Java内存模型是与多线程编程相关,本文针对这两个总是被混用的概念展开讲解。 JVM内存结构 JVM构成 说到JVM内存结构,就不会只是说内存结构的5个分区,而是会延展到整个JVM相关的问题,所以先了解下

和黑客斗争的 6 天!

互联网公司工作,很难避免不和黑客们打交道,我呆过的两家互联网公司,几乎每月每天每分钟都有黑客在公司网站上扫描。有的是寻找 Sql 注入的缺口,有的是寻找线上服务器可能存在的漏洞,大部分都...

Google 与微软的浏览器之争

浏览器再现“神仙打架”。整理 | 屠敏头图 | CSDN 下载自东方 IC出品 | CSDN(ID:CSDNnews)从 IE 到 Chrome,再从 Chrome 到 Edge,微软与...

讲一个程序员如何副业月赚三万的真实故事

loonggg读完需要3分钟速读仅需 1 分钟大家好,我是你们的校长。我之前讲过,这年头,只要肯动脑,肯行动,程序员凭借自己的技术,赚钱的方式还是有很多种的。仅仅靠在公司出卖自己的劳动时...

上班一个月,后悔当初着急入职的选择了

最近有个老铁,告诉我说,上班一个月,后悔当初着急入职现在公司了。他之前在美图做手机研发,今年美图那边今年也有一波组织优化调整,他是其中一个,在协商离职后,当时捉急找工作上班,因为有房贷供着,不能没有收入来源。所以匆忙选了一家公司,实际上是一个大型外包公司,主要派遣给其他手机厂商做外包项目。**当时承诺待遇还不错,所以就立马入职去上班了。但是后面入职后,发现薪酬待遇这块并不是HR所说那样,那个HR自...

女程序员,为什么比男程序员少???

昨天看到一档综艺节目,讨论了两个话题:(1)中国学生的数学成绩,平均下来看,会比国外好?为什么?(2)男生的数学成绩,平均下来看,会比女生好?为什么?同时,我又联想到了一个技术圈经常讨...

搜狗输入法也在挑战国人的智商!

故事总是一个接着一个到来...上周写完《鲁大师已经彻底沦为一款垃圾流氓软件!》这篇文章之后,鲁大师的市场工作人员就找到了我,希望把这篇文章删除掉。经过一番沟通我先把这篇文章从公号中删除了...

85后蒋凡:28岁实现财务自由、34岁成为阿里万亿电商帝国双掌门,他的人生底层逻辑是什么?...

蒋凡是何许人也? 2017年12月27日,在入职4年时间里,蒋凡开挂般坐上了淘宝总裁位置。 为此,时任阿里CEO张勇在任命书中力赞: 蒋凡加入阿里,始终保持创业者的冲劲,有敏锐的...

总结了 150 余个神奇网站,你不来瞅瞅吗?

原博客再更新,可能就没了,之后将持续更新本篇博客。

副业收入是我做程序媛的3倍,工作外的B面人生是怎样的?

提到“程序员”,多数人脑海里首先想到的大约是:为人木讷、薪水超高、工作枯燥…… 然而,当离开工作岗位,撕去层层标签,脱下“程序员”这身外套,有的人生动又有趣,马上展现出了完全不同的A/B面人生! 不论是简单的爱好,还是正经的副业,他们都干得同样出色。偶尔,还能和程序员的特质结合,产生奇妙的“化学反应”。 @Charlotte:平日素颜示人,周末美妆博主 大家都以为程序媛也个个不修边幅,但我们也许...

MySQL数据库面试题(2020最新版)

文章目录数据库基础知识为什么要使用数据库什么是SQL?什么是MySQL?数据库三大范式是什么mysql有关权限的表都有哪几个MySQL的binlog有有几种录入格式?分别有什么区别?数据类型mysql有哪些数据类型引擎MySQL存储引擎MyISAM与InnoDB区别MyISAM索引与InnoDB索引的区别?InnoDB引擎的4大特性存储引擎选择索引什么是索引?索引有哪些优缺点?索引使用场景(重点)...

如果你是老板,你会不会踢了这样的员工?

有个好朋友ZS,是技术总监,昨天问我:“有一个老下属,跟了我很多年,做事勤勤恳恳,主动性也很好。但随着公司的发展,他的进步速度,跟不上团队的步伐了,有点...

我入职阿里后,才知道原来简历这么写

私下里,有不少读者问我:“二哥,如何才能写出一份专业的技术简历呢?我总感觉自己写的简历太烂了,所以投了无数份,都石沉大海了。”说实话,我自己好多年没有写过简历了,但我认识的一个同行,他在阿里,给我说了一些他当年写简历的方法论,我感觉太牛逼了,实在是忍不住,就分享了出来,希望能够帮助到你。 01、简历的本质 作为简历的撰写者,你必须要搞清楚一点,简历的本质是什么,它就是为了来销售你的价值主张的。往深...

离职半年了,老东家又发 offer,回不回?

有小伙伴问松哥这个问题,他在上海某公司,在离职了几个月后,前公司的领导联系到他,希望他能够返聘回去,他很纠结要不要回去? 俗话说好马不吃回头草,但是这个小伙伴既然感到纠结了,我觉得至少说明了两个问题:1.曾经的公司还不错;2.现在的日子也不是很如意。否则应该就不会纠结了。 老实说,松哥之前也有过类似的经历,今天就来和小伙伴们聊聊回头草到底吃不吃。 首先一个基本观点,就是离职了也没必要和老东家弄的苦...

男生更看重女生的身材脸蛋,还是思想?

往往,我们看不进去大段大段的逻辑。深刻的哲理,往往短而精悍,一阵见血。问:产品经理挺漂亮的,有点心动,但不知道合不合得来。男生更看重女生的身材脸蛋,还是...

什么时候跳槽,为什么离职,你想好了么?

都是出来打工的,多为自己着想

程序员为什么千万不要瞎努力?

本文作者用对比非常鲜明的两个开发团队的故事,讲解了敏捷开发之道 —— 如果你的团队缺乏统一标准的环境,那么即使勤劳努力,不仅会极其耗时而且成果甚微,使用...

为什么程序员做外包会被瞧不起?

二哥,有个事想询问下您的意见,您觉得应届生值得去外包吗?公司虽然挺大的,中xx,但待遇感觉挺低,马上要报到,挺纠结的。

当HR压你价,说你只值7K,你该怎么回答?

当HR压你价,说你只值7K时,你可以流畅地回答,记住,是流畅,不能犹豫。 礼貌地说:“7K是吗?了解了。嗯~其实我对贵司的面试官印象很好。只不过,现在我的手头上已经有一份11K的offer。来面试,主要也是自己对贵司挺有兴趣的,所以过来看看……”(未完) 这段话主要是陪HR互诈的同时,从公司兴趣,公司职员印象上,都给予对方正面的肯定,既能提升HR的好感度,又能让谈判气氛融洽,为后面的发挥留足空间。...

面试:第十六章:Java中级开发(16k)

HashMap底层实现原理,红黑树,B+树,B树的结构原理 Spring的AOP和IOC是什么?它们常见的使用场景有哪些?Spring事务,事务的属性,传播行为,数据库隔离级别 Spring和SpringMVC,MyBatis以及SpringBoot的注解分别有哪些?SpringMVC的工作原理,SpringBoot框架的优点,MyBatis框架的优点 SpringCould组件有哪些,他们...

面试阿里p7,被按在地上摩擦,鬼知道我经历了什么?

面试阿里p7被问到的问题(当时我只知道第一个):@Conditional是做什么的?@Conditional多个条件是什么逻辑关系?条件判断在什么时候执...

终于懂了TCP和UDP协议区别

终于懂了TCP和UDP协议区别

立即提问
相关内容推荐