#提问# 面试 在背八股的时候了解到了mysql事务的两阶段提交,于是思考到这样一个场景: 在Spring事务中操作mysql并记录日志。 那么如果在事务交mysql的redolog日志处于prepare状态且binlog写入完成时发生宕机,那么Spring的事务由于得不到数据库的响应将会失败发生回滚。而重启mysql数据恢复时,因为redolog处于prepare状态且能通过事务id在binlog中找到完整的数据,就会尝试提交 此时就出现了一个问题,那就是Spring事务失败了但是mysql的事务成功了 想问一下我以上的逻辑是正确的吗?如果是又有什么解决方案呢?

我现在是一所末流211的大三在校生,想找一份实习来丰富我毕业时的简历,但是我的学校所在的地方很偏僻在边境线上,在三小时可达的范围内仅有两家互联网小公司且不招实习生。今天和一位成都的HR聊,他说他们现在要求面试过了之后就立即能入职六个月,我的地理条件显然不能找日常学习,那我应该晚两个月再找暑期实习还是在现在就找暑期实习?(目前在boss直聘上没看到招暑期实习的,不知道是不是因为太早了)

#提问# api开放平台中需要使用时间戳和随机数,在讲这两个参数时,随机数用来防止重放,时间戳主要是为了降低redis储存压力,那不使用随机数这个参数,转而在redis存储时间戳也是一样的吧?

Java - 实习 - 面经

#面试# 分享一个我今天找的一个实习的面试 面试官:你先做个自我介绍吧 我:我叫xx,现在就读于xx大学大三,专业是xxx,学校有教授部分编程相关的知识,然后主要是自学的。 问:如果我有好几个系统,比如订单系统,支付系统,为了保证数据的一致性,你有了解过或者思考过吗 答:我了解阿里开发的一个分布式事务Seata框架,他允许弱状态并保证了最终一致性 事后补充:在这我想说CAP原则和BASE理论的,但我一时间忘了BASE理论这几个字就没说 继续问:Seata框架也并不全是最终一致的,它分为几个模式,这一块你知道吗 答:它分为四个模式:XA模式、AT模式、TCC模式,还有一个使用场景不多,没记住 问:你项目中的限流的策略是什么 答:我项目中的限流是使用Redisson来实现的,使用的是令牌桶算法 问:redis实现分布式锁有了解过吗 答:这个不了解,但根据Seata的实现原理可以通过保存一个xid来实现类似的效果 问:mq的常用场景 答:主要是来实现一个异步化 面试官补充:除了实现异步化以外,mq还能实现解耦、多系统间通信还有对突刺流量削峰填谷的作用 问:redis的常用场景 答:限流,缓存,因为redis将数据保存在内存中,读写效率很高,因此还可以用于秒杀场景,但秒杀这一块的具体实现我就不太清楚了 问:在使用Mybatis接收参数时候使用的是#{}还是${} 答:主要是用#{},这样在执行的时候它会先预编译成一条用?占位的sql,然后将参数传进去,效率较高。一些特殊情况需要使用${},但这样是直接拼接的sql,有sql注入的风险 问:如果我有一个需求需要查100条数据,但我每次只能查到20条,有什么效率高的方法 答:在这里可以使用多线程来解决,根据阿里的编码规范,使用多线程必须经过线程池,所以可以创建一个线程池来完成这个需求,因为是查询数据库操作,因此这是一个IO密集型线程池,因为这个需求最少得执行五次,所以可以设置线程池的初始线程数为5 继续问:如何接受线程的返回值呢 内心PS:我不会啊,我没遇到过需要返回值的情况 面试官给我的回答我也忘了 问:nginx有使用过吗 答:有,我的前端部署在nginx,用它解决的跨域 接着问:是在请求头里添加了什么吗 答:不是,是将前端指定路径的请求转发到了后端 然后这里面试官就跟我好好说了说 问:在设计数据库的时候有什么考虑 答:我这个项目的数据库结构比较简单,在建表时尽量避免使用外键,添加了外键可能导致后端代码中的处理比较麻烦,建好表之后在常用字段上添加索引 问:如果我要查多个字段,建立索引有什么考虑 答:索引的使用有一个最左匹配原则,就是它只有先走了左边的索引才会走右边的索引,所以必填的索引放左边,其他的放右边 继续问:是使用聚集索引吗 答:是的 问:比如我有一个扣费接口,因为某种错误可能会执行多次,请问在设计接口的时候应该有哪些考虑 答:应该考虑幂等性问题,执行一次或多次的最终结果应该保持一致 问:分布式系统生成唯一id有哪些方法 答:我了解到的有一个雪花算法 面试官:好的,那我们今天就先问到这里。

我打算使用ant design mobile来重构我的一个原生android项目,但是我不知道应该使用什么来创建项目,我尝试使用react-native,但是尝试以后发现会报错,ant design mobile的官网也说了不支持react-native,请问我应该如何初始化项目

今日完成 复习之前的368个英语单词,背新的100个单词 完成用户中心项目(中) 参加某公司实习生笔试(实现某管理系统的增删改查)

今天使用星球后端模板初始化项目时时报了个NoSuchBean的错,排查了一个多小时以后发现是我把包名com.yupi.springbootinit改了的原因,请问我如果要修改包名的话,应该用什么方式修改才不会报错呢

#提问# 我才进星球不久,跟着学BI项目,因为项目是使用星球的万用模板做的,想看看模板基础代码是怎么写的,但是gitlab好像挂掉了,错误码显示服务端异常

日常力扣算法周赛,看到题目以为和往常一样题目相同数据量不同,反复阅读第一题发现这题就这么一个O(n)时间复杂度的算法,打开第二题一看,是数据的存储方式不一样。 快速解决两题之后,第三题第一个想到的就是用递归,但是写到一半发现普通的递归只能求单条路径的最大值。 最后想到了树形dp,可惜对其实现不太熟悉,等写完已经周赛过去二十分钟了,出来一看,接近两千名,掉大分,这周可能k牌保不住了,下周继续[猪头]

下载 APP