廈門IT培訓
美國上市IT培訓機構

13429669395

熱門課程

京東JAVA面試心得與面試題詳解,總結到位!

  • 時間:2020-03-03 16:32
  • 發布:廈門達內IT培訓
  • 來源:企業面試題

  2019年的冬季特別的冷,無疑是程序員的寒冬,我也是年底裁員大潮裁下來的一名,(整個業務線都裁了 難受中~)但臨近年底了失業回家也不太好所以有投了幾份簡歷,現在已經找到工作了,雖然不是京東但也馬馬虎虎吧,但我也想把京東的面試過程記錄一下。

1、java內存模型與并發保證

但他這個問題并不是簡單問你這些,他更想得到是你對內存java內存的理解及從性能上給出最優解決方案,博主是從架構上面出發給出的并發保證。比如分布式解決方案,和nginx反代等等,不過提及到nginx 的時候是給自己挖了個坑,待會講面試的時候在說。

2、在交易過程中如何放在用戶在支付時的重復支付(交叉支付),請寫出你了解的方案或使用的過的方案

因為博主以前做過集成支付寶的支付模塊,在這就給出的自己的解決方案吧;

因為在調用支付寶接口的時候是一個http請求,支付完成后支付寶會異步回調我們配置好的接受接口但在這個過程中呢可能會

因為網絡、服務、系統等原因造成用戶支付但是沒有成功回調更改我方數據庫數據的bug。

在這呢我們后端是使用的是提交查詢的方法去避免用戶二次支付的。因我們的在支付的時候支付寶也會記錄我們的訂單編號和他們生成的一個訂單編號,我們可以使用我們的訂單編號去調用支付寶的訂單查詢接口去查詢到此訂單的支付情況。如果查到這個訂單編號已經支付過了那就直接返回。

第二個我們的前端也做了重復提交的相應處理從雙方向來避免用戶產生重復支付的情況。

3、程序開發時通過開發工具DeBug調試時,控制臺顯示的內容都包含什么?哪些內容可以幫助你發現問題和解決問題。

這個博主就不詳細解答了,大家按自己的開發習慣來吧,這個題出現在高級面試題里面我覺得可能有它的道理,不過我就是用來看下值和指針的走向每一步的值是不是預想值。如果大家有更實用的用法務必在下方評論交流一下。

4、RPC通信過程中,假設A系統提供了一個方法入參是一個JavaBean,出參也是一個JavaBean。另外兩個系統B系統、C系統調用接口,調用方B想讓提供方A增加一個返回參數,假設服務提供方A增加了返回參數,請問C系統調用方需要做什么處理?

在這個問題博主沒有寫在紙上,只寫了希望面對面回答,因為這個題寫出來太多了,在面試過程中我是這樣回答的:

當時博主指出了這個題存在的需求實現問題,為什么非要在A系統的接口上直接修改接口入參呢?因為這樣修改要動A、B、C、3個系統調用方的代碼,這樣給整個業務帶來了很多不便,為什么不給A服務的接口進行一個方法重載呢,這樣既解決的需求問題,也只需要變動A、B兩個系統的代碼就可以了并不會影響C系統。

當后來他問到我可不可以通過底層基礎去實現的時候我就回答了一個反射機制給懟了回去。

注:當時博主看錯了把A系統的返回參數看成入參了,按入參答得,今天這么一看感覺這個題有點問題啊。反參不是只能一個嗎?除非去變動數據類型,以集合方式去反參,我估計是寫錯了。

面試:

1、nginx的配置問題,能否配置跳轉2級域名。

答:是可以的,然后又問了一下nginx的負載均衡策略,和你們原本配置的nginx的架構是什么樣的。

2、redis數據類型及使用場景,和內存分配大小,是否接觸過redis集群,redis集群配置和監聽機制,持久化策略及區別和應用場景,hash沖突,如何保證redis里面都是熱點數據,淘汰策略,常用的命令,和Jedis的常用api,這里會問到如何保證redis多線程下的原子性操作的,如果你使用過lua腳本的話就答一下這個就行了,京東在這redis這方面問的挺深的建議看一下redis詳解再配合自己的使用經歷去回答。

3、是否使用過MQ,這里博主答的是ActiveMQ相關方面的知識,這里問到多是從業務解決方面來問的,你們mq都用來干嘛了,為什么用它,mq的持久化機制,如果消費失敗了怎么辦,使用mq消費的時候使用事務控制嗎?如何使用。

4、你上一個項目中jvm各種內存如何分配的。

在這里spring全家桶和數據庫相關知識幾乎沒在面試中問,他們更多注重這些中間件相關的知識,可能面到這個層級的崗位大家都不注重什么框架了,因為都是底層去實現的,只要基礎夠扎實大廠指日可待。

如果你也想進入互聯網行業,那么在學習之前,不妨先確定一下自己的職業定位吧。看看自己想進入什么樣的企業工作,想學什么樣的技術,畢竟有了目標,才有前進的動力,一般初進IT行業,想學編程的,小編都建議你先學Java,畢竟應用最廣泛,企業需求大, 好找工作不說,薪資水平也高,BAT都需要。 

預約申請免費試聽課

怕錢不夠?就業掙錢后再付學費!    怕學不會?從入學起,達內定制課程!     擔心就業?達內多家實踐企業供你挑選!

上一篇:java面試經驗,帶你打怪升級
下一篇:大數據開發和javaEE后端開發哪個就業前景好?

學歷不高,怎么成為一名優秀的程序員

大數據開發和javaEE后端開發哪個就業前景好?

京東JAVA面試心得與面試題詳解,總結到位!

java面試經驗,帶你打怪升級

選擇城市和中心
江西省

貴州省

廣西省

海南省

深夜办公室完整版在线观看