主頁 > 前端設計 > 騰訊java一面失敗后潛修半年,四月斬下騰訊T3 Offer,我的逆襲之路

騰訊java一面失敗后潛修半年,四月斬下騰訊T3 Offer,我的逆襲之路

2020-09-10 08:15:46 前端設計

在去年,小哥我從傳統行業離職,轉投互聯網公司 騰訊,簡歷優秀,很順利地拿到了面試通知,但之后的進展卻讓我懷疑人生了,或者說讓我懵逼的是,面試騰訊居然第一面就被吊打?讓我開始懷疑自己,是不是這些年作業下來,自己沒有一丁點的進步呢?

把這事也跟一好朋友說了,他也覺得很是好奇,也覺得不應該的啊!問我是不是哪方面沒有發揮好,在第一面就掛了,聽了這話我更是不甘心,在半年里利用碎片時間狂啃面試資料 及視頻教程,然后今年四月把簡歷還是投到了失敗的那個騰訊部門,不巧的是又接到面試通知電話,更讓我沒有想到的是又碰到了上次的一位面試官,

從他一閃而過的眼神當中我看出了他的驚訝,我也淡然的一笑而過,不知為何這次我感覺是胸有成竹, 一切都是從容面對,一副處變不驚的樣子,面對這些考官們的問題都是侃侃而談,而我也感受到了考官們贊賞的眼神,大家猜的沒錯, 接下來順利通過面試 直接進廠入職,

最近才抽慷訓了些時間整理了這兩次面試的經歷 和問題,現在給大家分享一下,那么我們一起來看看吧!是否能回答上呢?

騰訊java一面失敗后潛修半年,四月斬下騰訊T3 Offer,我的逆襲之路

騰訊技術一面:

  1. 簡單說一下面向物件的特征以及六大原則
  2. 談談final、finally、finalize的區別
  3. Java中==、equals與hashCode的區別和聯系
  4. 談談Java容器ArrayList、LinkedList、HashMap、HashSet的理解,以及應用場景
  5. 談談執行緒的基本狀態,其中的wait() sleep() yield()方法的區別,
  6. JVM性能調優的監控工具了解那些?
  7. 簡單談談JVM記憶體模型,以及volatile關鍵字
  8. 垃圾收集器與記憶體分配策略
  9. 垃圾收集演算法
  10. MySQL幾種常用的存盤引擎區別
  11. 資料庫的隔離級別
  12. 5億整數的大檔案,怎么排?

騰訊技術二面:

  1. Java記憶體模型
  2. full gc怎么觸發?
  3. gc演算法
  4. JVM回收策略
  5. ClassLoader原理和應用
  6. 高吞吐量的話用哪種gc演算法
  7. ConcurrentHashMap和HashMap
  8. volatile的底層如何實作,怎么就能保住可見性了?
  9. 有參與過開源的專案嗎?
  10. 執行緒池原理,拒絕策略,核心執行緒數
  11. 1億個手機號碼,判斷重復
  12. 執行緒之間的互動方式有哪些?有沒有執行緒互動的封裝類 (join)?

騰訊技術三面:

  1. 兩次點擊,怎么防止重復下訂單?
  2. 資料庫表設計,索引
  3. Redis的快取淘汰策略、更新策略
  4. dubbo、netty、RPC介紹原理
  5. 限流演算法
  6. zk掛了怎么辦?
  7. 分布式鎖的實作方式,zk實作和Redis實作的比較
  8. 秒殺場景設計,應付突然的爆發流量
  9. 分布式資料一致性
  10. 一致性哈希
  11. 訊息佇列原理介紹
  12. 注解的原理
  13. 資料庫原理,資料庫中間件,索引優化
  14. ioc原理、aop原理和應用
  15. 大資料相關,MapReduce
  16. Docker的原理

除了上面親身經歷的面試問題 小編還為大家整理了大量華為、京東 美團, 滴滴方面的面試題,由于篇幅問題 下面將展示分享的內容,文中所出現的所有資料,小編都以整理成PDF檔案,有需要學習的朋友看文末獲取

