滴滴一二三面(礼橙优选,java开发)

滴滴的效率还是很高,一天三面就结束了,希望能有个HR面。

一面:(一个小时,主要问的基础知识)

  1. 自我介绍?项目的详细了解

  2. 应用集成,是怎么集成的?

  3. mybatis的二级缓存是怎么实现的?二级缓存和一级缓存是存了哪些数据?

  4. zookeeper集群的角色?角色的区别及切换过程?zab选举的具体过程?

  5. zookeeper的工作原理?znode + wather?

  6. 如何保证订单接口的幂等性?

  7. redis的数据结构?zset的实现原理(zipList/dic/跳表)?跳表是怎么做的?

  8. redis的底层实现机制了解哪些?单线程多路复用如何实现的?

  9. redis的持久化方式及其优缺点?

  10. 缓存穿透和缓存雪崩及解决办法?布隆过滤器的基本原理?

  11. mysql存储用到的数据结构(B+树,hash)?讲一下B+树插入数据的过程?

  12. mysql查询比较慢的原因排查?

  13. 什么情况下会导致没走索引?

  14. 组合索引的最左匹配原则的底层原理?】

  15. 类加载的具体过程?加载、验证、准备、解析、初始化

  16. 实现类动态加载的机制有哪些?

  17. Java实现锁的方式有哪几种?synchronize的实现方式、底层原理、锁升级的过程?

  18. lock和synchronize的区别?Lock是公平锁还是非公平锁?

  19. 如何创建线程池?ThreadPoolExcutor的七个参数?拒绝策略有哪些?

  20. 阻塞队列有哪些?ArrayListBlockingQueue和LinkedListBlockingQueue之间的区别?

  21. 介绍一下单例模式?双重检查锁的实现方式?

  22. 算法题:如何获取一个数组里面第k大的数?堆排序的过程,时间复杂度?【没有手撕】

二面:(50分钟,主要是挖项目)这个跟大家自己的简历有关系,我的这些问题只是针对我自己的项目问的。

  1. 问了自己的毕设,一个SaaS系统,问这个系统是如何设计?

  2. RBAC权限控制的过程?资源、角色、权限的相互关系?角色组。

  3. 数据是如何隔离的?服务隔离怎么考虑的?

  4. 为什么使用微服务?微服务和单体的区别?dubbo和springcloud是怎么选择的?

  5. 服务的划分是怎么考虑的?

  6. 讲一下CAS单点登录的原理?

  7. 讲一下重定向的实现?跟重定向相关的状态码?301和302的区别?

  8. 讲一下HashMap的底层结构?put一个元素的过程?如何解决hash冲突?链表上是进行头插还是尾插?rehash的过程有插入怎么办?头插为啥会成环?

  9. 想想之前的项目,有没有什么可以改进的地方?

  10. 从性能角度的来看,可以做什么改进?【缓存、CDN、多线程……】

三面:(70分钟)主管面,问题都有点形而上的感觉,更加看面试者的思考过程,对技术本质的理解

  1. 介绍一下项目?

  2. 不是计算机专业的为啥学计算机?

  3. 讲讲对于微服务的理解?

  4. 讲讲对springboot的理解?

  5. 手撕算法题两个:八皇后问题,判断一个二叉树是不是平衡树。

  6. 讲一下对于dubbo的理解?

  7. 怎么看待微信小程序?微信为什么要推小程序?

  8. 你知道你所在的chengs有多少辆公共汽车?思考一下如何统计出来?

  9. 如何知道西安市一天有多少人做公交车?【主要是考查思路,也没有正确答案】

  10. 讲一下自己的最大优点?

  11. 讲一下自己的缺点?

  12. 因为自己不是计算机专业,提出要考考我计算机基础:

    • 讲一下TCP/IP协议?

    • TCP协议本身百分之百可靠吗?设计的角度来看。

    • 讲一下冯诺依曼计算机体系结构?

  13. 反问环节:

#滴滴##面经##校招##Java工程师#
全部评论
不是计算机的?🐂🍺
点赞 回复 分享
发布于 2020-09-05 22:22
毕设?楼主毕业了?
点赞 回复 分享
发布于 2020-09-06 10:20

相关推荐

不愿透露姓名的神秘牛友
11-19 16:57
点赞 评论 收藏
分享
评论
3
26
分享
牛客网
牛客企业服务