北京即时设计Java二面

全程追问,压力很大(不过给的也确实多,可惜鼠鼠没把握住机会...哎),没有手撕,但是面试官会给场景让你说思路。面试官人也挺好的,引导式提问,不是纯刁难。
只会八股确实不够用,着重考查实际能力。很多东西确实没有准备到,只能说好好复盘思考吧!

1:讲一下你实习经历里,做的比较好、或者对你来说最有挑战的部分。
2:你用 Redis 分布式锁的时候,锁的超时时间是怎么确定的?设置的多大?
3:如果业务执行时间超过了锁的超时时间,会发生什么?
4:加锁的执行过程中,服务宕机了,会有什么问题?对应的解决方案是什么?
5:旁路缓存模式(查询先查缓存,无则查库写缓存;更新先更数据库,成功后删缓存),什么极端场景会出现缓存与数据库长时间不一致?
6:上面这个长时间不一致的场景,有什么解决方案?
7:一张表有 a、b 两个字段,分别建了单列索引,查询语句 where a=x and b=y,MySQL 是怎么决策用 a 索引还是 b 索引的?
8:Java 服务线上发生内存溢出 OOM,你会怎么排查定位?步骤是什么?
9:JVM 进行 GC 的时候,怎么判断一个对象是不是垃圾,能不能被回收?
10:Java 并发的组件 / 类你有用过哪些?举一个实际开发中使用的具体场景。
11:设计一个场景:异步发起 100 个任务请求外部接口,每个接口返回一个 int 值,并发执行后,统计这 100 个结果中的最大值,你会怎么设计?
#面试##面经##面试问题记录##牛客AI配图神器#
全部评论
佬这么多面啊boss全是送达和已读不回
点赞 回复 分享
发布于 03-26 18:15 四川

相关推荐

八股盛宴。面试官是一名女生,感觉在对着AI给我提问,说话的时候一直在低头看。算法题做完之后也没评价,就直接进入反问环节了。1:自我介绍。2:Java 的基本类型和包装类型有什么区别?3:面向对象的三个特征是什么,简单讲解一下?4:Exception 和 Error 的区别是什么?5:讲一下 JVM 内存区域的组成?6:讲一下类加载的双亲委派的加载过程?7:JVM 线程私有区域里,哪个区域不会出现 OOM 异常?8:说几种会导致 OOM 异常的场景?9:开发中有没有遇到过 OOM 问题,是怎么排查的?10:简单讲一下垃圾回收相关的算法?11:讲一下 HashMap 的 put 存储过程?12:HashMap 为什么不直接用红黑树,而要先用链表?13:ConcurrentHashMap 和 HashMap 的区别是什么,它的底层也是红黑树吗?14:AQS 是什么,它的两种模式是什么?15:定义线程池的核心属性有哪些?16:线程池的核心参数分别有什么作用,任务提交到线程池的执行流程是什么?17:线程池里的线程执行任务时抛出异常,这个线程会怎么样?18:讲一下线程池的几种拒绝策略?19:已经终止执行完成的线程,能不能重新启动,有什么方式?20:Spring Boot 的启动过程你了解吗?未答出来22:讲几个 Spring 常用的注解?23:@Resource 和 @Autowired 的区别是什么?未答出来24:开发中有没有自己封装过注解?无25:讲一个你比较熟悉的设计模式?26:一条查询 SQL 的执行过程是怎样的?27:怎么去建索引,怎么保证索引生效,怎么优化查询?28:讲一下 你们项目中Redis 的使用场景?29:用户领取优惠券失败的场景是怎么处理的?30:怎么防止优惠券发放数量超发、超领?31:25年支付宝事故,如果出现优惠券配置错误,导致用户享受的折扣超出预期,怎么避免这类事件发生?32:共享屏幕,请完成寻找最长回文子字符串的算法题。
点赞 评论 收藏
分享
03-25 14:47
已编辑
中国地质大学(北京) Java
实习项目拷问实习期间项目挑一两个重点说一下如何定位慢sql这是一个什么联合索引为什么不给中间的status的填进去?好问题表的数据量有没有分表,怎么分表?按月分表,那么分页查询怎么查?前端有传时间范围单表查询时长?10ms到50ms深分页怎么处理?缓存优化怎么做的?主动更新缓存失败?主动更新的并发问题?用的是什么消息队列?消息丢失怎么处理?这个系统可用性如何考虑的?定时脚本:解决入队失败,以及消费这个回调失败 ,缓存降级缓存命中率?基础知识服务器如何识别http的请求头和请求体的?cookie在http中如何传输 ?如何实现一个线程安全的任务队列?数据库为什么要有连接池?刚才你说到数据库连接池为了防止链接频繁的创建销毁,那么像http服务器,rpc服务器他们的连接就是频繁创建和销毁没有连接池,那为什么数据库需要连接池呢?答:因为数据库连接是昂贵、有状态、数量有限的资源,而 HTTP/RPC 是轻量、无状态、可快速销毁的,所以数据库必须用连接池来复用,HTTP 不需要。1. 连接成本完全不一样HTTP 连接:只是一个 TCP 短连接,用完就断,没有状态、没有认证、没有会话上下文,创建销毁非常轻。就算用 HTTP 长连接,也是复用 TCP,不是复用业务状态。数据库连接:是有状态的重量级连接:TCP 握手 + 用户名密码验证 + 权限检查 + 会话初始化(事务、锁、缓存区)。这个成本是 HTTP 的 几十倍上百倍。2. 生命周期完全不同HTTP 请求:一次请求一次连接,用完即丢,非常短暂。数据库连接:一旦建立,可以持续复用很久,完全没必要每次执行 SQL 都重新建连接。3. 数据库对连接数量极其敏感数据库有严格连接上限(MySQL 默认 151)。连接多了,数据库会:内存暴涨、线程爆炸、锁冲突、直接夯死。而 HTTP 服务器扛几万连接都没事,因为它是非阻塞、IO 多路复用,不占很重的资源。算法题:数组平方后的不同数
查看21道真题和解析
点赞 评论 收藏
分享
评论
5
1
分享

创作者周榜

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