牛客668403027号 level
获赞
12
粉丝
7
关注
2
看过 TA
119
门头沟学院
2025
Java
IP属地:江西
暂未填写个人简介
私信
关注
01-17 15:42
门头沟学院 Java
算是一家小型初创公司,ai相关,刚起步岗位需求多,投的后端实习岗,年后入职。面试官说有机会接触到一些算法上的东西,公司核心业务可以说是跟自己研究方向相关的,至少目前非常满意😊虽然难度低,也没深挖什么八股,但这次的面试状态是秋招以来最好的一次了(前一天晚上看了会儿今天不coding的直播,听同龄人分享各种经历,确实很大程度上缓解了内心的焦虑),可能也是由于面试形式是展示代码吧,对着自己的代码框框讲,就显得十分自信,面完几个小时后就发offer了。第一个项目是黑马点评,简单展示了一下用户登录,店铺信息缓存,优惠券秒杀的功能。提问:1. 在秒杀时,为什么要用lua脚本。    A:保证原子性2. 为什么选择caffeine做本地缓存    A:技术选型上没有什么考虑,只是知道有这么个技术,就用来练手了。使用caffeine时需要注意缓存一致性问题。3. 项目还有没有其他亮点    A:封装了redisson的布隆过滤器,结合redis缓存空值去避免缓存击穿。由于布隆过滤器是后期引入的,此时数据库已经有一百万条了(模拟的),通过多线程读取数据库中的数据,写入布隆过滤器,来加快布隆过滤器的构建。并利用自增的主键id解决深分页问题。4. 布隆过滤器的原理    A:bitmap,多个hash函数5. 布隆过滤器的缺点    A:误判,不支持删除6. 如何解决删除问题    A:定期重写布隆过滤器    这里面试官说这种方案不好,因为重写过滤器会影响到业务的使用,我提了可以在低峰期重写,但面试官还是不太满意。第二个项目是github上找的一个开源项目,主要关注了一下核心业务的实现,并做了一定的改进与拓展。由于时间原因,简单介绍了一下用rabbitmq异步将用户点赞记录写入数据库的实现。提问:用mq异步写入点赞数据,如果消费者效率慢,会导致前端页面反馈不及时,如何解决A:可以用redis缓存文章点赞数,并定期将mysql中记录的点赞记录数量同步到redis缓存中(当时这里没想好,随便答的。或者应该用redis的set来缓存点赞记录,并定期写入mysql?)反问环节略
查看7道真题和解析
0 点赞 评论 收藏
分享
01-07 19:35
已编辑
门头沟学院 Java
不出意外又凉了,自己的基础知识太不扎实了,无实习经历也是减分项,准备沉淀一段时间了评价:基础不牢,地动山摇。面试官对我的玩具项目不感兴趣,看我非科班出身,疯狂拷打408。LeetCode好久没刷,算法题没写出来,凉!1.自我介绍2.讲讲JWT,为什么要用JWT,JWT的组成,数据怎么存储?Payload里存哪些东西?JWT安全性如何保证?3.你项目里用MD5对用户密码进行加密,为什么要用MD5?MD5安全性存在问题,你知道其他算法吗?你是如何给密码加盐的?4.HTTP与TCP的区别?HTTP有哪些版本,版本之间的区别?5.HTTP请求头中你知道有哪些字段?6.讲讲HTTPS连接建立的过程。为什么需要非对称和对称的两套密码体系?服务器提供的公钥可信吗?CA是什么,有什么用?CA证书可以自己签吗?7.讲讲红黑树。“红”和“黑”的意义?有哪些性质?有哪些优点?你在项目里面用到过红黑树吗?8.讲讲跳表。你在项目里面用到过跳表吗?9.你用过哪些shell命令?如何查看文本的前面几行?如何查看后面几行?10.操作系统管理内存的方式有哪些?11.算法题:LC原题516.最长回文子序列12.逻辑题:数字0-9以7段码的格式显示,求出所有整体旋转180°后,仍为自身的5位数的个数。(例如80808旋转后仍为自身,且首位不能为0)讲讲思路补充一道面试题:volatile关键字有什么用?什么是可见性和有序性?volatile可以保证线程安全吗?为什么?反问
查看13道真题和解析
0 点赞 评论 收藏
分享
01-02 07:04
门头沟学院 Java
半夜醒来睡不着写写之前的面经,能回忆一点是一点了。背景:北京某2 本硕,25届摆子,无实习部门:天猫超市     电话面(45min)1.自我介绍2.谈谈对面向对象的个人理解追问:哪些过程是需要封装的?依据什么来封装?2.5你使用的redis和mysql这些服务,都是自己搭的吗?用的什么云平台?3.你第一个项目写到了用redis来缓存用户登录验证码与token,具体使用场景是怎样的?追问:3.1 如何根据token获取用户登录信息?3.2 用户请求是怎么携带token的?3.3 用户每次请求都会携带token,那么这个token存储在哪?4.场景题:用户可能会因为在其他应用里误触了一些超链接(如点击了携带链接的图片),而触发访问操作,这个操作不是用户想要进行的,但是后端仍然会执行一系列的响应操作,如何避免这个问题?5.介绍一下MySQL的隔离级别追问:5.1 根据你的描述,既然已经有了RR隔离级别,为什么还要有序列化这个级别呢?5.2 RR隔离级别下,锁的粒度?6.你使用redis缓存了一些查询信息,在更新数据时,如何保证一致性?追问:你是如何实现延时删除redis缓存的?7.使用过Spring事务吗?介绍一下Spring事务追问:7.1 一个类的内部有A,B两个方法,其中B开启了事务,我在A中调用B,事务生效吗?7.2 这种情况下如何让事务生效?(答了获取代理对象)7.3 还有其他方法吗?(不知道)8.你第二个项目使用了MQ,如何保证消息被消费?追问:8.1 消费消息是push模式还是pull模式?8.2 消费速度慢,消息堆积怎么办?8.3 消费失败怎么办?8.4 异常日志需要记录哪些信息?8.5 日志记录的信息太多,导致服务器磁盘空间消耗过快,磁盘空间即将用尽,如何紧急处理?(凭感觉回答了限流、熔断)8.6 怎么进行熔断?9.论文完成情况,最近在看哪些岗位工作相关的技术或知识?10. 反问
查看27道真题和解析
0 点赞 评论 收藏
分享

创作者周榜

更多
关注他的用户也关注了:
牛客网
牛客企业服务