bat面试题

第一题

  • 有一个压测场景开启了三个线程,每个线程需要加载完毕资源后需要其他线程也加载完毕后才能同时发起对目标服务的压测请用java代码简单实现

 

第二题

  • 请问如下代码会存在什么问题?
    List<User> getUsers(String[] ids){
     // 根据ids去数据库查询符合要求的user数据
     // 将数据库数据转换为user对象并添加至列表返回
    }
    

第三题

  •  new ThreadPoolExecutor(10, 20,1,TimeUnits.SECONDS              
          new LinkedBlockingQueue(10)
                    ) 当前10个任务正在线程池中执行,如果再次提交一个新任务,此时线程池会如何处理?线程池中线程数会有什么变化?

 

第四题

(请务必完成)

  • 现有一个推荐用户开通指纹营销业务,在严格模式下有A B C三个条件依次满足则推荐,在宽松模式下只要AB 两个条件依次满足才能推荐。尤其C条件,需要同时执行对风控和特征服务调用取得结果进行决策,作为多变的营销业务。我们未来可能开发出多种新模式,同时也会开发出新的条件策略,而且条件之间也有灵活组合的需求。请根据上述要求设计你的代码,保证可拓展性,符合开闭原则。另外请实现C条件代码,确保以执行最快速度完成结果并注意考虑系统超时问题。

     

public class RecommendService{
  public boolean isRecommend(RecommendData data){
        

  }
}

public class ResultChekcer{
    //本方法完成对系统调用结果决策,直接使用无需实现
    public boolean check(List<Result> result){
     ....
    }

}


第五题

  • 实现大小写数字转换。实现上限制千亿。(确保逻辑清晰简洁,并加上注释说明)

  •       0 ->零

  • 1100 -> 一千一百

  • 1105 -> 一千一百零五

  • 100000000000 一千亿

 

第六题

  • 有如下格式日志,请使用shell管道命令实现根据A文件中17:20~17:35期间 doValidate的traceId找寻B文件中对应的日志信息

A 文件: 
2019-03-04 17:20:16 doValidate [traceId12]
2019-03-04 17:21:17 doValidate [traceId13]
2019-03-04 17:35:17 doValidate [traceId13]
2019-03-04 18:20:16 doValidate [traceId14]
2019-03-04 19:20:16 doRegister [traceId14]

B文件
2019-03-04 17:20:17  xxxxxx2 [traceId12]
2019-03-04 17:21:18 xxxx22dd [traceId13]
2019-03-04 17:35:18 xxxx22dd [traceId13]
2019-03-04 18:20:17 xxxxed [traceId14]
2019-03-04 19:20:17 xxxsdsdfs [traceId14] 

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值