京東一面面經

參加了京東的京東雲部門的一面,面試問題如下:

1、聊項目,然後延展出了一些負載均衡、哈希一致性、數據熱備、TCP與UDP的問題;

2、聊了聊線程池,從線程池使用原因到JUC中線程池的實現細節;

3、如何設計一個像京東商城那樣的高併發網站,聊了挺多(答案參見《大型網站技術架構核心原理與案例分析》);

4、一道算法題,僅僅只是說思路:0-99共100個數字,現在缺失了兩個,如何快速找出缺失那兩個?

    我簡單說了說思路:就是簡單地將數字映射到一個下標範圍爲[0,99]的數組,遍歷兩遍就能將找出缺失元素。

    面試結束後我想了下..這也太耗費空間了,對於缺失元素x和y完全可以計算得出x*y和x+y,然後根據求根公式計算這個方程組,就可以在常數時間複雜度得到結果。

5、一道算法題,紙上寫代碼:輸入是一個字符串,字符串中包含任意字符,也包含數字字符。現在要根據這個字符串中的數字字符得到最大能組成的數字。

    我當時的思路是使用PriorityQueue,傳入合適的Comparator使其變成最大堆來存放數字,然後每次調用remove()方法獲取最大數字字符,添加到結果中,最後使用Integer.parseInt(String str)函數來解析這個字符串。




已確定通過一面,等候二面。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章