開源框架知識

  • 簡單講講tomcat結構,以及其類加載器流程,執行緒模型等,
  • tomcat如何調優,涉及哪些引數 ,
  • 講講Spring加載流程,
  • Spring AOP的實作原理,
  • 講講Spring事務的傳播屬性,
  • Spring如何管理事務的,
  • Spring怎么配置事務(具體說出一些關鍵的xml 元素),
  • 說說你對Spring的理解,非單例注入的原理?它的生命周期?回圈注入的原理,aop的實作原
  • 理,說說aop中的幾個術語,它們是怎么相互作業的,
  • Springmvc 中DispatcherServlet初始化程序,
  • netty的執行緒模型,netty如何基于reactor模型上實作的,
  • 為什么選擇netty,

騰訊java一面失敗后潛修半年,四月斬下騰訊T3 Offer,我的逆襲之路

多執行緒

  • 多執行緒的幾種實作方式,什么是執行緒安全,
  • volatile的原理,作用,能代替鎖么,
  • 畫一個執行緒的生命周期狀態圖,
  • sleep和wait的區別,
  • sleep和sleep(0)的區別,
  • Lock與Synchronized的區別 ,
  • synchronized的原理是什么,一般用在什么地方(比如加載靜態方法和非靜態方法的區別,靜態方法和非靜態方法同時執行的時候會有影響嗎),解釋以下名詞:重排序,自旋鎖,偏向鎖,輕量級鎖,可重入鎖,公平鎖,非公平鎖,樂觀鎖,悲觀鎖,
  • 用過哪些原子類,他們的原理是什么,
  • JUC下研究過哪些并發工具,講講原理,
  • 用過執行緒池嗎,如果用過,請說明原理,并說說newCache和newFixed有什么區別,建構式的各個引數的含義是什么,比如coreSize,maxsize等,
  • 執行緒池的關閉方式有幾種,各自的區別是什么,
  • 假如有一個第三方介面,有很多個執行緒去呼叫獲取資料,現在規定每秒鐘最多有10個執行緒同時呼叫它,如何做到,
  • spring的controller是單例還是多例,怎么保證并發的安全,

騰訊java一面失敗后潛修半年,四月斬下騰訊T3 Offer,我的逆襲之路

架構設計與分布式

  • 用java自己實作一個LRU,
  • 分布式集群下如何做到唯一序列號,
  • 設計一個秒殺系統,30分鐘沒付款就自動關閉交易,
  • 如何使用redis和zookeeper實作分布式鎖?有什么區別優缺點,會有什么問題,分別適用什么場景,(延伸:如果知道redlock,講講他的演算法實作,爭議在哪里)
  • 如果有人惡意創建非法連接,怎么解決,
  • 分布式事務的原理,優缺點,如何使用分布式事務,2pc 3pc 的區別,解決了哪些問題,還有哪些問題沒解決,如何解決,你自己專案里涉及到分布式事務是怎么處理的,
  • 什么是一致性hash,
  • 什么是restful,講講你理解的restful,
  • 如何設計一個良好的API,
  • 如何設計建立和保持100w的長連接,
  • 解釋什么是MESI協議(快取一致性),
  • 說說你知道的幾種HASH演算法,簡單的也可以,
  • 什么是paxos演算法, 什么是zab協議,
  • 一個在線檔案系統,檔案可以被編輯,如何防止多人同時對同一份檔案進行編輯更新,
  • 線上系統突然變得例外緩慢,你如何查找問題,
  • 說說你平時用到的設計模式,
  • Dubbo的原理,有看過原始碼么,資料怎么流轉的,怎么實作集群,負載均衡,服務注冊和發現,重試轉發,快速失敗的策略是怎樣的 ,

騰訊java一面失敗后潛修半年,四月斬下騰訊T3 Offer,我的逆襲之路

演算法

  • 10億個數字里里面找最小的10個,
  • 有1億個數字,其中有2個是重復的,快速找到它,時間和空間要最優,
  • 2億個隨機生成的無序整數,找出中間大小的值,
  • 給一個不知道長度的(可能很大)輸入字串,設計一種方案,將重復的字符排重,
  • 遍歷二叉樹,
  • 有3n+1個數字,其中3n個中是重復的,只有1個是不重復的,怎么找出來,
  • 寫一個字串(如:www.javastack.cn)反轉函式,
  • 常用的排序演算法,快排,歸并、冒泡, 快排的最優時間復雜度,最差復雜度,冒泡排序的優化方案,
  • 二分查找的時間復雜度,優勢,
  • 一個已經構建好的TreeSet,怎么完成倒排序,
  • 什么是B+樹,B-樹,列出實際的使用場景,
  • 一個單向鏈表,洗掉倒數第N個資料,
  • 200個有序的陣列,每個陣列里面100個元素,找出top20的元素,
  • 單向鏈表,查找中間的那個元素,

