金三銀四,如何遠程面試拿下大廠offer?(附大廠面經+面試寶典)

前言

“找工作 3 個多月了,還沒有遇到合適的,座標杭州。”“座標北京,2 年工作經驗,裸辭 1 個月了,Java/Python 方向都在找,投的簡歷都石沉大海了。”“金三銀四找的全是 996 的,雙休只有外企和非互聯網行業。”“去年冬天被裁員的,今年到現在還沒找著像樣的工作。”“投了半個多月簡歷,一個面試機會都沒有,送達,已讀。”

在過去得2019裡,這是我在互聯網裡聽過最多的說辭,對於程序員找工作,行情似乎並不那麼樂觀,在這群人中,,不乏多年工作經驗的資深程序員,也有入行不久的新人程序員。今年的2020年開端,也並不完美,疫情之下,金三銀四也將受到影響,那麼今年的金三銀四春招,“遠程面試”將會成為今年面試季的關鍵詞,那麼我們又該何去何從?如何通過遠程面試來拿下心儀的offer 呢?——提前做好準備。

借鑑經驗和刷題是面試大廠必不可少的一道步驟,以下分享大廠面試經驗與整理出來的Java核心知識寶典,大廠分別是阿里、字節跳動和美團,希望能夠給你們帶來一些幫助。

另外,由於文章篇幅有限,大廠面試題的答案及詳解,私信我【面試】即可獲取~

金三銀四,如何遠程面試拿下大廠offer?(附大廠面經+面試寶典)

阿里面試經驗分享(電話面)

一面(電話,61 分 47 秒)

  • 自我介紹
  • 項目來歷
  • MySQL 和 MongoDB 的區別
  • 負載均衡的實現,有沒有使用過nginx?
  • 為什麼數據庫使用索引查詢速度會那麼快,是怎樣實現的?
  • 除了mysql這種關係型數據庫外,還有哪些數據庫?
  • TCP和UDP的區別?
  • 一次HTTP的完整請求過程(從網絡協議的層面來闡述)?
  • 面嚮對象語言的特點?
  • hashmap和hashtable的區別?
  • JVM的內存模型,回收機制
  • 老闆有 2000 元給我和同學分錢,首先由我提出分錢方案。如果同學不同意,則總額變為 1000 元,並由同學提出分錢方案。如果這時我不同意,則倆人各拿 100 元。請問一開始我應該怎麼給出分錢方案?
  • 假設有一個線程在取隊列中的消息,怎麼停止這個線程?
  • 讀過哪些源碼?
  • 項目中遇到過什麼難題
  • 印象深刻的幾次學習經歷
  • 有什麼問題想問的?

二面(電話,82 分 33 秒)

  • springboot或者spring的加載流程
  • 對IOC和AOP的理解
  • jdk和cglib實現的AOP實際上會在內存生成動態代理對象,還有什麼其他辦法實現AOP?經提示答出AspectJ以及實現原理
  • Spring中的對象的作用域
  • Singleton對象引用Prototype會發生什麼
  • 項目中怎樣使用微服務?
  • 兩個服務之間調用的流程
  • rpc與http的區別
  • 設計rpc協議需要注意什麼
  • 項目中如何使用kafka
  • 消息隊列的使用場景
  • kafka如何保證消息投遞的可靠性
  • 聊聊jvm,內存分佈,垃圾回收
  • 創建類的流程,類加載流程
  • 瞭解我做過的項目的複雜度

三面(電話,30 分 57 秒)

  • 問項目,根據項目問問題
  • 用過數據庫索引嗎?介紹如何使用,何時使用?
  • B樹、B+樹、紅黑樹數據庫分頁查詢,如何分頁,怎麼實現?
  • 四種隔離級別,虛讀和幻讀什麼意思發生在哪?
  • 使用的MySQL版本,和之前版本的區別?
  • 1.7和1.8的JVM有哪些不同?
  • 垃圾回收算法,CMS垃圾回收器簡單介紹
  • ConcurrentHashMap的size()函數1.7和1.8的不同,或者介紹一下如果是你如何設計?
  • 排序算法,介紹一下快速排序,快速排序時間複雜度,是不是穩定排序,介紹幾種你所知道的穩定排序算法
  • UDP,TCP,HTTP介紹一下,OSI七層模型
  • Redis支持的數據結構

