作者:手机用户2502906277 | 来源:互联网 | 2023-08-25 10:24
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没有影响。