騰訊java一面失敗后潛修半年,四月斬下騰訊T3 Offer,我的逆襲之路

訊息佇列

  • 訊息佇列的使用場景,
  • 訊息的重發,補充策略,
  • 如何保證訊息的有序性,
  • 用過哪些MQ,和其他mq比較有什么優缺點,MQ的連接是執行緒安全的嗎,你們公司的MQ服務架構怎樣的,
  • MQ系統的資料如何保證不丟失,
  • rabbitmq如何實作集群高可用,
  • kafka吞吐量高的原因,
  • kafka 和其他訊息佇列的區別,kafka 主從同步怎么實作,
  • 利用mq怎么實作最終一致性,
  • 使用kafka有沒有遇到什么問題,怎么解決的,
  • MQ有可能發生重復消費,如何避免,如何做到冪等,
  • MQ的訊息延遲了怎么處理,訊息可以設定過期時間么,過期了你們一般怎么處理,

騰訊java一面失敗后潛修半年,四月斬下騰訊T3 Offer,我的逆襲之路

學習方法及經驗總結

在自己拿到騰訊offer之前,一直都在想一個問題:我到底該如何做才能離騰訊更近?一年的成長與思考讓我認清了這點,雖然中間也遇到過很多坑,但卻真正讓我對自己有了一個清晰的定位,也有了比較明確的目標,正因為如此,我每天所學習的都給我莫大的動力,讓我不斷進步,并最終實作自己的目標,所以迷茫才是最可怕的,只有擺正心態,對找作業保持十二分的熱情,勤奮努力,才能離目標更近一步

但是有了目標和努力外,不一定就能實作目標,說到底還有一個運氣的成分在里面,只能說你找到心儀的作業概率更大而已,遇到一個好的面試官絕對賺了,這幾位面試官我感覺都挺好的,沒有因為他們資歷深就為難我,所以還是非常感謝這幾位技術面試官的,

(1)多刷題

自己多刷一些面試題是非常重要的,即使是在自己不需要面試的情況下,也要經常了解現在的大廠小廠面試都會問一些什么?現在比較流行的技術是什么等等諸如此類,那么哥們是如何刷題的呢?刷題主要分為Java技術以及演算法兩大類,搜集了目前比較新的一些題冊,包括【Java核心知識】以及【演算法刷題】,如演算法方面就有LeetCode,關注下方公眾號獲取

演算法刷題LeetCode:

騰訊java一面失敗后潛修半年,四月斬下騰訊T3 Offer,我的逆襲之路

騰訊java一面失敗后潛修半年,四月斬下騰訊T3 Offer,我的逆襲之路

(2)多看看技術牛的實戰書

實際上很多人目前的一個狀態是缺乏實戰經驗,或者說是不知道該如何上手實戰,那么,看一些技術比較過硬的大牛寫的實戰書籍對自己是很有好處的,多少能夠學習到一些實戰經驗,目前我手上整理到的實戰書籍也算是比較全面,包括Spring全家桶、JVM、并發編程技術、Redis相關、MySQL調優、Tomcat、ZooKeeper等高級技術,

騰訊java一面失敗后潛修半年,四月斬下騰訊T3 Offer,我的逆襲之路

更多經典面試題合集

騰訊java一面失敗后潛修半年,四月斬下騰訊T3 Offer,我的逆襲之路

轉載請註明出處,本文鏈接:https://www.uj5u.com/qianduan/1420.html

標籤:其他

上一篇:螞蟻集團回應與騰訊微信支付競爭;華為余承東:鴻蒙現達到安卓70-80%水平;C++20 標準草案獲批準| 極客頭條

下一篇:跌落神壇的科技巨頭:掌握眾多顛覆性技術的Mozilla為何輝煌不再

標籤雲
其他(157675) Python(38076) JavaScript(25376) Java(17977) C(15215) 區塊鏈(8255) C#(7972) AI(7469) 爪哇(7425) MySQL(7132) html(6777) 基礎類(6313) sql(6102) 熊猫(6058) PHP(5869) 数组(5741) R(5409) Linux(5327) 反应(5209) 腳本語言(PerlPython)(5129) 非技術區(4971) Android(4554) 数据框(4311) css(4259) 节点.js(4032) C語言(3288) json(3245) 列表(3129) 扑(3119) C++語言(3117) 安卓(2998) 打字稿(2995) VBA(2789) Java相關(2746) 疑難問題(2699) 细绳(2522) 單片機工控(2479) iOS(2429) ASP.NET(2402) MongoDB(2323) 麻木的(2285) 正则表达式(2254) 字典(2211) 循环(2198) 迅速(2185) 擅长(2169) 镖(2155) 功能(1967) .NET技术(1958) Web開發(1951) python-3.x(1918) HtmlCss(1915) 弹簧靴(1913) C++(1909) xml(1889) PostgreSQL(1872) .NETCore(1853) 谷歌表格(1846) Unity3D(1843) for循环(1842)

