纳迪尔沙 level
获赞
79
粉丝
100
关注
20
看过 TA
1049
北京工商大学
2028
Java
IP属地:北京
你手中的支付流水状态机,是我此生不变的信仰
私信
关注
01-30 16:31
已编辑
北京工商大学 Java
1.拷打项目支付成功,支付宝送来的回调丢了怎么办 。通过mq延迟消息轮询支付宝保证,后面反思了下其实可以拓展说下多次轮询失败如何处理。支付服务的幂等性如何保证,为什么不能通过加锁。 支付收单是一个异步的过程,不好加锁,如果加锁的话,不知道什么时候适合释放,如果用户选择一个微信支付,但是觉得选错了,要打开支付宝支付,就会发现锁没有释放,会影响用户体验。我们现在通过退款去做这个事情,如果用户支付两次,对第二次进行退款,如果两个回调同时到了,出现并发问题,我们通过乐观锁去保证并发不出现冲突。我们的设计其实是参考了美团和拼多多做的。加锁的化,你会怎么加,答:数据库行锁/redis分布式锁。 问到redis分布式锁原理,没答上来分库分表怎么做的,面试官没有深问。2.kafka和rocketmq的区别,适用场景。rocketmq比较适合重业务的场景,Kafka因为sendfile的原因,吞吐量大,适合做日志处理,rocketmq有很多功能,比如说延迟消息,顺序消费,是Kafka没有的。我听一些之前在大厂工作过的同事说过,kafka经常被魔改,会有时间轮算法去做实现延迟消息,我认为如果在基建完善的地方,我这个项目是可以替换成Kafka的。3.mysql遇到慢sql怎么解决,比如说一个sql涉及5张表,怎么处理。我没回答上来。4.mysql索引类型。主族索引,非主族索引。 非主族索引包括哪些?比如unique key ,联合索引。什么情况会用到联合索引?有时候避免回表可能会用到。什么情况会导致联合索引失效?比如没有遵循最左匹配,或者是用了个函数。5.rocketmq事务消息怎么做的?producer先给broker发送一条半消息,然后producer执行本地操作,成功后提交消息给broker,然后broker再去投递消息。什么情况会用到事务消息?一般是在涉及到两个不同的系统中会用到,比如说我们支付服务,在支付成功后要给上游系统发一条mq的消息通知,这个时候就可以用事务消息,事务消息可以规避分布式事务。6.springboot启动流程。只说了一个读取META-INF的配置信息,其他的没说上。7.反问:什么业务?电商。电商的话怎么做的分账?通过微信支付或者是宝付。自己相比于一年前进步了很多是事实,但是大二上浪费太多时间,也缺乏面试经验。比如面试的适合我就经常发现自己表述并不清楚。目前打算面几家中厂攒攒经验,开学之后看看八股,刷leetcode,准备冲大厂,我的问题主要在于八股看的太少了,之前一直都在上班导致的,实战经验可能相对来讲丰富一点,很多内容由于之前工作没有接触过,我也就没有了解,这是我的问题。
0 点赞 评论 收藏
分享
2025-12-28 20:47
已编辑
北京工商大学 Java
程序员牛肉:我靠你这个实习经历其实最需要担心的点是你做的太多了,可能会被面试官怀疑是你伪造的。 交易状态机是你做的,支付多渠道是你做的,对账是你做的,结算还是你做的,重复支付也是你做的,整个服务的异常处理也是你做的。 其实你这个反而问题很大的,你想想站在面试官的角度,他是真的会相信你的能力很强,还是相信这份实习你伪造了大部分?我相信你真的做了这么多,但是删一些,废话删一删。你这个做的太多了反而真实性不可信。 后面再补一个项目,在github上找一个高star的项目学一学然后写到自己简历上。我觉得你能力肯定没问题。28届能做到这个份上很厉害,但是在求职市场中,你不是在跟28届的同学比,把你这个简历放到27届其实也就一般水平。 所以后续要想一想看看能不能给自己简历上搞点亮点,比如开源贡献呢?比如博客呢?
实习要如何选择和准备?
0 点赞 评论 收藏
分享
2025-05-06 18:57
已编辑
北京工商大学 Java
一面小厂日常实习,我最开始以为是hr来聊天,结果直接发过来一个会议号,上来就是技术面面试官很好,主要就是拷打IM项目,然后顺着我的话问一些技术问题,简历上的os是一点没问啊1.你的消息收发是如何实现的?如果发的人太多消息量上来了咋办?2.用的什么协议3.如何让客户端收到消息,最开始我说是对方的ip地址,后面面试官说内网ip和公网ip不一样,我这时候才想起来用的netty的channel4.channel存到哪?我说的是ConcurrentHashMap和redis,面试官就顺着我的话问ConcurrentHashMap是如何实现线程安全的,我说以前是分段锁,现在是synchronized,面试官又问我分段锁咋保证的,没回答上来5.springboot如何把工具都打包到一块的,没回答上来6.java的原生线程和线程池有什么区别,线程池有哪些坑7.有没有用过单元测试框架 没用过,没回答上来8.调用别人提供的api,技术上要有什么支持,我说可以通过 sdk rpc http,面试官拷打http协议有哪些坑,我就说并发情况下幂等性啥的不能保证,同时http没法加密消息,接着又问如果对方用的就是http,那你会如何保证消息,我说可以实现一个数字签名9.vector和arraylist区别10.问啥时候到岗,我说下下周就行,面试官说可能会有二面,具体时间以后联系,会考笔试题之类的,面试官说自己也在大厂待过,他很多同事也是大厂的ps:北京机会真多啊,我沟通216个有3个约面的
瑞克无代:建议高考完直接上班
0 点赞 评论 收藏
分享
2025-04-23 21:15
北京工商大学 Java
halux:28✌放我一条生路吧
0 点赞 评论 收藏
分享

创作者周榜

更多
关注他的用户也关注了:
牛客网
牛客网在线编程
牛客网题解
牛客企业服务