获赞
142
粉丝
40
关注
60
看过 TA
1707
金华职业技术学院
2026
Java
IP属地:北京
骑驴找不到马
私信
关注
问了个人情况和最近有哪些实习面试介绍部门情况,疯狂拷打项目。以为大公司看不上玩具项目,只会问八股,没怎么准备,被问的汗流浃背,一问细节就懵逼项目问题:1.讲一个秒杀优惠卷的一个流程?2.如何保证秒杀业务的超卖问题?    乐观锁3.rua脚本能解决业务的多线程安全问题么?    保证了业务的原子性(多条redis命令一次性执行完),不能保证多线程的安全问题,多线程安全是通过setnx完成的4.首页的随机blog是按排序规则去显示的?      根据点赞数排序(select * from tb_blog order by liked)5.feed流推送原理,普通人和网红大v会一样么?    推拉结合,普通人直接推流,网红大v对于普通粉丝采取主动拉取的方式,对于死粉采用推的方式。6.feed流数据保存在哪里?    保存在redis中,每个用户都有自己一个信箱feed:user_id,当关注者发布新推文时候,会把blog_id推送到粉丝信箱里7.blog的评论是怎么展示,万一有上万条评论怎么办?8.blog在数据库是怎么保存的?    发布人id,关联商铺id, 标题,图片地址(探店的照片最多9张,多张以","隔开),内容,点赞数9.blog点赞接口,如何避免一个重复点赞?    在redis维护了一个set,key为blog:liked:id,保存了点赞该博客的用户id。10.项目哪些地方用到互斥锁?    避免在长时间的缓存重建商铺,高并发请求导致缓存击穿;11.看你存在点赞排行blog的功能,点赞排行如何实现,排行数据在哪里维护和更新,假如点赞更新,会立马更新么?    当时回答是在redis中维护了点赞的排行,实际黑马点评中是直接查数据排序的,没认真看源码,给自己挖坑。如果是根据sortedset保存blog_id,然后score是点赞数的话。可以通过异步线程去更新数据库。或者是点赞完以后主动更新redis和mysql。12.商铺缓存更新策略是什么?    先修改数据库,后删除缓存。如果直接更新缓存,如果该数据没有用户查询都是无效数据。其此先数据库后缓存删除比先缓存删除后数据库更新更能避免脏数据出现13. 为什么用redisson?提供了分布式锁(分布式系统多进程可见的锁,实现了一人一单,锁住userID),最后一道算法题炸裂面试官我想做数据结构和算法,我说算法刷的比较多点,他说这道比较简单。力扣16题,上来就没有思路,太菜了很常规一道题,面试官又给思路,又帮忙改bug,到最后都没a出了,估计是真把面试官整无语了总结:面试官人很好,感觉一开始回答问题已经漏洞百出,还愿意给我面了将近2h思考:1. 热门博客实现(按照点赞数排行)黑马点评实现是直接查数据库(order by liked)。gpt分析     - Redis有序集合:可以利用Redis的Sorted Set数据结构,将博客的ID作为成员,点赞数作为分数(score)。     -  使用缓存与数据库结合的方式:将前10名的博客数据缓存到Redis中,定期或在数据更新时刷新缓存。(感觉不适合点赞频繁场景)     -  使用消息队列异步更新:用户点赞时,将点赞事件写入消息队列(如Kafka、RabbitMQ)。消费者从消息队列中读取点赞事件,更新Redis和数据库中的数据。定期同步: 定期将Redis中的数据同步回数据库,以确保持久化。
菜鸟发威吧:我当时也是聊得好好的 手撕没出来
查看13道真题和解析
0 点赞 评论 收藏
分享
先上来两道经典手撕lru:代码基本完成时候,有一个bug调将近5分钟没出来,面试官提示一下才解决。思路是hashmap+linkedlist,在linkedlist的remove操作时候没把int转成Integer导致按照下标删除元素了。最长回文串:面试说时间已经不够了,让我说一下思路就行,我直接说了中心扩散法,最优解是dp,但当时想着有一个解了,直接没提dp。开始问项目我看你有一段实习经历是吧?我回答说那是一个自己写的项目(难道不会是以为我有一段实习经历,才放我面试的)看你项目中有发博文功能,假如你有上万条评论,你该如何解决?分页展示你使用过k8s么?没,用过docker从这里开始已经汗流浃背,胡言乱语了你项目有遇到什么新瓶颈么?练手项目你项目一个人写的还是多人协作的?一个人你介绍一下你项目好用第三方框架?redssion以及消息队列你能分享一个你最近学过有意思最新的技术?不算什么新技术,最近在学微服务你说了微服务,你觉得你这项目为啥需要拆分?遇到热点服务,可以减轻压力反问还有什么欠缺或者学习的么面试官说前面代码能力是没问题的,第二题可以了解dp的方法并且可以改善代码命名规范。然后说了希望有多人协作能力,并点评我的项目仅仅使用靠调方法没啥亮点,要是能提到使用redis数据结构解决什么问题会比较亮眼。虽然面试官人很和蔼,感觉已经凉不能再凉了,估计是想要一个有工作经验的2024.10.17 20:00   历时40分钟2024.10.20           流程结束
投递腾讯等公司10个岗位
0 点赞 评论 收藏
分享
程序员猪皮:看不到八股什么意思
0 点赞 评论 收藏
分享
技术面,一个小姐姐过来面的,持续了1h静态方法、构造方法、普通方法的执行顺序?aop是什么,你项目中什么功能使用过aop?日志和事物aop的相关注解和含义?Spring框架中的单例bean是线程安全的吗?提了通常无状态的bean可以是线程安全(无可变成员变量),如果要绝对安全可以使用@scope(prototype)修饰,生成多例bean。Spring中Bean生命周期?胡言乱语讲了一丢,实在记不住介绍一下@PostConstruct,你项目使用过么?(前面bean的生命周期介绍一下,给自己挖坑了,平常根本没用过)Spring中的常用的注解?@resource和@autowire的区别?一个基于名称注入,一个基于类型如何让@autowire能够基于名称进行依赖注入?@Qualifierhashmap底层原理?hashmap是线程安全的么?不是,我介绍了一下ConcurrentHashMap介绍threadlocal底层原理和项目使用threadlocal做了些什么?ThreadLocal内存泄露是怎么回事?没答到关键点上,只说了使用后记得remove,没提到关键:线程池中核心线程长期存在,会导致threadlocalmap对entry是强引用,然后核心线程对threadlocal也是强引用的。介绍一下线程池参数有哪些,什么时候触发拒绝策略?线程池的运行流程是什么?勉勉强强答出来,感觉逻辑有什么讲不够清晰解释一下线程安全?讲一下跨域问题MySQL的索引分类?说了聚合索引和二级索引,顺便联合索引。似乎没答到点子上你遇见过哪些索引实效的情况?redis有哪些数据结构你在项目使用哪些redis数据结构?redis的string的底层了解么?redis的缓存穿透,缓存击穿,缓存雪崩是什么,如何解决?redis是线程安全的么?回答了线程不安全,复盘发现是线程安全的(单线程)http中301和302有什么区别? 回答了300主要是通知客户端请求需要重定向,具体301和302不清楚(永久重定向和临时重定向)https协议是持续链接么?瞎答,没有准备计网的内容(应该想问的http中的长链接和短链接)面后, 项目主管过来聊了20分java中异常如何捕获error和exception的区别?你使用做的项目有考虑多线程并发请求的问题么?你项目能够承受多大访问量?问了一下英语成绩,并现场翻译一段话又开始问计网知识,直接g。除了http协议,还是用过其实网络协议工具的么介绍了工作主要业务和工作时长
0 点赞 评论 收藏
分享
关注他的用户也关注了:
牛客网
牛客企业服务