溫馨提示:
一定不要在沒有面試經驗的情況下先面大廠,或者是你想去的公司,一定一定一定要做好充足的準備!!
百度(123面)
一面:
講講項目中的爬蟲和優化怎么做的,為什么選用jsoup而沒有用python的urllib
說說你了解的反爬蟲措施,和針對異常的處理。
做一個網站要從哪些方面考慮反爬蟲。
項目中怎么實現的充值,鎖的機制和事務注解,如何保證了事務的一致性。
spring層面做事務和數據庫層面做的區別,各自實現方式。
聊了事務的傳播性和隔離級別,mysql的默認隔離級別(可重復讀)
spring中事務傳播性怎么配置(xml方式和注解方式,還有關于savepoint的使用)
算法:O(1)刪除執行鏈表結點,做分析(其實是要指出劍指offer中那個直接copy值的方法的缺陷和隱患)
算法:二叉樹的最長距離(遞歸的思想)
這里也整理了其他大廠的面試題
需要的朋友可以加Java架構學習3:1130292996? ,暗號:j s 。
二面
聊項目
說說spring的IOC和AOP思想
關于AOP在spring的應用(比如事務,通知,aspectJ,slf4j的原理,和log4j的對比)
關于jdk代理和cglib第三方代理(說出對接口代理和子類繼承的區別)
用的什么數據庫
最大的數據量多大,用了索引沒有,怎么用的
為什么索引不能隨便用,什么時候用(什么時候失效,什么時候最高效)。
如何達到索引開銷和性能的平衡,用了一個表去舉例。(方法就是,根據情境看經常做的查詢是哪些,然后依次是什么查詢條件,保證最高效索引的同時,也保證索引不失效,避免無效開銷,并且根據show profile和explain功能進行對比分析)
數據庫用了緩存沒有,講講redis的理解(用作緩存,隊列,也可做存儲)。
redis是單線程還是多線程的,舉個例子(做計數器,rank排行榜)
講講hbase的原理,CloumnFamily包含哪些,region什么情況做分割,對于版本號這個第四維度的使用方式(一般默認三個版本)等等
經理面?綜合面
聊家庭,家鄉,工作意愿,愛好等等
講講項目的設計,包括異常的處理,數據庫設計,通信模型的設計。
講講你理解的JVM吧(重點知識)
360
一面
自我介紹加項目
線程池如何優化的爬蟲,數據規模
網絡時延如何處理
同名影片如何選取,有沒有更好的方式。
反爬蟲的原理,從低級到高級說一下,分別如何應對
線程進程區別
說下資源方面的區別,共享,不共享
共享的具體哪些資源
jvm內存模型
堆區的特點
數據庫左連接右連接,場景
給200個200個數的數組,找到最大的200個
git 常用的操作,git rebase和git merge區別
分布式數據庫怎么調用
linux常用命令,查看內存,查看磁盤使用率
360二面
聊項目,介紹下背景,怎么談的
印象最深的模塊及解決,其他項目呢,跟著老師做的,還有簡歷上沒寫的項目
項目經驗還可以那基礎怎么樣自己覺得,
說下jvm吧你知道的,中間會問
jvm詳細如下
內存模型
垃圾回收
分代及回收算法
哪些作為gc root
收集器的特點分類
類加載機制和雙親委派模型
幾個加載器
tomcat類加載有什么不同,說加載順序并不是雙親模型,具體順序說一下
并發注意什么,線程實現同步的方式,通信
幾種同步的區別
悲觀鎖樂觀鎖,底層怎么實現的,越詳細越好
單例模式的特點,幾種實現,容易引發的問題
如何防止內存泄露,哪些會容易造成
jvm調優如何檢查內存泄露,如何優化gc參數
寫sql 查詢帶日期多次考試成績表中,每個學生的每門課最高成績,日期要準確
分別用having子句寫和用子查詢寫
寫代碼 旋轉數組中查找某一個值
360 三面?hr面經
講一下項目怎么接的,怎么跟甲方溝通,遇到的最大問題,怎么克服的
自己的項目和老師的項目和安排怎么協調。
平時有什么愛好,怎么安排自己的時間
攝影都去哪拍,喜歡什么運動,什么時候運動
為什么選我們部門,其他部門你怎么看
我們是做移動端后臺的,喜歡玩手機嗎
說說常用的app平時怎么用,頻率
以后會不會創業,為什么
以后的規劃,職業技術和生活兩方面
這里也整理了其他大廠的面試題
需要的朋友可以加Java架構學習3:1130292996? ,暗號:j s 。
騰訊
騰訊的面試很考察思維能力,經常會有一些意想不到的問題,或者智力題。挺有意思。
一面
hashmap底層結構畫一下,手寫代碼做一個url解析器,用正則方式和hashMap的數據結構。
識別2的n次方,寫個函數。
自己實現http response響應頭的結構及解析,用buffer(寫個偽代碼)
resp頭中都有什么(主要考察http相關知識)
海量數據找到出現次數最多的100個(內存不足的時候可以先做hash分片,最后多路merge,每次操作可以用hashMap計數,也可以自己做hash函數計數)
redis底層實現,zset數據結構
jvm內存模型,分代,cpu100% 怎么排查
nio模型說一下
selector中的wakeup什么含義
select poll epoll (linux內核相關的知識)
arraylist.sort怎么實現的(可以看看TimSort的思想)
怎么看待java跟c
二面
100億個數找最大1000個
有什么缺點,分布不均勻(說一下堆的復雜度由來)
有沒有其他思路(用hash散列,計數排序)
然后講了基于partition的劃分思想(找到第k個開始partition,在左邊就在右面遞歸,在右面就在左邊遞歸,最后確定partition出最大的k個)
怎么快速告訴我是不是在這100億個數中?
一個進程最多申請多大空間(看機器cpu的處理位數看情況)‘
怎么保證進程間數據的安全?線程呢?
安全方面有沒有做過一些研究?
登錄驗證怎么做的,為什么用md5,有沒有改進( salt使md5庫難解出),微信用的什么方式你知道嗎?你想想應該用什么方式?
那說到通信安全,怎么保證http的安全性,冪等性,回調同一個會話怎么標識不同請求,不同會話怎么區分
TCP 3次握手和timewait講一下原理
講一下滑動窗口,飽和了怎么處理
http安全嗎?https說一下?
get和post請求
linux怎么查看網絡狀態(vmstat)
查看udp的性能,udp端口多少,什么時候用udp?
為什么tcp不行?
qq里哪些用的tcp哪些用udp?分別針對每種情況說一下為什么?
看到騰訊還是很愛問網絡通信、大數據處理的。
還有Redis、MySQL、Liunx、Spring、Redis以及BATJ面試真題詳解等
這里也整理了其他大廠的面試題
需要的朋友可以加Java架構學習3:1130292996? ,暗號:j s 。
還有Java核心知識點+全套架構師學習資料和視頻+一線大廠面試寶典+面試簡歷模板可以領取+阿里美團網易騰訊小米愛奇藝快手嗶哩嗶哩面試題+Spring源碼合集+Java架構實戰電子書。