阿里巴巴2016java研發筆試附加題

2021-07-11 08:11:24 字數 1144 閱讀 4127

1.

螞蟻金服需要評估使用者的信用風險,用於為使用者提供基於信用的各種服務。每個使用者有一些基本資訊(比如學歷,年齡等)。另外每個使用者存在乙個或者多個支付寶賬號,其中乙個賬號會作為使用者的主賬號, 假設主賬號的規則是賬戶餘額最多的賬號,如果兩個賬戶餘額相同,則選擇註冊時間較早的賬戶。具體表結構設計如下:

使用者表(users),賬戶資訊表(accounts)

1) 假設使用者的信用分是基於一下規則計算的: 

請用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沒有影響。

阿里巴巴2014校園招聘研發筆試JAVA附加題一

題目 public class test static public test string str public static int print string str public static void main string args 求輸出?輸出結果 1 j i 0 n 0 2 構造塊 i...

阿里巴巴研發C 筆試

答選擇題只有乙個感受,數學不好抱憾終生 選擇題差不多三分之一是數學方面,概率,排列組合之類的題目,三分之一的c 基礎知識,三分之一的資料結構和演算法,比如紅黑樹 二叉樹。簡答題有三道。感覺都是比較實際的問題 freelist 第一道題大概是為了避免頻繁的new delete操作,實現乙個freeli...

阿里巴巴2016研發工程師筆試題(四)

1.以下程式輸出結果是 class a virtual void func 本問題涉及到兩個方面 1.c 繼承體系中建構函式的呼叫順序。2.建構函式中呼叫虛函式問題。c 繼承體系中,初始化時建構函式的呼叫順序如下 1 任何虛擬基類的建構函式按照他們被繼承的順序構造 2 任何非虛擬基類的建構函式按照他...