阿里巴巴 2016 java 實習崗位筆試題(昨天出爐)

Hadoop是當下大數據處理的事實標準之一,具備普遍的應用場景。做爲Hadoop生態基礎的HDFS分佈式文件系統,它具備極高的容錯性,適合部署在廉價的機器上,並能提供高吞吐量的數據訪問能力,專爲大規模數據存取而設計。java

請用Java程序來模擬HDFS的三個應用場景:寫文件、讀文件、Node節點單點故障。場景1爲必選,場景2和3可選但必需延續場景1的實現方案。程序請使用JDK原生API來實現。併發

問題1:請用文字闡述你的設計方案。分佈式

問題2:請用Java程序來分別實現你的方案。函數

 

2 優惠券是目前較爲受用戶歡迎的促銷手段,爲了方便用戶使用優惠券,網站在用戶提交購買購物車中的商品時自動爲用戶推薦並使用最合適的優惠券。目前假設有兩類優惠券:高併發

一、「滿包郵」:即在單一店鋪中購買商品總價知足必定條件時會減免用戶的快遞費用,例如:滿100包郵oop

二、「紅包」:即單一店鋪中購買商品總價知足必定條件時會產生必定程度的金額減免,例如:滿100減十、滿300減20等學習

請就如上設定,設計購物車提交時優惠券的推薦程序,規定每一個店鋪只能使用一張優惠券。大數據

問題1:請闡述你的設計方案,形式不限網站

問題2:請用Java實現推薦程序,代碼範圍限定使用JDK原生APIspa

 

 

3 問題1:嘗試用java編寫一個轉帳接口,傳入轉出帳號,轉入帳號,轉帳金額3個數據,完成轉出和轉入帳號的資金處理,該服務要確保在資金處理時轉出帳戶的餘額不會透支,金額計算準確,可以支撐天天10萬筆的我的用戶之間轉帳。

問題2:假設接口構建完成後,淘寶的擔保交易也準備使用該接口,每次用戶購買淘寶的商品,都會調用轉帳接口,將資金由買家帳戶轉到一個擔保交易的中間帳戶,等到買家收到貨並滿意後進行確認收貨,再調用轉帳接口從這個擔保交易中間帳戶轉帳資金到賣家帳戶,經過這樣的手段保證買家的權益,作到只有買家對貨滿意纔給賣家錢。此時面對淘寶擔保交易的海量交易處理,原來面向我的用戶間轉帳的轉帳接口可能會遇到怎樣的問題?你有怎樣的解決方案?並嘗試在不侵入原接口主處理流程的前提下修改代碼,優雅的支持淘寶擔保交易記帳模式。

 

共三題,對於第一題我並無考慮分佈式,而是經過簡單的輸入輸出流實現的文件的讀寫,對於第二題寫了一個小的函數用於讀取用戶的消費金額和設定的滿多少,優惠多少的一個數值額度,返回一個字符串包括最後須要付款的額度和是否包郵。對於第三個因爲目前對於天天支持10萬筆沒有一個具體的概念故不知從何入手

寫下感悟吧 阿里巴巴確實是一家好公司,中間還留有10分鐘的空閒時間讓咱們休息,從這個小細節就看出這是一家很是人性化的公司。從這三道筆試題我學習到了什麼呢?兩點

1 必定要根據具體的業務場景來實現你的代碼,咱們是爲了具體業務場景服務的

2 當本身寫完某個程序的時候,考慮若是有多個程序同時要使用你這個接口怎麼辦 ,也便是如何適用高併發和分佈式

相關文章
相關標籤/搜索