1. 最近的一些Java面試小結(jié)

        共 3242字,需瀏覽 7分鐘

         ·

        2021-04-23 17:01

        前言

        前段時(shí)間陸續(xù)面試了一些大中小公司,踩了不少坑,掛了很多,同時(shí)也有不少感悟和收獲。這里想把那段經(jīng)歷記錄一下,如果能對(duì)親們有所幫助就再好不過了。

        面試的過程其實(shí)也是一個(gè)自我認(rèn)識(shí)和學(xué)習(xí)的過程,即便暫時(shí)沒打算跳槽,隔段時(shí)間出去面一面對(duì)自己還是有些好處的:不僅可以評(píng)估一下自己在市場的價(jià)值和競爭力,同時(shí)也能了解一些新技術(shù)、更新一下自己的技術(shù)棧。

        而且在一個(gè)地方待久了,可能不自覺的就會(huì)陷入到一種「舒適區(qū)」,久而久之,就像溫水里的青蛙,萬一哪天被“優(yōu)化”了可能會(huì)不知所措。

        本文主要從「項(xiàng)目」和「技術(shù)」兩個(gè)方面進(jìn)行總結(jié),除此之外還有一些比較開放式的問題。

        元旦過了,“金三銀四”還會(huì)遠(yuǎn)嗎?春節(jié)后有想法的親們,可以嗨起來了!

        項(xiàng)目

        有人說:三年一道坎。

        對(duì)于工作三年左右的伙伴們來說,「項(xiàng)目經(jīng)歷」可謂重中之重,可以說比具體的技術(shù)點(diǎn)更重要。

        技術(shù)點(diǎn)其實(shí)大同小異,有些臨時(shí)刷刷題就能了解個(gè)大概。但項(xiàng)目經(jīng)歷往往難以臨時(shí)編造,如果不是自己真實(shí)做過的項(xiàng)目、或者沒有充分的準(zhǔn)備,一旦面試官問得稍微深入很可能 hold 不住,面試扣分不少、甚至可能直接掛掉。

        因此不少面試官喜歡從項(xiàng)目入手,抽絲剝繭、步步深入,通過項(xiàng)目把技術(shù)點(diǎn)串起來考察。

        不同人的項(xiàng)目千差萬別,但還是有一些共同亮點(diǎn)的:比如高并發(fā)場景,復(fù)雜的架構(gòu)設(shè)計(jì),JVM 調(diào)優(yōu)及問題排查等。

        這些亮點(diǎn)有的話固然更好,但如果平時(shí) CRUD 居多、沒太多的亮點(diǎn),其實(shí)也不必太慌,技術(shù)亮點(diǎn)不多的話,可以多思考一些業(yè)務(wù)上的亮點(diǎn),比如:

        • 業(yè)務(wù)模型比較復(fù)雜
        • 對(duì)業(yè)務(wù)整體的架構(gòu)設(shè)計(jì)很熟悉
        • 業(yè)務(wù)模塊拆分比較合理
        • 自己在業(yè)務(wù)中做過哪些擴(kuò)展和優(yōu)化?
        • 業(yè)務(wù)數(shù)據(jù)的上下游流轉(zhuǎn)是怎樣的?
        • 遇到過什么問題,如何解決的?
        • 等等

        這些其實(shí)也是亮點(diǎn),可以讓面試官看到你平時(shí)對(duì)業(yè)務(wù)有自己的思考和理解,而不是只關(guān)注自己的那一塊,不只是寫代碼的機(jī)器。

        其實(shí)面試官對(duì)你的項(xiàng)目是一無所知的,他的印象僅僅停留在你簡歷上描述的那些文字(而且有些面試官可能是被臨時(shí)拉過來的,別問我為什么知道??)。面試官通常的開場白就是讓你自我介紹,其實(shí)這也是一個(gè)考察語言組織能力和口頭表達(dá)能力的地方。

        技術(shù)

        我們面的畢竟是技術(shù)崗,技術(shù)本身的重要性不言而喻。

        技術(shù)面試中,最重要的可以說是「技術(shù)體系」。也就是你不僅要有技術(shù)的深度和廣度,更要能把它們串起來,其實(shí)有不少技術(shù)點(diǎn)是相通或相似的,如果面試中能夠觸類旁通、舉一反三,是一個(gè)很好的加分項(xiàng)。比如:

        • Redis 的 AOF 和 MySQL 的 bin log
        • Spring 中的 BeanDefinition 和 JVM 中類的元信息
        • 布隆過濾器和 HashMap
        • 等等

        技術(shù)的積累雖然主要在平時(shí),但刷刷面試題還是很有必要的,有不少其實(shí)就是所謂的“八股文”。這里主要列出本人面試過程中真實(shí)遇到的一些面試題,僅供參考。

        Java

        線程池

        • 核心參數(shù)有哪些?
        • 任務(wù)執(zhí)行流程
        • 任務(wù)拒絕策略

        • synchronized 鎖升級(jí)過程
        • ReentrantLock
          • 實(shí)現(xiàn)原理(AQS)
          • 公平鎖如何實(shí)現(xiàn)?
          • volatile 特性

        HashMap

        • HashMap & ConcurrentHashMap 實(shí)現(xiàn)原理
        • ConcurrentHashMap 如何實(shí)現(xiàn)線程安全

        MySQL

        • 索引
          • 分類?使用場景?
          • InnoDB 索引的結(jié)構(gòu)(B+樹),為什么不用 B 樹?
          • 如何查看索引的使用情況?Explain 關(guān)注哪些字段?
        • 事務(wù)
          • 隔離級(jí)別
          • RC/RR 的實(shí)現(xiàn)原理

        Redis

        • 常用數(shù)據(jù)結(jié)構(gòu)
          • zset 實(shí)現(xiàn)原理
          • hash 擴(kuò)容過程
        • 常見緩存問題
          • 緩存穿透、緩存擊穿、緩存雪崩、熱點(diǎn) key
          • 如何解決上述問題?
        • 持久化:RDB、AOF,二者區(qū)別
        • Redis 為什么快?線程模型是怎樣的?
        • 內(nèi)存滿了怎么辦?淘汰策略有哪些?
        • 使用什么集群框架?

        Spring

        • IoC、AOP 實(shí)現(xiàn)
        • 事務(wù)傳播特性、失效場景
        • JDK & CGLib 區(qū)別
        • Spring Boot 啟動(dòng)原理

        Dubbo

        • Dubbo 架構(gòu)
        • 負(fù)載均衡算法、容錯(cuò)策略、灰度測試
        • SPI 機(jī)制
        • RPC 調(diào)用過程
        • RPC & HTTP
          • 二者區(qū)別與聯(lián)系
          • 為什么 Spring Cloud 使用 HTTP 而非 RPC?

        JVM

        • 運(yùn)行時(shí)內(nèi)存劃分
        • 垃圾收集算法
        • 一個(gè)對(duì)象的內(nèi)存分配過程?
        • CMS 收集器
          • 收集過程
          • 哪個(gè)過程會(huì)有 STW?
          • 如何處理內(nèi)存碎片問題?
        • G1 收集器特點(diǎn)
        • GC Roots 有哪些?
        • JVM 常用參數(shù)配置有哪些?
        • 內(nèi)存占用過多,如何排查?

        RocketMQ

        • 整體架構(gòu)
        • 如何保證消息的可靠性?
        • 如何實(shí)現(xiàn)順序消息?
        • 消費(fèi)者接口冪等設(shè)計(jì)
        • 事務(wù)消息實(shí)現(xiàn)

        分布式

        • 分布式鎖
          • Redis 如何實(shí)現(xiàn)?命令?
          • ZooKeeper 如何實(shí)現(xiàn)?
          • 獲取鎖失敗時(shí)如何處理?
        • 分布式事務(wù)
          • 2PC:缺點(diǎn)?
          • 3PC:解決了 2PC 什么問題?
          • TCC:缺點(diǎn)?
          • 最終一致性:MQ 實(shí)現(xiàn)流程
          • 實(shí)現(xiàn)框架(Seata)

        其他

        除了上面的「項(xiàng)目」和「技術(shù)」,可能還會(huì)問到一些其他問題,比如場景設(shè)計(jì)與分析、算法,還可能有一些比較開放的問題,下面介紹下我所遇到的。

        場景設(shè)計(jì)&分析

        • 秒殺場景設(shè)計(jì)

        比較典型的場景設(shè)計(jì),電商類的公司很可能會(huì)問到,網(wǎng)上有很多案例和文章分析,這里不再贅述。

        • 分布式鎖設(shè)計(jì)

        這個(gè)應(yīng)該不是熱門,本人也就遇到過一次,不過那一次被搞得有點(diǎn)懵,可能更多的是考察思路,大家可以多思考一下。

        • JVM 問題排查:線上 JVM 內(nèi)存、CPU 飆升,如何去排查?

        主要涉及一些常用的 Linux 命令和 JDK 自帶工具,比如 top、jstack、jmap 等,以及阿里的開源工具 Arthas 等。

        雖然在實(shí)際情況中我們可能很少有機(jī)會(huì)接觸(小小開發(fā)通常沒權(quán)限,還是要運(yùn)維大佬支持),但這些工具還是要了解的,可以在本地跑個(gè) Demo 去驗(yàn)證,以免到時(shí)候答不上來。

        • 容災(zāi)處理

        假如線上所有機(jī)器(包括服務(wù)器、數(shù)據(jù)庫、緩存服務(wù)器)全部宕機(jī),如何處理?

        PS: 這些場景設(shè)計(jì)和分析的問題,通常比較綜合,一般是考察對(duì)一個(gè)場景的整體設(shè)計(jì),或者分析和解決問題的思路。

        算法

        • 爬樓梯
        • 二叉樹遍歷

        PS: 算法問題遇到的不是很多,有些考察算法可能就是單純的面試流程。當(dāng)然,字節(jié)這類的公司除外,想去的話肯定還是要刷很多算法的。

        相比之下,大部分公司更注重「項(xiàng)目深度」和「技術(shù)體系」,或者給出一些實(shí)際的場景,考察分析和解決問題的經(jīng)驗(yàn)和思路。

        開放問題

        這些問題比較開放,沒有固定的答案,可能就是面試官想看下你的臨場發(fā)揮吧。遇到的幾個(gè)問題如下:

        • 有沒有帶過人?經(jīng)歷是怎樣的?
        • 如果你作為 PM,如何從整體協(xié)調(diào)一個(gè)項(xiàng)目?
        • 如果你在團(tuán)隊(duì)推行 DDD,你會(huì)怎么做?
        • 你有什么缺點(diǎn)?優(yōu)點(diǎn)?
        • 未來三年的職業(yè)規(guī)劃?
        • 在公司主要有哪些成長?
        • 上級(jí)、同事對(duì)你的評(píng)價(jià)?
        • 最近在看什么書?

        末了

        面試流程

        我所接觸的面試大部分是「三輪技術(shù)面 + HR 面」的形式,也有一些是兩輪技術(shù)面,不同公司可能不太一樣。一面一般是電話面初篩,后面二三輪技術(shù)面和 HR 面通常在一起。這樣其實(shí)也挺好,跑一趟就行了。

        心態(tài)

        面試的心態(tài)也很重要。其實(shí)你跟面試官之間是平等的,面試的過程是讓他對(duì)你更加了解,而不是他對(duì)你的考核。

        我剛開始面的時(shí)候,由于好久沒面試,再加上本來就不太愛說話,剛開始緊張的不行,后來面了幾次之后才逐漸有點(diǎn)感覺。如果較長時(shí)間沒面試,可以先面一兩家練練手、找找感覺。

        當(dāng)然,整個(gè)面試時(shí)間也不建議拖得太久,否則整個(gè)過程會(huì)比較累,最好還是一鼓作氣。

        啰里啰嗦一堆,其實(shí)面試還是挺看運(yùn)氣的,如果跟面試官聊得比較投機(jī),對(duì)你的評(píng)分自然也不錯(cuò)。

        最后,預(yù)祝想跳槽的親們一路綠燈!

        — 【 THE END 】—
        本公眾號(hào)全部博文已整理成一個(gè)目錄,請(qǐng)?jiān)诠娞?hào)里回復(fù)「m」獲取!


        3T技術(shù)資源大放送!包括但不限于:Java、C/C++,Linux,Python,大數(shù)據(jù),人工智能等等。在公眾號(hào)內(nèi)回復(fù)「1024」,即可免費(fèi)獲?。?!





        瀏覽 39
        點(diǎn)贊
        評(píng)論
        收藏
        分享

        手機(jī)掃一掃分享

        分享
        舉報(bào)
        評(píng)論
        圖片
        表情
        推薦
        點(diǎn)贊
        評(píng)論
        收藏
        分享

        手機(jī)掃一掃分享

        分享
        舉報(bào)
          
          

            1. 18禁网站一区 | 99热精品3 | 久久午夜无码鲁丝片午夜精品 | 国产午夜激无码毛片不卡十第1集 | 欧美色插 |