2020java最新面試題及答案
一面 阿里實習
文末持續更新面試題及答案
1 、介紹下購買下單的流程?詳細說一下整個交易鏈路?
選購 -> 下單 -> 添加地址、選擇優惠券 -> 提交訂單 -> 詳細介紹了微信支付的流程(此處省略無數字)
2、支付的流程挺複雜的,可以簡化成一步嗎?比如,前端直接拉起支付,在支付成功之後再向服務端發送支付成功的消息,這樣可以嗎?
不行,存在安全隱患,客戶端可能會僞造支付成功的消息
3、int型的變量,如何將它轉成String?
Integer.toString(xx)
(new Integer(xx)).toString()
其實還有String.valueOf(xx),面試沒想起來 -_-||
這兩個方法有什麼區別嗎?
第一個是靜態方法,第二個要實例化對象
4、有一個字符串池(比如一億條),現在有一個新的字符串,如何判斷這個字符串是否在字符串池中呢?
可以採用類似數據庫的索引技術?
面試官評價:對這樣的小任務來說,不經濟
面試官提示:Hadoop的map和reduce聽說過嗎?將大任務拆分下來解決,再將結果合併
我: 可以將字符串分批加載到內存中,放到HashMap裏判斷
面試官:給出一個具體的解決方法?
沒答出來…
5、碰到過OutOfMemoryError嗎?什麼情況下遇到的?
比較少,大部分遇到的是NullPointerException
6、那就簡單說下NullPointerException?什麼情況下會碰到?如何避免?
比如操作鏈表的時候;進行判空操作
7、介紹下Java異常體系?有哪些常見的RuntimeException和非RuntimeException?
(比較簡單,略)
8、介紹JVM內存模型
線程共享部分 + 線程私有部分
9、有很多個任務,需要拿到它們的處理結果並彙總,怎麼做?
所有面試題持續更新+答案整理見這裏:
2020最新java面試題及答案