滴滴提前批三面面经

一面
1.oop思想
面向对象思想就是在计算机程序设计过程中,参照现实中事物,将事物的属性特征、行为特征抽象出来,用类来表示。某个事物的一个具体个体称为实例或对象。面向对象编程的核心概念包括类、对象、 封装、继承和多态
2.list和set
3.HashMap和HashTable
4.二叉树左子树节点和
递归属于dfs bfs 层序遍历哪一种 dfs!

二面
1.mysql乐观锁
乐观锁通常使用版本号来实现。每个数据行都有一个版本号,当事务读取数据时,会记录下读取时的版本号,在提交事务时,会检查该版本号是否发生了变化,如果变化了则表示发生了冲突,事务需要进行回滚。
乐观锁是一种相对轻量级的并发控制机制,适用于并发冲突较少的场景,可以提高系统的并发性能。
2.mysql事务隔离级别
3.场景题:抢红包分布式系统 如何实现一人一单
基于数据库的分布式锁、分布式缓存redis的原子操作
4.场景题:如何限制tps
令牌桶算法限流、负载均衡、消息队列、缓存、数据库优化(如索引)
5.令牌桶算法
leetcode15 三数之和

三面主管面
实习拷打
1.mysql悲观锁和乐观锁

悲观锁: 悲观锁假设在整个事务过程中会有并发冲突发生,因此在访问数据之前就会对数据进行加锁,以防止其他事务对数据的修改。主要通过使用SELECT ... FOR UPDATE语句来实现。
乐观锁: 乐观锁则假设在整个事务过程中并发冲突的概率较低,因此不会事先对数据进行加锁,而是在提交事务时检查是否有其他事务对数据进行了修改。主要通过使用版本号或时间戳来实现。

乐观锁的优势在于不需要显式地加锁,减少了锁的开销,但需要在更新数据时进行额外的版本号或时间戳的检查。

悲观锁适用于并发冲突概率较高的场景,适合处理长时间的事务操作;而乐观锁适用于并发冲突概率较低的场景,适合处理短时间的事务操作。

2mysql索引合理性
查询频率、数据量、数据更新频率、索引选择性

反问 滴滴哪些部门有前景、盈利
了解一个公司可以看财报 滴滴国际化主要盈利为金融 出行 外卖配送 在南非国家如巴西建设基础金融支付服务 类似于支付宝微信支付这种业务
全部评论
老哥 三面是没有手撕吗
点赞 回复 分享
发布于 2023-08-28 18:07 广东

相关推荐

