阿里面试题

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

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亿行记录,每一行的格式是:身份证号码,姓名,性别,年龄,省份。

样本:

340821************,小明,F,26,安徽320567************,小红,M,31,江苏

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

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

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

3

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

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

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

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

相关文档
最新文档