招银网络科技 - 最恶心的面试
一面(9.9)
rabbitmq如何保证可靠,ack响应的几种模式,具体用哪个代码实现的?
rabbitmq如何实现延迟队列?死信队列有哪些参数需要注意?
Redis做缓存数据不一致如何解决?
redis批量查询需要注意的事项?
慢SQL如何排查并优化
如何获取一个类的私有成员变量,反射的话具体调用哪个方法获取?
Spring异常如何处理,全局异常捕获器如何实现?具体继承哪个方法?
手撕:使用线程池处理并行任务,要求:
1.创建一个包含2个核心线程的线程池,其他无要求
2.提交4个任务,每个任务计算1~指定数字的累加和(数字分别为10、20、30、40)
3.每个任务执行完毕后输出打印计算结果
4.确保所有任务完成后关闭线程池,最后输出“所有计算任务已完成”
上述代码中的变量分别存在jvm内存的哪个区域?
代码执行的过程中会有哪些异常抛出的可能?
代码是否会有内存泄漏的风险?
一面面试官:“你觉得对就是对的😊”
本来没有想着过,9.10收到线下邀约
二面(9.17南京线下)
rabbitmq消息堆积了怎么办,用哪个API查看原因
如果限流生产者该如何限流,有哪些限流算法。
如果增加消费者依据哪些指标来增加消费者。
多线程手撕(均在白纸上写):
1.用队列实现生产者消费者模式,保障线程安全。
2.主线程里开五个子线程来完成文件写入,所有子线程都写完后统计文件的大小。
mybatis和mybatis-plus有什么区别?
mybatis动态Sql的好处是什么
手写mybatis动态Sql:模糊查询,条件查询,具体用到哪些标签?
手写springaop切面编程,判断请求中是否有用户电话,如果有记录则写入数据库中。
二面面试官:“我看重工程落地实现😊,你不用等了直接回去吧😁”