滴滴24届秋储java一面&二面面经

一面 : 1h
自我介绍: 5min
项目涉及到的八股: 40min
1. CAS的缺点?
     ·ABA问题 
     解决方案: 同数据乐观锁的方式给它加一个版本号或者时间戳,如AtomicStampedReference
     ·自旋消耗资源
     解决方案:破坏掉for死循环,当超过一定时间或者一定次数时,return退出。JDK8新增的LongAddr,和ConcurrentHashMap类似的方法。当多个线程竞争时,将粒度变小,将一个变量拆分为多个变量,达到多个线程访问多个资源的效果,最后再调用sum把它合起来
     ·多变量共享一致性问题
      解决方案:CAS操作是针对一个变量的,如果对多个变量操作,可以加锁或封装成对象类解决
2.Spring依赖注入的方法?具体实现?
     Set方法注入 构造器注入 静态工厂的方法注入 实例工厂的方法注入;实现可通过注解/xml配置文件
3.如何实现分布式锁?
     ·在获取锁时存入线程标示
     ·在释放锁时先获取锁中的线程标示,判断是否与当前线程标示一致(解决普通setnx分布式锁并发条件下,a线程阻塞获取锁超时,b线程进来也能获取锁的问题)
     ·如果一致则释放锁
     
八股 :
1.LinkedList底层原理?
     基于双向链表的数据结构,头尾节点增删时间复杂度是O(1),其他都需要遍历链表,时间复杂度是O(n),给定节点增删时间复杂度也是O(1),让cur.pre = cur.next即可

反问 :(10min)
1. 实习生实际项目开发场景?
答: 技术栈没有出入,多了一些微服务架构和分布式相关知识,更多在于业务实现,要考虑的问题与单体系统不同

2. 面试时如何筛选实习生?
答: 水平到了基准线就会继续进入下一轮

算法: 合并两个有序链表 
需要自定义链表结构 自定义输入输出(没搞出来 不会用acm模式)但是核心代码a出来了

面试完十分钟之后立刻发来二面链接,菜鸟震惊

二面:1h
纯项目拷打 无八股 更加注重项目细节 讲述自己如何从0开始搭建项目的过程 

总结一下,两个面试官都只问项目,接着落实到具体实现以及用到的技术栈+项目难点,几乎没有烦人的八股/源码拷打(可能穿插在项目里了吧),跟我之前面的厂完全不一样的感受,现在等后续通知中
全部评论
老哥可以问下是什么时候面的呀?这是哪个部门,推进好快
1 回复 分享
发布于 2023-06-09 08:15 浙江
一共几次面试
1 回复 分享
发布于 2023-06-09 11:06 山西
请问是啥项目呀
1 回复 分享
发布于 2023-06-21 14:49 浙江
烟草✌🏻!
点赞 回复 分享
发布于 2023-06-11 18:01 广东
自我介绍五分钟都说些什么啊
点赞 回复 分享
发布于 2023-06-12 08:55 四川
二面手撕的代码题是啥呢
点赞 回复 分享
发布于 2023-06-15 10:26 四川

相关推荐

2024-12-25 09:09
四川师范大学 运营
点赞 评论 收藏
分享
评论
13
57
分享
牛客网
牛客企业服务