2023.03.29 java线上面试实录

作者: 第三个嘉嘉分类: 日常 发布时间: 2023-03-29 23:20:53 浏览:26302 次

2023.03.29 java线上面试实录

jackYL0ve:
楼主回答的还可以,基本回答到点子上了,唯一的问题就是没有理解面试官问的问题的重点,或者说没有回答出面试官想问你的东西,比如最后一个redis分布式锁,他想问的是,redis的加锁解锁不是一个原子性的操作,你应该往lua上面回答,另外再提一点,这个面试官的水平或者说引导面试者展示技术能力的水平有所欠缺,问的切入不到核心点上面来,导致面试者对问题的回来有所歧义。

【回复】回复 @男花花花 :可能我说的不清楚,我的意思,在这种加锁解锁处理逻辑上设置线程的id,这个解决了面试官提问的那个问题,我说的原子性,是在解锁的时候,需要判断这个线程id是否为加锁的线程id,如果是,则解锁,但是判断条件和解锁的命令不是原子性命令,所以用lua脚本来解决后续的问题,这样解释,可否?
【回复】线程池那块稀碎啊[笑哭]
男花花花:
如何保证删除锁的线程是上锁的线程 可以在上锁的时候,value设置为当前的线程ID,在删除锁的时候,校验一下value是否为当前的线程ID,如果是的话,再删除锁 Ps:这个问题还真挺偏的

【回复】回复 @msghs123 : 一般实际项目来说临时uuid+时间戳+业务id
【回复】这个不行,分布式情况下,线程ID可能有一样的
有点困阿sir:
[笑哭]卧槽,这比我现在22届去面试问的还简单。上星期日9k的面试,从早上9点一直被问到11点,折磨

【回复】这是一面,就随便问问吧,后面还有二面呢[doge]
路小菱爱生活:
方便问一下期望薪资吗,我感觉这个回答很厉害了

-Monan33:
我都听不太懂[笑哭]设计模式从来没用过

燃不了的星火:
说句实话,up主如果真的工作4年的话,这个技术水平确实不应该

【回复】我更加菜... 这行没兴趣 很难干下去 上班摸鱼下班玩 我就是这样 干废了
【回复】[笑哭]咋说呢。 之前的公司很闲,基本天天摸鱼。 我感觉我在那呆估计也是啥不会。 但是出来了又找不到工作,唉。
【回复】混了挺长时间的[doge],现在才开始努力。
lshhhhh:
这个面试很好了啊,可能他们不太想招人

-张优秀_:
redis面试官问你怎么确保删除锁的线程和获取锁的线程是同一个,其实加个唯一标识就可以了

AI视频小助理:
一、面试者在项目中的经历和业务对接的难点,以及采用的模板加工厂的设计模式和实现方式。 00:01 - 面试者介绍自己的工作经历和毕业时间 00:57 - 面试者介绍公司的业务和项目经历 04:56 - 面试者介绍模板加工厂的设计模式和订单同步处理方式 二、数据同步时的处理方式,需要统一转换成一致的格式,对多线程的使用以及线程池的核心参数进行了解,同时线程池的状态及其区别。 05:55 - 需要对数据进行统一处理,因为不同平台的数据结构不同 07:10 - 多线程可以提高同步效率,可以通过配置文件定义核心线程数和工作队列 10:52 - 线程池状态包括运行、关闭、等待和停止,调用shutdown后不会再接收新线程,但不会立即关闭线程池 三、线程池的工作原理以及如何中断线程,还讲解了SYNC和CHLOG的区别,以及单例模式的实现方法。 11:44 - 线程池工作完成后会关闭,不需要特意调用线程的stop方法 14:10 - Java中的SYNC和CLOG都是锁机制的关键字,但使用方式不同 17:11 - 单例模式的实现方式有内部类和懒汉模式等 四、关于内部类、缓存、JWT等话题的内容。其中提到了使用内部类实现打鼾的目的,以及使用缓存来存储用户信息和token等。 17:36 - 内部类用于打鼾,懒汉实现 18:44 - 缓存和JWT token存储在REDIS中 22:51 - 更新用户信息后更新数据库中的数据 五、在需要保持数据一致性的情况下,可以采用消息队列或延迟双删等方法保证数据的最新性,同时讨论了解决锁的问题和加班的规定。 23:32 - 如果碰到需要保持一致的场景,可以简单地直接更新release里的数据。 24:19 - 延迟双删是一种保证数据强一致性的方法,可以防止旧数据重新被缓存。 25:46 - 使用set nx可以保证锁的操作是由上锁的线程执行的。 --本内容由AI视频小助理生成,关注解锁AI助理,由@小小白哈喽 召唤发送

沐瑜桑:
这。。。。这面试官纯纯八股文啊,项目是不怎么问的。

每天学习二十五小时:
我们项目也是用了JWT但也用了redis存token,现在突然不理解为什么要这样干了,直接用jwt不就行了

【回复】jwt的诞生涉及两个方面,一个是服务器session越来越多,占用越来越大,在大型应用体系里很难用,二是jwt的无状态刚好又在不同服务之间完美适应,可以去看单体项目到集群和分布式的演化的相关的书,至于存redis是邪道玩法,虽然国内项目经常这样搞,黑名单是唯一比较例外的
【回复】可以直接用网关校验jwt然后路由。redis可以拿来当黑名单之类的。

计算机 寻找100位内行人 福州 面试 Java Java面试 分享我的职业故事

如果觉得我的文章对您有用,请随意打赏。您的支持将鼓励我继续创作!

更多相关阅读