前言
這話要從三個月前說起:當時一名水友告訴我想要跳槽去京東,然後我就本着推波助瀾,為粉絲打氣的心态(也可能是看熱鬧不嫌事兒大?)就支援他一定要去,
夢想一定要有,沒準兒就實作了呢?
沒想到。。。。。。。直接涼涼!
以下為第一次京東二面涼經
京東一面涼經
- object的方法,7大方法
- synchronized方法講解
- synchronized方法實作原理
- volatile關鍵字的原理
- 鎖的分類
- 偏向鎖講解
- NoClassDefFoundError和ClassNotFoundException的差別
- 追問,ClassNotFoundException是不是隻發生在編譯時,運作時可不可以
- 類加載機 制
- redis過期政策及記憶體淘汰機制
- mysql的索引種類4種
- Innodb和myIsam的差別
- Innodb的索引結構
- B+樹的優缺點
- 海量資料的索引有什麼影響
- 選擇聯合索引還是多索引,最左字首的規則
- CAP理論的關系
- 見過哪些系統,保證兩個犧牲一個的
- 一緻性Hash
算法題:
給一個正數N,求這個N的所有的因子分解;
N = 12;
Ans = {12},{6,2},{3,4},{3,2,2}
解法:遞歸
###京東二面涼經
- 自我介紹+項目
- 項目中的異步怎麼做的?具體說說
- 使用者密碼的安全性怎麼保證的?
- mybatis底層怎麼實作的?(不會)
- tcp中擁塞控制和流量控制有什麼差別?
- 流量控制具體怎麼控制的?
- 擁塞控制具體的算法怎麼樣的?
- Java中的鎖有用到哪些?
- 說說syn、re和cas的差別?
- cas具體怎麼現實的?
- 程序和線程的差別?具體講下什麼情況下是多程序,什麼情況下是多線程?
- java中的map有哪些?各個簡單介紹下
- hashmap的底層資料結構是怎麼樣的?
- 有沒有map是按key的值排序的?底層怎麼現實的?
- 類的加載流程?具體每一步做了什麼?
- Spring Bean 的作用域。
兩道算法題
1、有序二維數組找target,找到傳回坐标,找不到傳回[-1, -1];
2、樹的根節點到葉子節點的所有路徑和。
失敗乃成功之母
以上就是第一次京東面試的全部内容了,一面二面是接着面的,時長2個小時,經曆下來,就一個感受:京東的面試太硬核了,就是會一直問到底,看你到底掌握到什麼程度,如果掌握的不深刻很容易就被問出來了。二面完之後就讓粉絲回家了,PASS的也是很含蓄了。
但是你以為這樣就結束了?當然沒有!
據我所知京東跳動投遞履歷是有
三個月的鎖定時間
,是以這次失敗了不代表沒有下次。
然後就總結了經驗并為下次面試作準備并開始了三個月的閉關之旅。
- 惡補JAVA并發底層的知識,尤其是synchronized,volatile和hashmap的
- 刷算法題,需要詳細複習下資料結構與算法的知識
- 了解高并發下的問題解決方案與性能調優
- 閱讀是spring架構的源碼,提升自己的競争優勢
重整旗鼓再戰京東
這次面試官果然上來就直接問:看你6月份也來面過京東但沒有通過,你覺得你現在的優勢在哪裡呢??
回答:因為上次來貴公司面試沒有準備充分,同時在之後認識到自己有些技術方面确實明顯不足,是以回去經過系統的學習,我覺得這次能夠勝任這份工作!
然後面試官看着他笑了笑(應該是欣賞的意思吧),然後第二次面試就正式開始了!
因為第二次面試與第一次相差不大,第二次面試内容通過知識點的分類給大家分享出來。
JVM
- 什麼樣的垃圾才被回收?
- 如何利用JFR和JMC監控Java程式?
- 解釋下Java虛拟機記憶體模型
- JVM垃圾收集機制
- 什麼樣的對象會進入老年代
- 講一下OOM與調優
MySQL
- 說說自己對于 MySQL 常見的兩種存儲引擎:MyISAM與InnoDB的了解?
- 資料庫索引了解嗎?
- 為什麼索引能提高查詢速度?
- Mysql如何為表字段添加索引?
- 對于大表的常見優化手段說一下?
spring
可能是履歷上專門寫了閱讀過源碼,是以這次問spring的比較多
- Spring 架構中都用到了哪些設計模式?
- Spring事務的實作方式和實作原理
- Bean Factory和ApplicationContext有什麼差別?
- 什麼是Spring中的依賴注入?
- IOC(依賴注入)有哪些不同類型?
- 解釋Spring Bean的生命周期?
- 有哪些重要的bean生命周期方法?你能重寫它們嗎?
分布式
- 為什麼要用 redis緩存?
- 為什麼要用 redis 而不用 map/guava 做緩存?
- redis 和 memcached 的差別?
- redis 常見資料結構以及使用場景分析?(String,Hash,List,Set,Sorted Set)
- redis 設定過期時間。
- redis 記憶體淘汰機制(MySQL裡有2000w資料,Redis中隻存20w的資料,如何保證Redis中的資料都是熱點資料?)
- redis 持久化機制(怎麼保證 redis 挂掉之後再重新開機資料可以進行恢複)?
- redis 事務。
- 緩存雪崩和緩存穿透問題解決方案。
- 如何解決 Redis 的并發競争 Key 問題。
- 如何保證緩存與資料庫雙寫時的資料一緻性?
- 什麼是消息隊列?為什麼要用消息隊列?
第二次面試總結
第二次去京東面試因為準備的時間比較長,是以面試問題基本都在意料之中,最終也成功拿下了京東的offer,可喜可賀!
最後把面試京東成功的資料分享給大家,也祝大家都能升職加薪!
請大家放心,以下資料絕不收取大家任何費用