04-28 17:45
已编辑
北京邮电大学 Web前端
本人bg26届211本,base北京,之前只做过一些校内的课程或者小比赛的项目,无实验室经历,无实习经历。经过了2个多月的反复面试与折磨,终于是入职字节。从两个月前,也就是这个学期刚开始,开始背八股,看面经。3月初开始投递各个大厂,处女面就是抖音支付,对于当时一点经验都没有的我,真是非常紧张又担心啊,害怕面评有影响,现在回头看,当时确实是学的一点也不扎实,不进二面也是理所当然,之前的面经也有写。而在后续又投了滴滴,小红书,携程,小米,美团等等大厂,除了字节和鹅厂基本没有别的面邀。中小厂有一两家也都是一面面完拖接近一个星期就挂了。半个月基本就过去了,还没有体验进二面的感觉是怎么样的,心态出现了一些波动😣不过这个过程中幸好鹅厂一次次在捞我,最起码能有面邀,不至于连练习的机会也没有。然后在四月初,百度和腾讯第一次让我进了二面,但两个二面都表现得不怎么好然后不出意外的挂掉了,这次真的萌生出放弃的念头了。甚至在这个阶段学了一些ai产品经理相关的东西计划转行,但学了一周发现ai相关的技术是真的不可能速成😭在四月十几号,到了我的生日,于是那个周末回家待了四五天好好休息调节了一下情绪。再回到北京,一鼓作气,在boss上投了字节和几家小厂,同时腾讯又一次给我面邀(这已经是第7个部门了)美团也给了我面邀。结果,那三天加起来面了七八次,这一次多线进行的相当顺利,都是面完一次10分钟就过了接着第二天约二面三面。终于在22号收到了第一份小厂的offer,然后在最近几天又收到了另一家小厂,腾讯,字节的offer,在多个权衡之后最后还是选择了字节。回头看这两个月,真是个磨人的过程啊,尤其是在面完34天没有后续然后挂掉,这中间的几天,真的很折磨心态。但同样道理,在面完之后接着过约第二天二面的感觉也真的很爽。小小记录一下,后续说不定也会更新实习记录~#前端# #字节实习# #春招#
点赞 评论 收藏
分享
04-20 08:14
门头沟学院 Java
TEG一面2.261. JVM内存结构及其作用2.OOM在哪出现,怎么解决3.怎么判断要不要GC,哪些对象要被GC4.哪些对象可以作为GCroots5.redis性能为什么这么高6. redis持久化7.持久化怎么保证数据不丢失8.redis集群9.SpringBoot的结构10.项目11.延迟队列怎么实现,自己写一个怎么实现12.手撕:最长递增子序列TEG二面3.41. 介绍项目2. 你对微服务架构的理解是什么3. 既然微服务是对一个单体项目的拆分,那直接把每一个接口拆成一个服务是不是更好4. 说到远程调用比本地代码调用更消耗性能,那么把一组微服务部署在一起通过本地的远程调用,不涉及到不同实例上远程调用的网络开销,这样能不能解决这个问题5. 一台服务器上不同的两个进程之间的网络调用,按照网络的七层结构来说,这个请求会不会走到网卡,然后通过收发包回到那个进程6. 一个进程给另一个进程发请求,但是其实并不知道另一个进程是部署在本地还是在远端。那操作系统怎么知道这个请求什么时候走网卡发送,什么时候不走网卡7. 如果redis性能不是问题,抗几十万几百万的并发都行,那么redis还有没有什么其他问题(提示热key问题)8. redis里存什么,数据库里存什么。如果redis里和数据库中存的是一样的,那么是不是就不需要数据库都行9. 如果全部在redis中进行操作,那么数据不一致的时候redis挂了,那么不就出问题了吗 10. 进程、线程、协程11. 进程的内存结构大概什么样的、低地址高地址是怎么分布的。12. 进程通信的方式13. 各种方式能适用于哪种场景14. 假如说开了一块共享内存大概是3个g,有两个进程都把它挂上去了这个共享内存占不占用本机进程的内存空间(就是说假如本身有4g,那么挂上这块共享内存之后是不是本身进程就相当于到了7g,提示共享内存底层的实现机制)15. 如果不使用框架,自己来实现一个服务器来接受请求,要做哪些事才行(想问sokect编程里的服务器端要能收客户端的请求要做哪些事)TEG三面3.51. 高并发场景中用到了事务吗2. 常见的事务有不同的模式组合,用于异构的分布式系统的数据一致性问题,有哪几种常见的模型(分布式事务的两阶段和三阶段)3. rabbitmq中怎么处理消息堆积问题4. redis中的热key和大key问题5. 如果将热key拆分到不同redis实例中,那不同实例之间的数据同步怎么解决(怎么保证数据在多个实例中的一致性)6. 如果只有1%的key是热key,其他的不是热key。热key的请求量是非热key的几十倍。那么用主从的方式怎么去平衡成本7. mysql是通过什么方式去解决主从同步的8. binlog日志像事务类的操作有回滚之类的各种情况,那么怎么解决同步的从节点也能够在一段时间内保持最终的一致性(事务的主从同步是怎么做的)9. 假设数据库的主节点出了问题,那么怎么把流量迁移到从节点回答选举新的主节点,但是面试官说在做数据同步的时候,主节点挂了会导致数据丢失问题10. 自己设计一个哈希表的类要怎么构建11. 假设内存大小固定为1M,那么要怎么做。怎么在内存有限的情况下保证扩展性和安全性12. 构造一个递归的使用场景,递归怎么转换为迭代13. 将一个Java的源代码,编译成一个可执行的文件,整个编译过程是怎么做的14. 接口和类的分别在哪些场景下使用15. 用类的方式去实现一个单例,要怎么做16. 观察者模式的应用场景TEG一面3.141. 介绍项目2. Redisson分布式锁是怎么实现的,Rdisson具体的加锁过程有了解过吗3.在Redisson可重入的场景下,当前线程没有去解锁。然后这个线程复用了,那么会不会重复的获取到这个锁,或者说意外释放4. redis是单线程还是多线程5. 说下Java集合的继承结构6. 常用的集合有哪些,分别适用那种场景7. hashmap是线程安全的吗8. 多线程环境下hashmap除了put时候的数据覆盖问题还有什么问题9. Java中停止一个线程的话一般怎么停止(怎么让一个线程挂掉或者说阻塞起来)10. 如果一个线程一直在跑,想让它停止掉怎么处理(完全停止)11. 锁升级的过程12. 为什么这么设计13. MySQL中设计索引的话要考虑哪些问题、14. 介绍一下布隆过滤器,以及其原理15. 布隆过滤器有没有什么局限的地方16. Springboot的自动装配17. Spring中两个比较大的特性是什么18. AOP是怎么做到的19. IoC控制反转,反转的是什么东西20. Bean的生命周期21. JVM中的OOM大多可能发生在区域22. 怎么避免出现OOM23. 对象在堆区的晋升机制24.一般在做开发的时候对一些异常是怎么处理的25. 什么情况下Bean对象会注入失败TEG二面忘了
点赞 评论 收藏
分享
评论
4
26
分享

创作者周榜

更多
牛客网
牛客企业服务