阿里巴巴2016java研发笔试附加题

1.

蚂蚁金服需要评估用户的信用风险,用于为用户提供基于信用的各种服务。每个用户有一些基本信息(比如学历,年龄等)。另外每个用户存在一个或者多个支付宝账号,其中一个账号会作为用户的主账号, 假设主账号的规则是账户余额最多的账号,如果两个账户余额相同,则选择注册时间较早的账户。具体表结构设计如下:

用户表(users),账户信息表(accounts)

 


1) 假设用户的信用分是基于一下规则计算的: 

  • a) 基础分为300分
  • b) 年龄在[18-30]之间,增加10分;在 [31-59]之间,增加20分
  • c) 学历为A等级增加20分;学历为B等级增加10分
  • d) 主账户的余额大于等于100000,增加20分;[10000-99999],增加10分
  • e) 主账户的注册时间为5年以上增加20分;1年到5年之间增加10分

请用SQL语句,计算每个用户的信用分。

 

2)试设计一个实时查询服务,输入用户的ID,查询和该用户最相似的10名用户的ID。(相似度模型可自行定义成你认为最合理的模型),请阐述实现思路。


2.

小明拿到了一份用户信息的巨大文本文件,该文件大概含有10亿行记录,每一行的格式是:身份证号码,姓名,性别,年龄,省份。

样本:

340821199003122015,小明,F,26,安徽

320567198506113014,小红,M,31,江苏

小明只有一台电脑,可用内存约为500MB,无可用数据库。

1)由于该文件可能存在重复的身份证号码,请帮小明写一个程序找出所有重复的身份证号码,请阐述实现思路。

2)试设计一个实时查询服务,输入身份证号码,返回所有相关用户的个人信息,请阐述实现思路和算法的复杂度。



3.

在云计算场景下,机器资源的使用率尤为重要,一台机器好几万,若跑几十个vm(虚拟机)给tomcat用,还是跑几个vm给mysql用,对资源的使用不见得是最优的。可能出现全部给tomcat用的时候,cpu用的比较多,但是内存或者硬盘没有充分使用;也有可能出现纯mysql数据库使用的时候,mem和iops使用很多,但是cpu没怎么充分使用。这些都是资源不够适配。

 

若考虑的资源包括这几类,cpu、内存、硬盘、iops和网络带宽,每个指标都有一个上限值,比如cpu是80%利用率。请设计一个合理的调度算法,让每个vm新加入的时候,每台机器的资源利用率尽量均衡。

 

请给出设计的数学模型,和一个你认为比较合适的调度算法。

前提是:假设不同vm加入机器的时候,对原来的vm没有影响。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值