亞馬遜面試題目

2021-05-11 14:46:21 字數 1828 閱讀 4810

1.演算法題:一**價序列,告訴每個時間點的股價,問什麼時候買什麼時候賣獲利最大?時間複雜度o(n)

2.(1)有0,1,2到99這100個正整數,中間丟失了乙個,剩餘的99個數打亂順序放在乙個陣列裡,

問怎樣找到丟失的那個數。

直接說了乙個時間空間複雜度都為o(n)的演算法(瞬秒),能把空間複雜度優化到o(1)的

(2)有乙個有序的環形數列,從小到大排好了,比如:4,5,6,1,2,3,從第四個位置開始當成環形看,

就是乙個有序數列1,2,3,4,5,6。問題是在這個數列中找到給定的關鍵字。

我想到了用二分找到這個環形的開頭位置i,那麼[0,i],[i+1,n-1]就是有序的,再次做二分即可。

對方說能想到lgn的複雜度很好,但是希望能夠只要一次二分就完成。

1.英文自我介紹加乙個英文問答:why amazon?

2.基礎知識:陣列、鍊錶、map的區別和用法

3.最長公共子串行(動態規劃,時空複雜度都是o(n^2))可以把空間複雜度降到o(n),字尾陣列(資料結構)

4.電影院售票系統設計:物件導向思想設計

5.股價題,空間複雜度優化到o(1)

6.給乙個n行m列的矩陣框,每個格點放著若干大公尺,小雞從左下角點出發,只能往右或者往上走,

問小雞最多能吃掉多少大公尺。很簡單的動態規劃,瞬秒。然後他又和我討論了優化空間複雜度的問題,我說可以從o(n^2)優化到o(n)的,對方表示滿意。

第三輪是面試官和我討論乙個open question,這個題目感覺很有意思:給乙個**,這個**是由n*m個小**拼成的,

它的色調是左上角最淺,越往右下角色調越深。問我有沒有什麼辦法做出這樣的**。

我的想法是對這n*m個小**的色調從淺到深排序,然後斜著從小到大填充這個大矩形。

1 2 4

3 5 7

6 8 9

對色調排序是把每個小**的rgb三個值(範圍0~255)做統計,最後去掉個數過少的然後做加權平均,

雜湊出每個小**的色調值然後再排序即可(沒有標答,你可以自己定義規則,只要合理就行)。

一邊討論一邊讓我把自己定義的資料結構、怎樣找每個小**的雜湊值、怎樣填充大矩形的**寫了下來。

1、有乙個2g的檔案,如果只有300m記憶體,應該怎麼反置檔案?

2、如何在記憶體中快速從2億qq使用者中通過號碼快速得到使用者的資訊?

3、很多使用者進行查詢和更新使用者資訊的操作怎麼辦?

4、同時有10w個連線請求,該如何處理?

答案:一、

1、我覺得:

1、nio記憶體對映

2、cache,雜湊表(map介面)

3、快取,事務處理

3、執行緒池+i/o多路復用+集群均衡負載

二、分機器。qq我覺得其實是最容易擴容的,按照qq號分就可以了。每10萬個號進入一組,分組處理,硬體幾乎可以無限增加,毫無效能問題可言。

三、1、nio記憶體對映

2、cache,雜湊表(map介面)

3、快取,事務處理

3、執行緒池+i/o多路復用+集群均衡負載

這個回答基本是靠譜的,如果你面試的普通程式設計師, 應該是很優秀的回答了。 但是, 對於乙個架構師級別的面試, 這個回答, 可能是不滿意的。

如果使用乙個不存在的qq號碼進行衝擊系統, 這個是很嚴重的問題, 去看看bloomfilter. 對於問題3, 事務一般不會使用,可以考慮使用日誌類事務檢查, 或者使用事務規範, 自己完成分布式事務。

同時有10w個連線請求,該如何處理? 這是個10k問題, 不是問你怎麼做, 而是問你系統對於大規模連線, 對於單一機器的處理辦法, 以及規模擴充套件的辦法。

實際上, 這些問題都是目前qq在大規模環境下真實問題。 這些問題不是回答的來就成的, 關鍵是是否一定的某些問題的實際操作解決能力。

演講面試題目

2014陽明演講與辯論協會演講部面試內容 演講試題一 朗讀 1滿江紅2 山月 怒髮衝冠,憑欄處,瀟瀟雨歇在山中午夜松林像海浪抬望眼,仰天長嘯,壯懷激烈月光替松林剪影 三十功名塵與土你笑著說這不是松 八千里路雲和月管它是什麼深遠的黑透明的藍 莫等閒,白了少年頭,空悲切一點點淡青一片片銀白靖康恥,猶未雪...

人事面試題目

1.簡要介紹你自己3 5分鐘 2.請告訴我你最大的優點,請用三到五個詞語表述 3.你將給我們公司帶來的最大財富是什麼?4.你最大的缺點是什麼?5.5年以後,你會發展到什麼程度?6.在你最近的工作中,你做了些什麼,來增加你們企業的營業收入?7.某職位 的一般職責是什麼?8.你認為你工作中的哪些方面是至...

微軟面試題目

智力題1 燒一根不均勻的繩子,從頭燒到尾總共需要1個小時,問如何用燒繩子的方法來確定半小時的時間呢?2 10個海盜搶到了100顆寶石,每一顆都一樣大小且價值連城。他們決定這麼分 1 抽籤決定自己的號碼 1 10 2 首先,由1號提出分配方案,然後大家表決,當且僅當超過半數的人同意時,按照他的方案進行...