熱門瀏覽
  • vue移動端上拉加載

    可能做得過于簡單或者比較low,請各位大佬留情,一起探討技術 ......

    uj5u.com 2020-09-10 04:38:07 more
  • 優美網站首頁,頂部多層導航

    一個個人用的瀏覽器首頁,可以把一下常用的網站放在這里,平常打開會比較方便。 第一步,HTML代碼 <script src=https://www.cnblogs.com/szharf/p/"js/jquery-3.4.1.min.js"></script> <div id="navigate"> <ul> <li class="labels labels_1"> ......

    uj5u.com 2020-09-10 04:38:47 more
  • 頁面為要加<!DOCTYPE html>

    最近因為寫一個js函式,需要用到$(window).height(); 由于手寫demo的時候,過于自信,其實對前端方面的認識也不夠體系,用文本檔案直接敲出來的html代碼,第一行沒有加上<!DOCTYPE html> 導致了$(window).height();的結果直接是整個document的高 ......

    uj5u.com 2020-09-10 04:38:52 more
  • WordPress網站程式手動升級要做好資料備份

    WordPress博客網站程式在進行升級前,必須要做好網站資料的備份,這個問題良家佐言是遇見過的;在剛開始接觸WordPress博客程式的時候,因為升級問題和博客網站的修改的一些嘗試,良家佐言是吃盡了苦頭。因為購買的是西部數碼的空間和域名,每當佐言把自己的WordPress博客網站搞到一塌糊涂的時候 ......

    uj5u.com 2020-09-10 04:39:30 more
  • WordPress程式不能升級為5.4.2版本的原因

    WordPress是一款個人博客系統,受到英文博客愛好者和中文博客愛好者的追捧,并逐步演化成一款內容管理系統軟體;它是使用PHP語言和MySQL資料庫開發的,用戶可以在支持PHP和MySQL資料庫的服務器上使用自己的博客。每一次WordPress程式的更新,就會牽動無數WordPress愛好者的心, ......

    uj5u.com 2020-09-10 04:39:49 more
  • 使用CSS3的偽元素進行首字母下沉和首行改變樣式

    網頁中常見的一種效果,首字改變樣式或者首行改變樣式,效果如下圖。 代碼: <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, ......

    uj5u.com 2020-09-10 04:40:09 more
  • 關于a標簽的講解

    什么是a標簽? <a> 標簽定義超鏈接,用于從一個頁面鏈接到另一個頁面。 <a> 元素最重要的屬性是 href 屬性,它指定鏈接的目標。 a標簽的語法格式:<a href=https://www.cnblogs.com/summerxbc/p/"指定要跳轉的目標界面的鏈接">需要展示給用戶看見的內容</a> a標簽 在所有瀏覽器中,鏈接的默認外觀如下: 未被訪問的鏈接帶 ......

    uj5u.com 2020-09-10 04:40:11 more
  • 前端輪播圖

    在需要輪播的頁面是引入swiper.min.js和swiper.min.css swiper.min.js地址: 鏈接:https://pan.baidu.com/s/15Uh516YHa4CV3X-RyjEIWw 提取碼:4aks swiper.min.css地址 鏈接:https://pan.b ......

    uj5u.com 2020-09-10 04:40:13 more
  • 如何設定html中的背景圖片(全屏顯示,且不拉伸)

    1 <style>2 body{background-image:url(https://uploadbeta.com/api/pictures/random/?key=BingEverydayWallpaperPicture); 3 background-size:cover;background ......

    uj5u.com 2020-09-10 04:40:16 more
  • Java學習——HTML詳解(上)

    HTML詳解 初識HTML Hyper Text Markup Language(超文本標記語言) 1 <!--DOCTYPE:告訴瀏覽器我們要使用什么規范--> 2 <!DOCTYPE html> 3 <html lang="en"> 4 <head> 5 <!--meta 描述性的標簽,描述一些 ......

    uj5u.com 2020-09-10 04:40:33 more
最新发布
  • 我的第一個NPM包:panghu-planebattle-esm(胖虎飛機大戰)使用說明

    好家伙,我的包終于開發完啦 歡迎使用胖虎的飛機大戰包!! 為你的主頁添加色彩 這是一個有趣的網頁小游戲包,使用canvas和js開發 使用ES6模塊化開發 效果圖如下: (覺得圖片太sb的可以自己改) 代碼已開源!! Git: https://gitee.com/tang-and-han-dynas ......

    uj5u.com 2023-04-20 07:59:23 more
  • 生產事故-走近科學之消失的JWT

    入職多年,面對生產環境,盡管都是小心翼翼,慎之又慎,還是難免捅出簍子。輕則滿頭大汗,面紅耳赤。重則系統停擺,損失資金。每一個生產事故的背后,都是寶貴的經驗和教訓,都是專案成員的血淚史。為了更好地防范和遏制今后的各類事故,特開此專題,長期更新和記錄大大小小的各類事故。有些是親身經歷,有些是經人耳傳口授 ......

    uj5u.com 2023-04-18 07:55:04 more
  • 記錄--Canvas實作打飛字游戲

    這里給大家分享我在網上總結出來的一些知識,希望對大家有所幫助 打開游戲界面,看到一個畫面簡潔、卻又富有挑戰性的游戲。螢屏上,有一個白色的矩形框,里面不斷下落著各種單詞,而我需要迅速地輸入這些單詞。如果我輸入的單詞與螢屏上的單詞匹配,那么我就可以獲得得分;如果我輸入的單詞錯誤或者時間過長,那么我就會輸 ......

    uj5u.com 2023-04-04 08:35:30 more
  • 了解 HTTP 看這一篇就夠

    在學習網路之前,了解它的歷史能夠幫助我們明白為何它會發展為如今這個樣子,引發探究網路的興趣。下面的這張圖片就展示了“互聯網”誕生至今的發展歷程。 ......

    uj5u.com 2023-03-16 11:00:15 more
  • 藍牙-低功耗中心設備

    //11.開啟藍牙配接器 openBluetoothAdapter //21.開始搜索藍牙設備 startBluetoothDevicesDiscovery //31.開啟監聽搜索藍牙設備 onBluetoothDeviceFound //30.停止監聽搜索藍牙設備 offBluetoothDevi ......

    uj5u.com 2023-03-15 09:06:45 more
  • canvas畫板(滑鼠和觸摸)

    <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>canves</title> <style> #canvas { cursor:url(../images/pen.png),crosshair; } #canvasdiv{ bo ......

    uj5u.com 2023-02-15 08:56:31 more
  • 手機端H5 實作自定義拍照界面

    手機端 H5 實作自定義拍照界面也可以使用 MediaDevices API 和 <video> 標簽來實作,和在桌面端做法基本一致。 首先,使用 MediaDevices.getUserMedia() 方法獲取攝像頭媒體流,并將其傳遞給 <video> 標簽進行渲染。 接著,使用 HTML 的 < ......

    uj5u.com 2023-01-12 07:58:22 more
  • 記錄--短視頻滑動播放在 H5 下的實作

    這里給大家分享我在網上總結出來的一些知識,希望對大家有所幫助 短視頻已經無數不在了,但是主體還是使用 app 來承載的。本文講述 H5 如何實作 app 的視頻滑動體驗。 無聲勝有聲,一圖頂百辯,且看下圖: 網址鏈接(需在微信或者手Q中瀏覽) 從上圖可以看到,我們主要實作的功能也是本文要講解的有: ......

    uj5u.com 2023-01-04 07:29:05 more
  • 一文讀懂 HTTP/1 HTTP/2 HTTP/3

    從 1989 年萬維網(www)誕生,HTTP(HyperText Transfer Protocol)經歷了眾多版本迭代,WebSocket 也在期間萌芽。1991 年 HTTP0.9 被發明。1996 年出現了 HTTP1.0。2015 年 HTTP2 正式發布。2020 年 HTTP3 或能正... ......

    uj5u.com 2022-12-24 06:56:02 more
  • 【HTML基礎篇002】HTML之form表單超詳解

    ??一、form表單是什么

    ??二、form表單的屬性

    ??三、input中的各種Type屬性值

    ??四、標簽 ......

    uj5u.com 2022-12-18 07:17:06 more