得物:后端开发 面经

  • 一面
    • 自我介绍
    • 多路复用
    • select、poll、epoll
    • TCP拥塞控制
    • TCP 沾包
    • TCP 沾包解决方式
    • ReentrantLock
    • AQS
    • ReentrantLock可重入怎么实现
    • 自己设计的话怎么做
    • ReentrantLock公平锁和非公平怎么实现
    • 锁升级
    • 对象头,objct在jvm里的布局
    • ThreadLocal
    • ThreadLocal内存泄漏
    • 垃圾清除算法
    • G1垃圾回收器
    • 如何进行标记
    • 三色标记法
    • mysql底层索引结构
    • 回表
    • 索引失效场景
    • redis分布式锁实现
    • A线程已经获取到了分布式锁,极端情况下,B线程可以获取到锁嘛
    • 红锁
    • 常见的限流算法
  • 二面放弃
全部评论
汗流浃背
1 回复 分享
发布于 2024-11-24 11:13 山西
非语言向关题解 多路复用 IO多路复用是指内核一旦发现进程指定的一个或者多个IO条件准备读取,它就通知该进程. 而不是阻塞在单个IO上面, 提高处理性能. select、poll、epoll select: 使用轮询(效率低)是否有感兴趣的事件发生, 底层使用bitmap标记, 现在了1024的文件描述服上限 poll: 使用pollfd数组替换bitmap的实现,没有1024的限制了, 还是轮询(效率低) epoll: 使用事件触发通知,内核回调的方式, 避免了轮询,能够高效处理. TCP拥塞控制 拥塞控制, 工具网络拥塞情况调整数据发送速度(拥塞窗口cwnd) 拥塞控制算法: 慢启动(指数增长) ,到达阈值后,拥塞避免(线性增长), 遇到拥塞后(超时), 将阈值调整为当前的一半,然后进入重启动. 快重传(优化): 当收到同一个ack3次后, 认为发送拥塞, 重传ack对应的数据, 快恢复(优化): 然后cwnd调整为当前的一半, 不进入慢启动,自己进入拥塞避免 TCP 沾包 应该是tcp 粘包, 说的是tcp是传输的数据是字节流, 数据是连续的, tcp协议层无法区分一次数据传输的其实位置, 需要应用层处理. TCP 沾包解决方式 固定长度 固定头部(头部中固定位置表示整个body的长度)+可变长度的body 特殊字符做分隔符 mysql底层索引结构 底层采用B+树实现索引. 回表 回表指通过普通索引查到对应的数据行主建id之后, 再使用主建id到数据表中查询需要的数据行数据, 如果索引中已经包含了所有要查询的数据(覆盖索引), 就可以避免回表查询, 提高性能. 索引失效场景 1. 查询条件使用了函数或表达式 2. 隐式类型转换 3. LIKE 查询以通配符开头 4. OR 条件未全部使用索引列 5. 不满足最左前缀原则(复合索引) 6. 查询条件包含范围查询(复合索引) 7. NULL 值处理 8. 查询优化器选择错误的执行计划 9. ORDER BY 与 LIMIT 不匹配索引 10. 数据量太小
1 回复 分享
发布于 2024-11-25 20:27 湖北
我能汗流浃背到脱水
点赞 回复 分享
发布于 2024-11-24 16:15 陕西
问的都是八股,但感觉都挺深的
点赞 回复 分享
发布于 2024-11-25 12:01 山西
纯纯八股拷打
点赞 回复 分享
发布于 2024-11-27 19:52 广东

相关推荐

2024-12-17 21:31
蚌埠坦克学院 Web前端
点赞 评论 收藏
分享
2024-12-05 10:43
已编辑
中国戏曲学院 Java
2024-12-04 技术1面第五个问题不会,搞的有点紧张,后续回答的不是特别好(虽然基本都扯出来了)。1、自我介绍2、介绍你工作内容比较多的一个项目3、为什么做这个项目,初衷是什么4、怎么做的幂等性5、你是依赖数据库的依赖,如果要按照逻辑怎么做(业务逻辑层)6、介绍一下redission框架7、介绍一下缓存击穿、缓存雪崩、缓存穿透8、mysql默认的事务级别是什么,其他三个是什么9、数据库的关键字的执行顺序10、数据库的三个范式讲一下11、数据库表的设计的时候有什么优化,比如说问卷调查要设计哪几张表12、数据库的sql优化13、数据库的关键字like会导致索引失效吗14、还有哪些会索引失效15、有没有接触linux服务器16、有没有考虑到权限管理17、了解RBAC模型吗,有用过吗你的项目里18、消息队列你有用过吗19、java的基础数据类型有哪些20、基本数据类型和包装数据类型有什么区别21、它们的比较方式有什么区别22、重载和重写有什么区别23、如果一个类没有构造方法,会执行吗24、String、StringBuffer、StringBuilder有什么区别25、讲一下JVM内部结构26、1.8以后有什么区别27、什么时候会GC反问:1、面试表现怎么样,有什么提高建议(提高一下实际公司开发的业务能力)2、后面还有面试吗——————————1面过,约二面2024-12-05 技术二面1、自我介绍2、你的项目搭在本机还是云平台3、本机有考虑容器化技术吗4、为什么用SSE而不是WebSocket5、有了解过SSE、WebSocket集群化打到同一个地址的问题6、有没有其他的半双工、全双工技术7、介绍一下响应式编程8、你知道AI领域的文本向量化9、能整体介绍下业务场景吗10、你整体的数据库设计11、有想过有些数据表可以用MyISAM引擎12、 InnoDB 索引的命中机制的原理13、你希望做tob还是toc的项目14、你希望技术上有什么短期目标15、最近在学什么16、设计模式和算法有了解过吗反问:1、面试表现怎么样,有什么提高建议##面试#
查看45道真题和解析
点赞 评论 收藏
分享
评论
6
18
分享
牛客网
牛客企业服务