阿里面试题

更新时间:2023-10-03 12:12:01 阅读量: 综合文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

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没有影响

本文来源:https://www.bwwdw.com/article/pzwd.html

Top