#软件开发2024笔面经# 这次只问了第一个java项目,先介绍有无难点,然后问了某块设计的流程,问库存秒杀流程,然后就问到了redis。聊到高可用性重点说了为什么不用红锁。后面问回订单id,场景题:问如何分库分表怎么保证订单id唯一性?雪花算法。追问:不用雪花算法的话如何保证不同表的订单id有序性。答:redis存一个变量。追问:那么每次操作db都要读这个值,有更好的方法吗?项目40分钟后左右进入八股 模式基本是问你了解过吗 然后看心情挖细节:深拷贝 浅拷贝 0拷贝(讲了mmp+write和sendfile 本质优化IO)集合:List线程安全用啥?忘了提示了cowlist 然后我说了cow原理。hashmap 1.7 1.8 头插尾插 死循环 数据覆盖 浅聊了下红黑树和AVL 树化退化 线程安全用ConcurrentHashMapredis:缓存3大问题我结合项目分析的,然后雪崩问题提到nginx限流被问了限流算法(桶漏),再问了有无其他算法(固定窗口,滑窗,令牌)让重点分析下令牌。多线程:线程创建具体细节 可重入锁 不可重入导致的问题 悲观锁乐观锁 乐观锁问题ABA和资源问题 数据库实现乐观锁(版本号)ThreadLocal和内存泄漏 jvm:垃圾回收算法 可达性和计数 记数缺点说了可能删不掉垃圾的情况(忘了具体的 提示循环依赖(面试官真的有耐心很)) 分代收集算法各自优缺点 fullgc时机 聊下cms g1(g1直接说没了解过 1.8不常用)mysql 索引如何存放?慢sql查询?最左前缀?场景:如果我要查询10w到10w零10条记录,如何优化?3道算法题 大概15分钟。1.用栈实现队列2.前序中序重建二叉树3.只使用rand(7)如何实现rand(10)?要求最少次数和算期望。(最开始方法不是最优解 面试官又提供了思路 真的nice 但是这种题我确实见的少)问的挺多的,中间还有些忘了。#面试# #面经#
Java求职圈
点赞 35
评论 16
全部评论

相关推荐

点赞 收藏 评论
分享
牛客网
牛客企业服务