百度-大通讯流组-后端一面
简单介绍一下你现在实习做的工作是什么?我看主要是做蚂蚁支付?
那您先简单做自我介绍。
那那你简单介绍一下你现在实习做的工作是什么?我看主要是做蚂蚁支付?
那你现在做的主要是做资金对账清算吗?
这一块你是怎么保证?我看你工作里面也写了,基于一些什么行锁、事务等等,包括一些互斥什么操作,然后保持的是互斥。那那这种东西为什么要这样处理?就是你那个就是你原有的系统里面就有这一套东西,还是你新接这个东西以后需要自己单独设计的东西。
那也就是人家是直接光给你发这个文件是吧?每次都是一个文件,文件里面是一条一条的指令信息。
那这个差错任务你是怎么怎么处理的?
那你注册这个差错任务是以什么什么时机来注册?为什么这个时候比如说哪种订单我需要注册一个差错任务的?
那那你怎么保证付给万事达的钱和你们这边扣商户的钱,这两边账账是平的。比如说你给万事达付100付成功了,但是扣账扣人家商户到底扣成功了没有,或者扣多了,那这两边你们是怎么保障的?
那那我再问一个,那你确保也就是你的大概流程就是收到EOC文件,对扣户用户的钱,然后把钱给万事达。那你扣用户的钱,这个扣扣成功没成功,你这边是怎么确认的?
那那你们调三次,假如调一次失败了。对,那你们这个怎么保证不多扣人家钱的?比如说你第一次调失败了,那可能人家那边已经扣成功了。但是后续网络什么超时,给你返回是认为你认为失败,然后你又发起调用,那这个多扣的这个东西是谁来保证的?
那不一定,你调人家的扣钱,最后人家不一定完全给你保证幂等了。这是你们调人家,人家确认给你保的吗?
还是你们内部的另一个下游,那另一拨下游应用,他给你们提供的时候,他是有这种承诺的。是吧?
行,那那现在就相当于做这个工作,就相当于是做了一个解析EOC文件,然后扣钱,然后给人家支付。整体就是大概这三个是吧?
还有其他的吗?就是现在这个实习的这个东西。
你们这个就相当于是也就是想搞类似于开发提效的产品,直接搞一个什么需求,然后扔给它。然后它就直接过需求、出详细的需求文档,然后再搞那个设计、出设计方案,然后再到编码,编码完以后再到测试,整个都让它处理是吧?
那这个设计初衷,是你们已经设计好了一套框架,然后你在里面是做哪部分?
我再问一个其他的,你说这个方向走偏了,你怎么判断它这个当前的是走偏的一个状态的?
那如果如果这样的话,全都交给它,那我是不是每一个节点我可我还得实时地盯着它输出的东西,看看对不对?才能完整地工作,是这样的吗?那这样的话如果那如果是这种流程的话,那我们搞这个也没释放我们人。比如说我要从它第一个流程需求开始,那我可能就要盯着它需求worker输出的内容是不是和我这个初始的需求背景的一些知识是不是有偏差。有的话我要把它给停掉,让它重跑。对,那我不是得一直盯着它吗?
那你们那个session都是自己存到哪的?是存在一个啥?
每一个session的原来终止的那个上下文,和你现在让人家用户又要输入新的需求,追加prompt,那这两个关联你们是怎么关联的?
假如你设计这个流水线或者什么的,可能好多人用。那你们这个是怎么保证这个会话、哪个人、为了什么的给关联起来?
也就是我理解一下,也不是说是云端共享的那个东西。对,相当于是谁谁要用给自己本地装一个类似于本地软件一样。对对对,所有它跑的东西都在它自己本地的,每个人就自动的是自己的一个隔离是吧?
那如果是这种的话,那你们怎么统计你们这个平台它到底处理了多少需求,到底需求的完成度什么的,怎么感知?有它有一个可观测的这种怎么处理?有的它有一个大盘,它全都跑在本地。
这那也就是会有一个特定的目录。比如说这种会话它会和我本地的其他的一些code agent有冲突吗?比如说你看假如说你它实际上本质也是和不管哪些阶段,不管是调Codex CLI也好,它本质都是调你们可能公用的一些大模型相关的能力。那我本地比如说我就是一个研发,我在我的IDEA里面可能也装了一个类似于Codex的工具,我那个也可以和它对话,那我本地装你们那个东西也可以对话。那这两个它会有冲突吗?
也就是单独定了一个特定的目录是吧?
那那我再问一下,你刚才说的这有一个可视化界面。那也就是每个人装这个东西的话,他自己在他本地也会可以打开一个类似于localhost的这种的一个页面吗?
统一的一个大盘。那他在上面能看到别人其他好多用户的一些workflow吗?
那能看见没有什么权限隔离吗?能看见他万一把人家其他人的点了咋办?
比如说我这个人搞了一个什么一句话需求让它跑,那个人也搞了一句话需求就让它跑。那它在上面所有都能看到,人家其他的走到哪个节点它也能看,也可以操作。
那不能操作,那你那个终止我怎么终止?终止是难道终止这个东西是有权限的。
我还以为你们这个终止按钮是在你那个流水线那个啥,是吧?
然后我看你这应该也都是Java技术栈是吧?
我发过来你能看到吗?
是代码考核那个,下面代码考核那个Tab里面,你没看到题目是吧?
那不对,那怎么能直接追加到尾部呢?
你这个添加按下标,它就没有那样的下标,你能插进去吗?你也插不进去。
当然这个下标是那个判断,但是这个东西的值你是可以考虑,比如说默认初始化对吧?初始化你这个东西初始了20对吧?那假如我add at下标5,理论上我这个参数应该就是合法,就可以add进去。但是那你add下标5的时候,那你就得看是不是当前我这个ArrayList的容量已经达到10了。如果达到10了,你这个时候再add一个,虽然这个下标是合法的,可以进行这样的add。但是你这个add的话,你容量就不够了,对吧?你这个时候是不是就得考虑扩容?
扩容以后我还可以把我这个下标,因为我这个下标是符合的,可以进行把这个东西插到5里面。插到5里面就相当于是我后面的其他元素要往后移。但是你插一个,你总不能把原来人家有的一个值给移没了。所以如果你插的时候,你原有的东西你看再增加一个这个容量能不能容得下去?不能容得下去,那你就要考虑扩容,对吧?
假如原来我就初始化10个,那我add index假如add一个11,那你这不就直接就数组越界了吗?
或者index add一个100,那你这能放进去吗?虽然这个容量,假如我现在这里面初始容量是10,但是我只放了两个元素,那个size可以,那那这个下标我送一个100,你这直接这样设能设进去吗?
还有一个,你这个add进去直接下标,这样覆盖,那你是不是把人家原有这个下标的值给搞没了,替换了。
我现在假如就两个元素,0和1下标都有值,然后重新一add index 2,不,add index 1,那你这一插,我是不是把原有的给覆盖了?
对,正常不应该是挤的吗?往后移吗?你是不是把人家原有的就覆盖了?
您看你那边有什么想了解的吗?
行,您看还有其他想了解的吗?
hello guoyuqiao