知乎后端开发面试题及项目经验汇总

📍面试公司:知乎
🕐面试时间:9月7号
💻面试岗位:后端开发

❓面试问题:
**一、八股**
1. Java中AQS的实现原理和应用场景
2. JVM中类加载器的双亲委派机制及其打破方式
3. Spring事务传播机制及其底层实现
4. MySQL的间隙锁和临键锁的区别
5. Redis的Stream数据类型及其在消息队列中的应用
6. 分布式系统中的BASE理论具体指什么
7. Kafka如何保证Exactly-Once语义
8. 如何设计一个分布式系统的服务注册发现机制
9. 什么是DDD领域驱动设计
10. Java中强引用、软引用、弱引用的区别
11. 数据库连接池的监控指标有哪些
12. 如何实现分布式系统的灰度发布
13. 什么是服务网格的遥测技术
14. 如何设计一个高性能的分布式计数器
15. 谈谈你对事件溯源模式的理解

**二、项目**
1. **苍穹外卖项目**:
   - 分布式锁在订单系统中的具体实现方案
   - 如何设计商户端的权限管理系统

2. **黑马点评项目**:
   - 评论系统的分词和敏感词过滤如何实现
   - 用户行为日志的收集和分析方案

**三、手撕**
1. 力扣79.单词搜索:给定一个m×n的二维网格和一个字符串单词,判断单词是否存在于网格中
   - 思路:回溯算法,深度优先搜索,注意剪枝和visited标记

2. 力扣48.旋转图像:给定一个n×n的二维矩阵,将其顺时针旋转90度
   - 思路:先对角线翻转再水平翻转,或者直接计算新位置

#发面经攒人品#
全部评论
这个问 ddd 问的贼细
点赞 回复 分享
发布于 2025-09-07 13:06 陕西

相关推荐

开场: 1、熟悉的语言八股:2、Java 当中的常见集合介绍下3、ConcurrentHashMap Segment 分段锁有什么弊端4、StringBuilder 和 StringBuffer 的区别,**StringBuffer 如何保证线程安全的**5、JVM 内存结构了解吗6、JVM 常见问题排查常用命令知道吗7、Java 基本数据类型和包装类型的区别8、int a = 2; Integer b = 2; a == b; 以及 Integer a = 200; Integer b = 200; a == b; 结果分别是9、B 树和 B+ 树的区别10、Redis 了解吗11、Redis 持久化方式介绍下12、先后执行 set name 张三 和 set name 李四 在 AOF 持久化过程中都写入 AOF 文件吗13、场景:类似 12306 买车票,如何保证多个请求不会发生超卖14、Redis 高可用方案知道哪些15、Redis Cluster 集群如何分配 key 在哪个 slot16、一般什么情况下会用 Redis17、String 类型,如果 value 大小几十兆会怎么样18、Set 类型元素个数过多怎么办19、SQL 语句性能问题如何排查优化20、MySQL 什么情况下会锁表21、场景:一个表,name 字段是非唯一索引,有多条 name = 张三,这个时候查询 where name = 张三,是什么锁22、场景:一个表,用户余额进行扣减,只在MySQL层面,如何保证并发安全23、MySQL 什么情况下加记录锁24、TCP 和 UDP 区别,HTTP 用的哪个传输协议25、HTTP 报文有哪些部分,响应体有哪些类型26、TCP 三次握手和四次挥手过程,为什么不是五次六次其他:27、平时写代码有什么注意的点或者规范吗28、一个大型项目,你会怎么对代码分层29、平时写代码会用到 AI 吗,哪些场景会用30、到岗时间、实习时间、实习地点相关反问:
查看30道真题和解析
点赞 评论 收藏
分享
04-12 18:08
已编辑
合肥工业大学宣城校区 Java
1. 自我介绍2. Java是否为你使用最多的开发语言3. 项目为实际实习项目还是个人自研项目4. Java包含哪些锁及对应特性5. 日常使用最多的锁类型6. Synchronized属于JVM层面还是其他层面的锁7. Synchronized与ReentrantLock的适用场景8. Spring Boot中Bean的加载流程9. Java如何实现类似C++析构函数的资源释放与优雅停机能力(想答GC,面试官说不是这个,就答了Bean销毁阶段加注解,应该对了)10.TCP三次握手过程,为什么要第三次握手11. 多线程与多进程的区别,及对线程和进程的理解12. Java线程与操作系统线程的映射比例13. 父子进程间常见的通信机制14. 同一应用内单个进程挂掉是否会影响其他进程15. 多线程之间是否会相互影响16. 单一线程异常是否会导致其他所有线程挂掉17. 写文件从用户态到内核态再到磁盘写入的全流程中,存在缓存的环节(不会,答了缓存池让我答得更具体点. Gemini说是操作系统底层的 Page Cache页缓存和 Kernel Buffer内核缓冲区)提示:思考CAS是用户态的还是内核态的18. MySQL表数据超两千万行推荐分库分表的原因19. 表数据超两千万行后的性能瓶颈 (磁盘到内存的IO操作)20. 表数据超两千万行前后的IO次数变化及平均增量21. MySQL选用B+树作为索引数据结构的原因22. 不分库分表时20毫秒的RT是否会影响业务23. MySQL binlog、redolog、undolog各自解决的核心问题24. Redis高性能的核心体现25. Redis Zset的底层实现, 为什么用压缩列表而非仅用跳表实现26. 做过的最有挑战性的项目介绍(经典外卖)27. 项目是否上线,有无真实用户使用28. 项目难点,流程,接口设计29. 下单流程中Redis扣减库存成功但MySQL更新失败导致数据不一致的处理方案30. Redis缓存击穿、缓存穿透、缓存雪崩的核心含义31. 三类缓存问题的应对与规避方案32. 如果用Redis做持久化 , 热点key大量并发访问时,如何实现多请求仅单次回源Redis以降低压力(完全想不到,Gemini说要加Local Cache实现多级缓存)手撕:用快速排序整理链表(看我卡了,就说归并也行.最后用归并做了)反问:1.哪里可以提升(进程线程,redis,项目的常用指标要了解)2.pdd业务有没有ai升级(公司会有一些插件集成大模型放到你的IDE里面去写代码,研发团队负责了解得比较深,开发只需要会用就好.)3.部门详情(报了一大堆技术栈我也没听明白,后面有人找就结束了)要是纯八股的话答得还行,一旦结合场景要拓展要测试上限就炸了还有拼多多那个编译器真懒得喷,啥提示都没有,我连public都手快打错了不知道能不能过,面试机会是真少
点赞 评论 收藏
分享
评论
2
11
分享

创作者周榜

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