HR面(電話,14 分 47 秒)

  • 為什麼來阿里?
  • 有什麼優勢能讓你來我們部門?
  • 業餘有什麼愛好?
  • 解決難題的經歷?
  • 遇到過什麼挫折?
  • 選擇上海還是杭州?

字節跳動面試經驗(一面電話面,二面視頻面,三面、HR面現場面)

字節跳動一面(電話面,40 分 34 秒)

  • 自我介紹
  • 手寫代碼:有序鏈表合併
  • 聊聊項目 怎麼個秒殺法
  • 計算過qps嗎 qps是什麼
  • 場景題:設計表結構 怎麼實現用戶量大的情況下快速查詢用戶的粉絲數/關注數?
  • 聊聊IOC
  • IOC加載過程
  • wait和sleep的區別
  • synchronized底層原理 是可重入鎖嗎?
  • CAS原理
  • 怎麼解決ABA問題?
  • HashMap數據結構 線程安全嗎?
  • 舉個例子HashMap怎麼線程不安全?
  • 聊聊B樹和B+樹 數據結構是什麼 查詢複雜度是多少?

字節跳動二面(視頻面,37 分 46 秒)

  • 場景1:硬盤1T,內存2G 有很多數據id, 有重複的id 怎麼找到重複次數最多的Top10
  • 場景2:網頁中有一個用戶輸入框,輸入完文本後會拿到一個url,然後關閉頁面。
    用戶下次再進入頁面時根據上次的url可以看到上次輸入的文本 怎麼實現這個功能,把你能想到的說出來
  • 數據庫索引怎麼建立,把你的認識說出來,後來我引到了聚簇索引,索引覆蓋
  • 解釋什麼是索引覆蓋?
  • 數據庫隔離級別有哪些?
  • 舉個不可重複讀的例子
  • 除了設置數據庫隔離級別,還有什麼方法可以解決不可重複讀 ?(後面提示說這個有個專有的名詞)
  • 講講滑動窗口的過程 滑動窗口在哪裡用到?
  • 手寫代碼:有序鏈表合併的升級版,合併n多和有序鏈表,並計算時間複雜度

字節跳動三面(現場面,53分21秒)

  • 你如何理解後端開發
  • 有哪些後端開發經驗,做了什麼?
  • 介紹HashMap ,與TreeMap區別
  • 用HashMap實現一個有過期功能的緩存,怎麼實現?
  • 如果需要多個線程,那怎麼保證線程安全?
  • 如果把數據都放進Map ,會佔用多大內存?
  • 平時怎麼學習新知識?
  • 最近看了什麼書?
  • 對於你的商城項目,如果對於同一個分類有多個賣家,如何設計數據表?
  • 對於高併發的系統,如何設計架構才能避免瞬間數據庫收到瞬間高流量的衝擊?
  • 如果你用Redis實現的話,可能會出現商品超賣的問題,那麼你是如何結果商品超賣問題的?
  • 一般在支付的過程中,用戶支付、賬戶被凍結、訂單的生成、賣家庫存減少、賣家收到錢,這是個一系列的過程,那麼你如何設計實現分佈式的事務?
  • 如果用戶在提交訂單之後向消息隊列發送消息,這個時候網絡出現異常,消息隊列並沒有接收到用戶發送的消息怎麼辦?
  • 問GitHub賬號
  • 兩個雞蛋問題,如果有100層樓,如何判斷出恰好在第幾層樓摔壞?

字節跳動HR面(現場面,21分鐘48秒)

  • 為什麼來頭條
  • 作為項目負責人,完成了哪些工作
  • 實習時長、什麼時候來

美團點評面試經驗分享(非常乾脆,3面直接順利通過)

