在去年,小哥我從傳統行業離職,轉投互聯網公司 騰訊,簡歷優秀,很順利地拿到了面試通知,但之后的進展卻讓我懷疑人生了,或者說讓我懵逼的是,面試騰訊居然第一面就被吊打?讓我開始懷疑自己,是不是這些年作業下來,自己沒有一丁點的進步呢?
把這事也跟一好朋友說了,他也覺得很是好奇,也覺得不應該的啊!問我是不是哪方面沒有發揮好,在第一面就掛了,聽了這話我更是不甘心,在半年里利用碎片時間狂啃面試資料 及視頻教程,然后今年四月把簡歷還是投到了失敗的那個騰訊部門,不巧的是又接到面試通知電話,更讓我沒有想到的是又碰到了上次的一位面試官,
從他一閃而過的眼神當中我看出了他的驚訝,我也淡然的一笑而過,不知為何這次我感覺是胸有成竹, 一切都是從容面對,一副處變不驚的樣子,面對這些考官們的問題都是侃侃而談,而我也感受到了考官們贊賞的眼神,大家猜的沒錯, 接下來順利通過面試 直接進廠入職,
最近才抽慷訓了些時間整理了這兩次面試的經歷 和問題,現在給大家分享一下,那么我們一起來看看吧!是否能回答上呢?
騰訊技術一面:
- 簡單說一下面向物件的特征以及六大原則
- 談談final、finally、finalize的區別
- Java中==、equals與hashCode的區別和聯系
- 談談Java容器ArrayList、LinkedList、HashMap、HashSet的理解,以及應用場景
- 談談執行緒的基本狀態,其中的wait() sleep() yield()方法的區別,
- JVM性能調優的監控工具了解那些?
- 簡單談談JVM記憶體模型,以及volatile關鍵字
- 垃圾收集器與記憶體分配策略
- 垃圾收集演算法
- MySQL幾種常用的存盤引擎區別
- 資料庫的隔離級別
- 5億整數的大檔案,怎么排?
騰訊技術二面:
- Java記憶體模型
- full gc怎么觸發?
- gc演算法
- JVM回收策略
- ClassLoader原理和應用
- 高吞吐量的話用哪種gc演算法
- ConcurrentHashMap和HashMap
- volatile的底層如何實作,怎么就能保住可見性了?
- 有參與過開源的專案嗎?
- 執行緒池原理,拒絕策略,核心執行緒數
- 1億個手機號碼,判斷重復
- 執行緒之間的互動方式有哪些?有沒有執行緒互動的封裝類 (join)?
騰訊技術三面:
- 兩次點擊,怎么防止重復下訂單?
- 資料庫表設計,索引
- Redis的快取淘汰策略、更新策略
- dubbo、netty、RPC介紹原理
- 限流演算法
- zk掛了怎么辦?
- 分布式鎖的實作方式,zk實作和Redis實作的比較
- 秒殺場景設計,應付突然的爆發流量
- 分布式資料一致性
- 一致性哈希
- 訊息佇列原理介紹
- 注解的原理
- 資料庫原理,資料庫中間件,索引優化
- ioc原理、aop原理和應用
- 大資料相關,MapReduce
- Docker的原理
除了上面親身經歷的面試問題 小編還為大家整理了大量華為、京東 美團, 滴滴方面的面試題,由于篇幅問題 下面將展示分享的內容,文中所出現的所有資料,小編都以整理成PDF檔案,有需要學習的朋友看文末獲取
開源框架知識
- 簡單講講tomcat結構,以及其類加載器流程,執行緒模型等,
- tomcat如何調優,涉及哪些引數 ,
- 講講Spring加載流程,
- Spring AOP的實作原理,
- 講講Spring事務的傳播屬性,
- Spring如何管理事務的,
- Spring怎么配置事務(具體說出一些關鍵的xml 元素),
- 說說你對Spring的理解,非單例注入的原理?它的生命周期?回圈注入的原理,aop的實作原
- 理,說說aop中的幾個術語,它們是怎么相互作業的,
- Springmvc 中DispatcherServlet初始化程序,
- netty的執行緒模型,netty如何基于reactor模型上實作的,
- 為什么選擇netty,
多執行緒
- 多執行緒的幾種實作方式,什么是執行緒安全,
- volatile的原理,作用,能代替鎖么,
- 畫一個執行緒的生命周期狀態圖,
- sleep和wait的區別,
- sleep和sleep(0)的區別,
- Lock與Synchronized的區別 ,
- synchronized的原理是什么,一般用在什么地方(比如加載靜態方法和非靜態方法的區別,靜態方法和非靜態方法同時執行的時候會有影響嗎),解釋以下名詞:重排序,自旋鎖,偏向鎖,輕量級鎖,可重入鎖,公平鎖,非公平鎖,樂觀鎖,悲觀鎖,
- 用過哪些原子類,他們的原理是什么,
- JUC下研究過哪些并發工具,講講原理,
- 用過執行緒池嗎,如果用過,請說明原理,并說說newCache和newFixed有什么區別,建構式的各個引數的含義是什么,比如coreSize,maxsize等,
- 執行緒池的關閉方式有幾種,各自的區別是什么,
- 假如有一個第三方介面,有很多個執行緒去呼叫獲取資料,現在規定每秒鐘最多有10個執行緒同時呼叫它,如何做到,
- spring的controller是單例還是多例,怎么保證并發的安全,
架構設計與分布式
- 用java自己實作一個LRU,
- 分布式集群下如何做到唯一序列號,
- 設計一個秒殺系統,30分鐘沒付款就自動關閉交易,
- 如何使用redis和zookeeper實作分布式鎖?有什么區別優缺點,會有什么問題,分別適用什么場景,(延伸:如果知道redlock,講講他的演算法實作,爭議在哪里)
- 如果有人惡意創建非法連接,怎么解決,
- 分布式事務的原理,優缺點,如何使用分布式事務,2pc 3pc 的區別,解決了哪些問題,還有哪些問題沒解決,如何解決,你自己專案里涉及到分布式事務是怎么處理的,
- 什么是一致性hash,
- 什么是restful,講講你理解的restful,
- 如何設計一個良好的API,
- 如何設計建立和保持100w的長連接,
- 解釋什么是MESI協議(快取一致性),
- 說說你知道的幾種HASH演算法,簡單的也可以,
- 什么是paxos演算法, 什么是zab協議,
- 一個在線檔案系統,檔案可以被編輯,如何防止多人同時對同一份檔案進行編輯更新,
- 線上系統突然變得例外緩慢,你如何查找問題,
- 說說你平時用到的設計模式,
- Dubbo的原理,有看過原始碼么,資料怎么流轉的,怎么實作集群,負載均衡,服務注冊和發現,重試轉發,快速失敗的策略是怎樣的 ,
演算法
- 10億個數字里里面找最小的10個,
- 有1億個數字,其中有2個是重復的,快速找到它,時間和空間要最優,
- 2億個隨機生成的無序整數,找出中間大小的值,
- 給一個不知道長度的(可能很大)輸入字串,設計一種方案,將重復的字符排重,
- 遍歷二叉樹,
- 有3n+1個數字,其中3n個中是重復的,只有1個是不重復的,怎么找出來,
- 寫一個字串(如:www.javastack.cn)反轉函式,
- 常用的排序演算法,快排,歸并、冒泡, 快排的最優時間復雜度,最差復雜度,冒泡排序的優化方案,
- 二分查找的時間復雜度,優勢,
- 一個已經構建好的TreeSet,怎么完成倒排序,
- 什么是B+樹,B-樹,列出實際的使用場景,
- 一個單向鏈表,洗掉倒數第N個資料,
- 200個有序的陣列,每個陣列里面100個元素,找出top20的元素,
- 單向鏈表,查找中間的那個元素,
訊息佇列
- 訊息佇列的使用場景,
- 訊息的重發,補充策略,
- 如何保證訊息的有序性,
- 用過哪些MQ,和其他mq比較有什么優缺點,MQ的連接是執行緒安全的嗎,你們公司的MQ服務架構怎樣的,
- MQ系統的資料如何保證不丟失,
- rabbitmq如何實作集群高可用,
- kafka吞吐量高的原因,
- kafka 和其他訊息佇列的區別,kafka 主從同步怎么實作,
- 利用mq怎么實作最終一致性,
- 使用kafka有沒有遇到什么問題,怎么解決的,
- MQ有可能發生重復消費,如何避免,如何做到冪等,
- MQ的訊息延遲了怎么處理,訊息可以設定過期時間么,過期了你們一般怎么處理,
學習方法及經驗總結
在自己拿到騰訊offer之前,一直都在想一個問題:我到底該如何做才能離騰訊更近?一年的成長與思考讓我認清了這點,雖然中間也遇到過很多坑,但卻真正讓我對自己有了一個清晰的定位,也有了比較明確的目標,正因為如此,我每天所學習的都給我莫大的動力,讓我不斷進步,并最終實作自己的目標,所以迷茫才是最可怕的,只有擺正心態,對找作業保持十二分的熱情,勤奮努力,才能離目標更近一步,
但是有了目標和努力外,不一定就能實作目標,說到底還有一個運氣的成分在里面,只能說你找到心儀的作業概率更大而已,遇到一個好的面試官絕對賺了,這幾位面試官我感覺都挺好的,沒有因為他們資歷深就為難我,所以還是非常感謝這幾位技術面試官的,
(1)多刷題
自己多刷一些面試題是非常重要的,即使是在自己不需要面試的情況下,也要經常了解現在的大廠小廠面試都會問一些什么?現在比較流行的技術是什么等等諸如此類,那么哥們是如何刷題的呢?刷題主要分為Java技術以及演算法兩大類,搜集了目前比較新的一些題冊,包括【Java核心知識】以及【演算法刷題】,如演算法方面就有LeetCode,關注下方公眾號獲取

演算法刷題LeetCode:
(2)多看看技術牛的實戰書
實際上很多人目前的一個狀態是缺乏實戰經驗,或者說是不知道該如何上手實戰,那么,看一些技術比較過硬的大牛寫的實戰書籍對自己是很有好處的,多少能夠學習到一些實戰經驗,目前我手上整理到的實戰書籍也算是比較全面,包括Spring全家桶、JVM、并發編程技術、Redis相關、MySQL調優、Tomcat、ZooKeeper等高級技術,
更多經典面試題合集
轉載請註明出處,本文鏈接:https://www.uj5u.com/qianduan/1420.html
標籤:其他
上一篇:螞蟻集團回應與騰訊微信支付競爭;華為余承東:鴻蒙現達到安卓70-80%水平;C++20 標準草案獲批準| 極客頭條
