下題是小編的朋友胖虎4月到騰訊參加面試的一道前端面試題,大家思考一下這道題的思路,看看大家的水平如何?
開放題
2萬小球問題:在瀏覽器端,用js存儲2萬個小球的信息,包含小球的大小,位置,顏色等,如何做到對這2萬條小球信息進行最優檢索和存儲
題目難度(阿里p7、騰訊t31)
你面試大廠阿里或騰訊,能否上p7和t31,就看你對開放題能答有多深和多廣。
這題目考察你如何在瀏覽器端中進行大數據的存儲優化和檢索優化。
如果你僅僅只是答用數組對象存儲了2萬個小球信息,然後用for循環去遍歷進行索引,那是遠遠不夠的。
這題要往深一點走,用特殊的數據結構和算法進行存儲和索引。
然後進行存儲和速度的一個權衡和對比,最終給出你認為的最優解。
我提供幾個能觸及阿里p7和騰訊t31級別的思路:
- 用ArrayBuffer實現極致存儲
- 哈夫曼編碼 + 字典查詢樹實現更優索引
- 用bit-map實現大數據篩查
- 用hash索引實現簡單快捷的檢索
- 用IndexedDB實現動態存儲擴充瀏覽器端虛擬容量
- 用iframe的漏洞實現瀏覽器端localStorage無限存儲,實現2千萬小球信息存儲
這種開放題答案不唯一,也不會要你現場手敲代碼去實現,但是思路一定要行得通,並且是能打動面試官的思路,如果大家有更好的idea,歡迎大家再評論區補充哦~
最後小編整理了web前端全套的資料集合,需要的小夥伴添加小編微信領取哦~僅限今日!
![去阿里面試,讓做一道前端面試題,做對就給月薪30K,邀你來戰!](http://p2.ttnews.xyz/loading.gif)
閱讀更多 軟謀前端 的文章