1. <strong id="7actg"></strong>
    2. <table id="7actg"></table>

    3. <address id="7actg"></address>
      <address id="7actg"></address>
      1. <object id="7actg"><tt id="7actg"></tt></object>

        ?2021 阿里淘系 Java 面經(jīng),二面卒!

        共 3341字,需瀏覽 7分鐘

         ·

        2021-03-29 11:44

        今天下午把 JavaGuide[1]上 MySQL 以及書單部分的內(nèi)容完善了一下。

        晚上出去吃了飯,本來是想著寫寫水文,聊聊近期的生活。不過,看著很多小伙伴被各種面試毒打,我很難受啊,還是做點什么吧!

        給小伙伴們分享兩個近期的面經(jīng),問的問題挺有代表性的,你們可以拿來自測一下!

        參考答案我這里也沒有,也沒時間一個一個幫你們回答。你們可以到 JavaGuide 上找,JavaGuide 上面找不到的,自己搜一下、看看書。

        阿里淘系 Java(大三實習(xí))

        一面

        1. 首先還是沒有自我介紹,直接是項目介紹,項目使用的什么技術(shù)棧,里面的一些難點。
        2. 項目中的大致流程,怎么去運行的。
        3. 項目中的容器使用到 MySQL,ES,MongoDB,Redis,這些都是干嘛?為什么要用他們(他們有什么好處?解決什么額問題?),項目中怎么使用的?
        4. 那么你們肯定使用到了索引對吧,詳細(xì)說說 mysql 索引吧?
        5. 你們建立索引有什么規(guī)則?怎么建立的?哪些地方使用到了索引?有什么好處?結(jié)合具體場景回答回答。
        6. 索引是 B+樹是吧?這個有什么優(yōu)點呢,為什么 MySQL 要使用 B+樹,不用別的呢?(這里我想問下大佬們,除了減少 io 次數(shù),局部性原理,穩(wěn)定,有序還有什么優(yōu)點呢?)
        7. 存儲引擎了解過嗎?
        8. 你使用過 MVC 是吧,具體說說是什么,為什么選擇這個,怎么封裝的,如何方便?
        9. MVC 是什么?三層架構(gòu)指什么?為什么使用三層架構(gòu),具體說說怎么松耦合的,舉例子?
        10. MVC 請求執(zhí)行流程
        11. 你說說為什么松耦合,你代碼中怎么實現(xiàn)松耦合?這樣為什么就能體現(xiàn)松耦合,是什么和什么之間的耦合?
        12. Spring 是什么?有什么優(yōu)點?IOC 具體講講,為什么交給 Spring 容器管理就會松耦合,你來具體說一說?
        13. HashMap 底層了解過吧?說說底層吧,數(shù)據(jù)結(jié)構(gòu)。
        14. HashMap 查詢,刪除的時間復(fù)雜度。
        15. 保證線程安全,為什么推薦使用 ConcurrentHashMap,有什么特點。就只是使用數(shù)據(jù)結(jié)構(gòu) cas volatile 嗎?除了這些沒別的優(yōu)點了嗎?
        16. cas 為什么就比 synchronized 輕量,什么原因,synchronized 怎么調(diào)用到操作系統(tǒng)的?具體說說,操作系統(tǒng)消耗什么資源呢?
        17. Java 內(nèi)存模型,那怎么保證可見性?加鎖為什么就可以保證內(nèi)存屏障?
        18. 內(nèi)存屏障是什么?具體說說吧?內(nèi)存屏障為什么保障可見性?指令重排序?happen-before 原則了解么?
        19. 線程這邊在操作系統(tǒng)怎么體現(xiàn)的,解決什么問題?在單核 cpu 中線程起什么作用?為什么輕量?
        20. 單核 CPU 線程解決問題,多核 CPU 中解決什么問題?
        21. 怎么設(shè)置 CPU 最佳線程數(shù)?
        22. 操作系統(tǒng)內(nèi)存管理?分頁?置換算法?有去深入了解嗎?
        23. 線程池聊聊?怎么設(shè)置線程數(shù),什么時候最優(yōu),為什么這么設(shè)置?
        24. 好的我這邊已經(jīng)大致了解了,你還有什么想問的嗎?(我反問:部門干什么的,我表現(xiàn)怎么樣?)

        二面

        1. 自我介紹
        2. 項目介紹,技術(shù)難點
        3. 看你項目使用到反射,談?wù)勀銓τ诜瓷涞睦斫?,你?項目中怎么使用的反射,有什么好處?
        4. 說說 jvm 吧?jvm 怎么樣你所了解的?(內(nèi)存結(jié)構(gòu),堆,垃圾收集 算法。垃圾收集器,各個特點)
        5. 類加載?雙親委派?你怎么能實現(xiàn)類加載機制?有什么需要考慮的嗎?
        6. 使用類加載機制能實現(xiàn)嗎?考慮什么問題?
        7. 說說 fullgc 你說說你的了解?jvm 觸發(fā) fullGC 老年代沒有減少可能是什么原因?
        8. 說說你使用的集合?底層了解多少?
        9. 說說 ArrayList 和 LinkedList 底層有什么區(qū)別?說說怎么刪除固定的位置的元素?有什么線程安全問題嗎?為什么會產(chǎn)生?
        10. 說說 HashMap 的底層原理?數(shù)據(jù)結(jié)構(gòu)?擴容?
        11. 說說 ConcurrentHashMap?
        12. 說說你的 MySQL 理解?有沒有寫過什么復(fù)雜的 SQL?使用什么優(yōu)化了嗎?你平時是如何優(yōu)化 SQL 的?如何查看 SQL 語句的執(zhí)行速度?
        13. 索引說一說?分庫分表?
        14. 說說 synchronized 和 volatile?
        15. 說說 url 從輸入到回車經(jīng)歷的過程?http tcp(三次握手,對應(yīng)的狀態(tài))
        16. 說說 ARP 協(xié)議?
        17. 說說磁盤調(diào)度 算法?說說電梯 算法?說說掃描 算法?
        18. 說說 Java 的線程和操作系統(tǒng)的線程是不是一樣的?有什么區(qū)別?
        19. 說說你理解的線程?說說線程池?幾種方式?阿里巴巴開發(fā)手冊為什么推薦使用自定義線程池?
        20. 說說你的實習(xí)?
        21. 說說怎么創(chuàng)建線程?有幾種方式,為什么?有什么區(qū)別?
        22. 移位操作為什么快?從底層是二進制,補碼原碼真值回答底層的原理。反問:部門干什么的?我表現(xiàn)怎么樣?

        二面之后,就沒有下文了。這次面試確實有點受到了打擊,業(yè)務(wù)場景確實我菜了。


        攜程春招 Java 后端

        一面

        1. 介紹下項目,熱點數(shù)據(jù)用 Redis 的什么數(shù)據(jù)結(jié)構(gòu)存儲?zset。你這個負(fù)載均衡算法中的加權(quán)輪訓(xùn)算法怎么實現(xiàn)的?Rpc 項目中客戶端調(diào)用服務(wù)的整個過程?怎么使用 Netty 進行通訊的?
        2. SpringBoot 常用注解?SpringBootApllication由哪些注解組成?由三個注解組成,其中有一個開啟自動配置的注解。
        3. 說一下volatile? volatile有內(nèi)存可見性和有序性,底層通過 lock 前綴的一個空指令實現(xiàn)。
        4. sleepwait的區(qū)別?一個釋放鎖,一個不會,wait 可以無限阻塞,sleep 不能。
        5. 了解哪些設(shè)計模式?寫一個雙重檢測的單例模式,為什么要加 synchronized?因為要考慮線程安全,加在類方法和普通方法有什么區(qū)別?
        6. 了解注解嗎?自己的項目使用到了自定義注解。注解怎么實現(xiàn)的?通過反射實現(xiàn)。反射中獲取 class 對象的三種方式?通過 object 類的 getClass 方法,類的 class 屬性,class 類的 forName 方法。
        7. 了解哪些排序算法,寫一個快排吧。

        二面

        1. 詳細(xì)講解你的項目,細(xì)節(jié)與難點。項目中使用的序列器,protobuf 為什么快?
        2. Java 的 io 模型?bio,nio,aio。其中 nio 使用操作系統(tǒng)的 io 多路復(fù)用。io 多路復(fù)用的實現(xiàn)有哪些?select,poll,epoll。
        3. 寫一個多線程的題,線程 1 打印 a,線程 2 打印 b,線程 3 打印 c,要求順序打印出 abcabcabc。

        反問,對自己有什么建議,按校招已經(jīng)到達(dá)標(biāo)準(zhǔn),由于時間問題沒法再深入了解項目,所以也沒有什么建議。

        整體難度不是很大,不像大廠那樣死扣細(xì)節(jié)。最后求個 hr 面,不然真的要失業(yè)了。

        HR 面

        1. 自我介紹
        2. 為什么不讀研究生了
        3. 工作地點有要求嗎
        4. 薪資要求
        5. 有過實習(xí)嗎
        6. 你這個項目的難點是什么
        7. 比較看中公司的哪些方面
        8. 有其他 offer 嗎,哪些公司還在流程中
        9. 過四六級嗎?多少分?等下發(fā)個英語測評有時間去做下,會根據(jù)測評結(jié)果安排后續(xù)的進程

        反問,公司對應(yīng)屆生的培訓(xùn)機制,多長時間出結(jié)果。

        參考資料

        [1]

        JavaGuide: https://github.com/Snailclimb/JavaGuide



        歡迎加入我的星球,一個純 Java 面試交流圈子 !Ready!。目前星球已經(jīng)更新 3 個原創(chuàng)小冊:《Java面試進階指北》《從零開始寫一個 RPC 框架》 、《程序員副業(yè)賺錢之路》。累計幫助 520+ 位球友提供了免費的簡歷修改服務(wù),回答了 500+ 個問題,產(chǎn)出了 1300+ 個主題。

        推薦?? :1049天,100K!簡單復(fù)盤!

        推薦?? :匯報一下2020的工作

        推薦?? :Github掘金計劃:Github上的一些優(yōu)質(zhì)項目搜羅

        我是 Guide哥,擁抱開源,喜歡烹飪。Github 接近 10w 點贊的開源項目 JavaGuide 的作者。未來幾年,我希望持續(xù)完善 JavaGuide,爭取能夠幫助更多學(xué)習(xí) Java 的小伙伴!共勉!凎!
        原創(chuàng)不易,歡迎點贊分享。咱們下期再會!
        瀏覽 81
        點贊
        評論
        收藏
        分享

        手機掃一掃分享

        分享
        舉報
        評論
        圖片
        表情
        推薦
        點贊
        評論
        收藏
        分享

        手機掃一掃分享

        分享
        舉報
        1. <strong id="7actg"></strong>
        2. <table id="7actg"></table>

        3. <address id="7actg"></address>
          <address id="7actg"></address>
          1. <object id="7actg"><tt id="7actg"></tt></object>
            天天干天天操天天射 | 国产探花在线观看视频 | 狠狠婷婷 | 色秘 乱码一区二区三区在线男奴 | 99综合 | 揉捏花蒂抽打虐乳 | 蜜桃av色偷偷av老熟女丰满流水 | 综合偷拍第一页 | 爱啪啪tv | 亚洲AV无码一区二区三区四区 |