美团-后端风控方向一面

面试官人挺好的,先从基础开始。
1、Java基础类型
2、String s = new String("s")创建了几个对象
3、String是可变的吗,底层怎么实现,为什么是不可变的,有哪些好处?
4、String有concat和substring方法,如果我一直调用会产生很多新的对象,Java中有没有什么解决办法?
5、StringBuilder和StringBuffer有啥区别?
6、线程的生命周期
7、创建线程有哪几种方法?
8、讲讲synchronized关键字
9、synchronized关键字修饰不同的地方,是哪些对象获得锁
10、synchronized底层原理
11、Java 1.6后的synchronized有哪些优化(好像是这么问的吧)
12、ReentrantLock和synchronized区别
13、分别适用什么场景
14、线程池原理讲一下,就是触发条件
15、线程池创建参数
16、拒绝策略有哪些
17、有一个并发量很高的场景,如何设计线程池
18、线程池常见的阻塞队列
19、给了一个SQL语句,select * from student where age = 13 order by descoffset 100000 limit 10 问这个语句有什么问题
20、获取10条数据要处理10000010条数据,怎么解决?
21、这里有个解决方案让写sql语句了
22、redis缓存三兄弟,如何解决
手撕代码
二叉树的层序遍历
全部评论
二面了嘛
点赞 回复 分享
发布于 09-17 18:48 天津

相关推荐

11-23 19:25
门头沟学院 Java
1.实习介绍2. 你刚才说全链路 10ms 内,这个“10ms”的统计口径具体是从哪到哪?是否包含撮合?如果不包含,柜台内处理和SDK 通信层各占多少?实际压测数据大概是怎么样的3. 说一个最近一次的容量上限:平峰 QPS、行情峰值 QPS、触顶现象是什么4. 为什么选Disruptor而不是LinkedBlockingQueue5.userId%128 做分片——如果用户写或者查很频繁倾斜怎么监测?当有三五个高频量化用户扎堆到同一分片,你们是怎么处理6.迁移前后的有序性怎么保证?7. 第一阶段和第二阶段双层 RingBuffer 的拆分依据是什么8.业务逻辑、持久化、推送为什么不放在一个阶段里用不同handler9.你们是事件源还是只是“事件日志 + 最终态”?RocksDB里存事件还是快照?快照生成策略是什么10.baseLog和RocksDB的边界点是什么?如果RocksDB 落地成功但baseLog→MySQL异步失败怎么办11. 说你们做的是真改单不是撤下重下。那由10个BTC调到11个时,增量冻结要做两阶段么,怎么做,撮合拒绝后怎么回滚呢12.市价改单vs限价改单的冻结口径什么区别?盘口估算失败时你们有保护系数吗?精度/最小变动价位校验放在第一阶段还是SDK前面13.改单失败场景列举一下?比如订单已撮合、深度变更、风控锁定、余额变化、系统切分片迁移中。每种失败的用户可感知到的行为和状态的回退分别是什么样的14. 你们那个柜台和撮合通信的SDK 的发送队列和接收队列是批量阈值触发,那批大小是静态还是自适应?峰值时批过大对尾延迟的影响怎么去抑制呢15.rokesDB 写放大/读放大/空间放大这些你们怎么权衡?用了哪些compaction 策略16. 压测时出现RocksDB 写吞吐低,你们改成128分片、8线程写8库?你们为什么要这么去分,依据是什么,128个分片会不会太多17. 统一账户上线前,你们老柜台如何兼容限额?母账户限额、币对限额、池子限额、档位限额的冻结时机分别是什么?新老系统共用/分开配置怎么保证一致呢18.自动借币/还币是Try/Confirm/Cancel 还是最终一致补偿?借币失败是不是要回滚下单
查看17道真题和解析
点赞 评论 收藏
分享
评论
2
4
分享

创作者周榜

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