百度后端Java开发oc面经(含timeline)

🕐面试时间:7.14,7.23,7.31;意向是9.22发的 提前批无笔试
💻面试岗位:后端开发工程师(上海)

一面
总时长:60分钟
1. 算法题,重排链表
2. ThreadLocal原理,使用时要注意的问题,线程如果再开子线程如何传递
3. MySQL的索引,聚簇索引,非聚簇索引,索引失效的情况
4. MySQL中MVCC的原理,对应的log是什么,介绍下三种log,并介绍他们的本质区别;并且从redo log迁移到WAL技术
5. MySQL的深度分页问题
6. Redis的big key问题,缓存使用时要注意什么
7. Spring的三级缓存,解决的是什么问题
8. SpringBoot中的Autowired和Resource的区别
9. SpringBoot中的事务管理,传播级别,失效的情况,用于解决什么问题
10. 线上的问题如何排查,如果日志一下看不出来结果该如何做
11. 从前端到后端的一个请求的request id,用什么机制保存;如果用日志打印的话,在系统设计的哪一步打印

二面
总时长:30分种
1. MySQL假如有一个用户表,有一个字段是name,并且为其创建了非唯一索引,并且当前表中有三条记录都是name=xxx,那么开启一个事务后,并且执行select * from 这个表 where name = 'XXX' for update,加的什么锁?
如果此时又来一个insert into 这个表 values(....),其中name也是'XXX',能插入的了嘛
如果自己设计mysql的锁会怎么设计
2. 一个BS架构的系统,怎么从前端后端的角度来设计,使得不要那么阻塞
3. 如果有一个后端的接口,接口内需要访问其他四个服务,这四个服务都是100ms,如果顺序访问要400ms,如果只用一个线程,不用多线程,怎么降到100ms多(IO多路复用那一套,具体到Java是NIO)
4. 喜欢业务开发还是基架开发
5. 喜欢C端还是B端

三面
总时长:30分钟
1. 介绍一下自己的实习做的事
2. 对大模型的了解
3. 喜欢C端还是B端的业务
4. 后面的时间安排(是不是要回学校之类)
5. 对之后自己成长的想法
6. 为什么不喜欢做算法,为什么我这么喜欢做开发

#发面经攒人品##offer决赛圈,我是怎么选的##offer帮选##offer##java##后端##百度#
全部评论
百度已经开了吗 字节六面挂 百度三面泡池子 PDD三面挂 快手三面挂 美团二面挂 京东三面挂 腾讯投简历石沉大海 后面还有机会吗😤
点赞 回复 分享
发布于 10-02 12:51 山东

相关推荐

11-25 12:25
门头沟学院 Java
1、项目介绍2、new一个hashmap和new一个hashmap(16)在底层执行时,空间分配上有什么不同吗3、hashmap是线程安全的吗,多线程时,举例说明在什么条件下会出现死循环4、多线程在扩容时,会发生线程之间相互覆盖的现象吗5、现在让你选择一个性能比较好的线程安全的hashmap,你会选择哪个6、你刚刚提到说读不加锁,那如何保证不脏读呢,如何保证可见性呢7、加了可见性的话,对性能有影响吗8、concurrenthashmap如何保证扩容时的线程安全9、现在让你设计一个线程安全的list,用来存储配置数据,读多写少,你会选择什么样的list(用已有的,或者改造一个list)10、如果读写比一样呢,读多写也多的情况11、你提到用CAS,CAS一定好过锁吗12、你说加细粒度的锁,能细到什么程度,如果我要给链表尾插入数据如何加锁,在链表头插入数据如果加锁13、b+树做索引的优势14、怎么判断是不是用的我们设计的索引15、索引失效16、你说到数据量比较少的情况下会全表扫描,那数据库如何判断数据的多少从而决定索引方式呢17、你用的引擎是行存还是列存,他们分别的优劣势18、讲实习,你的压缩线程如果挂了怎么办,有没有做一些线程的状态的监控19、手撕:快排20、复杂度是多少21、最坏复杂度在什么场景下出现,我们可以如何优化这种场景22、有了解过jdk本身的sort排序吗23、快排和其他排序比起来有什么优势吗,是稳定排序吗24、闲聊、反问
查看23道真题和解析
点赞 评论 收藏
分享
11-26 10:15
门头沟学院 Java
1. 项目介绍2. 具体展开介绍一个有挑战/有亮点的项目3. 项目中记忆深刻的难点4. 项目细节的问答(大概7个问题,20分钟)5. 手撕题:1047 删除字符串中的所有相邻重复项,问有无其他方案6. 手撕题:两个简单sql(一个group by,一个join in、子查询两个方案)7. JDK 的版本是多少?JDK 17、21的新特性是什么8. 创建一个线程池的方法?Executors能创建哪些线程池9. 核心线程数是什么意思?10. 阻塞队列是做什么?阻塞队列有可能会满吗?11. 如果我不想让阻塞队列满,一直往阻塞队列里面加,这种情况下可以实现吗?12. 阻塞队列满了之后把后面的新请求丢弃掉,这种可以实现吗?13. 首先核心线程数设置为5,任务都在核心线程上去执行,假如核心线程满了之后,希望说新请求继续创建新的线程去执行,然后一直到满足最大线程数的阈值之后,后续再来新的请求丢进阻塞队列里去等待。这种可以实现吗?14. JVM,包括垃圾回收这块,了解得多吗15. spring 版本是多少16. A类有A1方法,B类有B1、B2方法,A类中注入B类。spring 里的一个调用链:请求先请求到 A1 方法, A1 内部又调用了 B1 方法, B1内部又调用到 B2 方法,内部都没有异常。transactional注解加在B1方法上,哪些函数内部的数据库操作会包裹在事务里面去执行?如果加在B2方法上呢?17. MySQL用的是哪个版本18. select from score where student id=1 for update。数据库引擎是InnoDB,隔离级别也是默认的隔离级别,现在会加什么锁?假设条件改成不等于1呢?
点赞 评论 收藏
分享
评论
5
28
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务