1. 程式人生 > >京東一面面經

京東一面面經

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

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)函式來解析這個字串。

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