美團一面(電話面,45分鐘37秒)

  • 介紹項目
  • 分佈式鎖的實現
  • 分佈式鎖過期解決
  • 前綴樹是什麼 前綴樹的使用場景
  • 分佈式數據庫主從複製
  • MySQL 死鎖發生的原因和解決
  • MySQL 分別建立索引 a,b,c ,語句 select ...where b=x,c=x,a=x 能不能用到索引,建立聯合索引能不能用到,a=x,b>x,能不能用到,用到幾個索引?
  • B 樹和 b+ 樹的區別 b+ 樹的優點
  • Linux cpu 滿了怎麼排查?
  • 怎麼查看佔 cpu 最多的線程
  • Linux怎麼搜索文件中的字符串,寫到另一個文件中
  • liunx 網絡相關命令
  • 如何判斷鏈表是否有環
  • Java = 和 equals的區別
  • Java contentMap 和 HashMap 什麼區別,線程安全怎麼實現
  • HashMap 怎麼解決哈希衝突,哈希衝突還有什麼解決方法
  • Java 運行時異常和檢查性異常
  • Java 類加載
  • 什麼是泛型 泛型的使用場景
  • 面向過程和麵向對象
  • 多態是什麼 父類如何調用子類的方法
  • 問我看了啥書(設計模式,圖解HTTP,Modern PHP...被打斷然後開始問設計模式)
  • 單例模式的用途 靜態內部類實現單例模式的方式
  • 工廠模式的用途
  • 策略模式的用途
  • Get 和 post請求的區別
  • 網頁請求的整個過程
  • 說說自己的優缺點,對缺點的改進?

美團二面(現場面,57分鐘)

  • 上來先寫代碼,兩個線程交替輸出1-100
  • JAVA鎖機制(synchronize,ReentrantLock等)
  • 樂觀悲觀鎖
  • sql語句慢查詢如何調優
  • 主鍵索引和普通索引區別
  • 項目用的什麼數據庫,什麼引擎,底層是什麼
  • 說一下B+樹和B樹
  • B+樹索引都能查到葉子節點麼
  • mvcc多版本併發控制
  • 隔離級別瞭解麼,說一下
  • JVM調過麼,用的什麼垃圾回收器(G1)
  • 講一下新生代老年代(這裡給我挖了個坑,等我說完,告我G1不分新生代老年代,我還沒學到啊可惜)
  • TCP,UDP區別
  • 輸入URL會發生什麼?
  • Linux常用操作
  • 線程進程區別
  • 用過什麼中間件或者消息隊列麼?
  • 有什麼問題想問我?

美團HR面

  • 自我介紹,抓住介紹的點讓你詳細說說
  • 其他的面試流程?
  • 考慮去哪裡工作,北京是唯一選擇嗎?
  • 為什麼來美團,從哪裡知道美團技術團隊?
金三銀四,如何遠程面試拿下大廠offer?(附大廠面經+面試寶典)

Java面試寶典(歷年來的大廠面試必問核心知識點)

這份Java面試寶典整理了歷年來大廠面試必問的核心知識點,從基礎的到進階的,讓你從小白成長到架構師,面試寶典內容覆蓋了JVM、鎖、併發、Java反射、Spring原理、微服務、Zookeeper、數據庫、數據結構等部分,看完讓你受益匪淺!

這份寶典包括了五個大部分,26個知識點:

  • Java部分:Java基礎,集合,併發,多線程,JVM,設計模式
  • 數據結構算法:Java算法,數據結構
  • 開源框架部分:Spring,MyBatis,MVC,netty,tomcat
  • 分佈式部分:架構設計,Redis緩存,Zookeeper,kafka,RabbitMQ,負載均衡等
  • 微服務部分:SpringBoot,SpringCloud,Dubbo,Docker
  • 金三銀四,如何遠程面試拿下大廠offer?(附大廠面經+面試寶典)

    寶典目錄:

    金三銀四,如何遠程面試拿下大廠offer?(附大廠面經+面試寶典)

    寫在最後

    我相信,一切都會好起來。

    最後祝願大家身體健康,面試順利!

    文章內的面試題和答案及Java面試寶典,需要的朋友幫忙轉發一下文章,然後關注我後臺私信【面試】即可免費領取啦~~!


    分享到:


    相關文章: