騰訊云Java工程師一面 + 被撈一面 + 二面面經(jīng)
點擊藍(lán)色“程序員黃小斜”關(guān)注我喲
加個“星標(biāo)”,每天和你一起多進(jìn)步一點點!
文|牛客網(wǎng):牛客 71576213 號
【一面】全程 55min
先自我介紹一下吧 Java1.8 的新特性?你說到了 Lambda 表達(dá)式,你說說它的優(yōu)缺點? Java 8 的 Stream 流用過嗎?有什么特點? 線程池創(chuàng)建的方式有哪些? ThreadPoolExecuter的參數(shù)有哪些?ArrayList和LinkedList的區(qū)別在哪里?Queue與Deque的區(qū)別?HashMap和TreeMap區(qū)別?假設(shè)有一個 10W 的數(shù)據(jù)請求,你會有什么方法來實現(xiàn)這些數(shù)據(jù)的增刪改查? 數(shù)據(jù)庫的三大范式是什么? MyISAM 和 InnoDB 的區(qū)別? MySQL 主鍵索引和普通索引的區(qū)別是什么?誰的性能更好一些?如果是在 10W 級的數(shù)據(jù)下,誰的性能更好些? 介紹一下聯(lián)合索引吧? 以(a,b,c)為例,在什么情況下,單查 b 也能夠命中聯(lián)合索引? 算法題:手寫代碼實現(xiàn)單向鏈表的結(jié)構(gòu)體,完成增刪改查。 反問環(huán)節(jié):你有什么問題想問我的不?
面試總結(jié):感覺問題的題目不是太難,只怪自己太菜,基礎(chǔ)沒掌握好,面試官人不錯,要是有人撈,我還想再來一次!第二天流程已結(jié)束。。
好家伙,不知道發(fā)生了什么,我又開始了新的流程,這難道就是傳說中的二戰(zhàn)!!!還是騰訊云。
【一面】全程 46min
自我介紹, 接著就是來倆算法題:題 1:統(tǒng)計一串字符中,重疊字符出現(xiàn)的次數(shù)。(如 AAABBBCC,輸出 A_3_B_3_C_2)題 2:求兩個字符的最長公共子串 你用過哪些數(shù)據(jù)庫?MySQL 數(shù)據(jù)庫的存儲引擎了解過哪些?這些存儲引擎的特點是什么? MySQL 默認(rèn)是什么存儲引擎,為啥用這個? InnoDB 和 MyISAM 的有啥區(qū)別?和 MEMORY 呢? InnoDB 為啥索引的數(shù)據(jù)結(jié)果要用 B+樹? 為啥不用 Hash 索引?Hash 索引查找的時候不是更快嗎? 網(wǎng)絡(luò)編程了解過嗎?說說如何創(chuàng)建一個 Socket 連接 C++的基本數(shù)據(jù)結(jié)構(gòu)了解過嗎? 反問環(huán)節(jié):你有什么問題想問我的不?
【二面】全程 43min
今天上午突然給我發(fā)郵件讓我下午二面,這霸道總裁的通知風(fēng)格。。。
看你有個比賽,你這個比賽里面做的什么?(15min) 你還寫過哪些應(yīng)用程序,說說看?數(shù)據(jù)存儲用的什么,web 服務(wù)器用的什么? C++了解過嗎? 軟件設(shè)計師什么時候考的?? 寫過多進(jìn)程和多進(jìn)程嗎?都在什么情況下用過?遇到了什么困難不? 有沒有 Linux 下的編程經(jīng)驗? Linux 常用命令了解哪些? 網(wǎng)絡(luò)編程用過嗎?Sokect? Linux 中的 epoll 和 select 這些多路復(fù)用了解過嗎? 說說五層網(wǎng)絡(luò)模型吧,說說對應(yīng)的協(xié)議吧 抓過網(wǎng)絡(luò)包嗎? 如果要設(shè)計一個快速插入和查找的數(shù)據(jù)結(jié)構(gòu),你會用什么結(jié)構(gòu)?Hash 沖突的解決方法? 有一個容量為 N 的數(shù)組,里面存放了 N 個數(shù),每個數(shù)的取值范圍是 1~N,有沒有什么快速辦法判斷是否有重復(fù)元素,哪個元素重復(fù)了?空間復(fù)雜度要求是 O(1) 求二叉樹深度的算法呢?說說看?時間和空間盡可能的小 設(shè)計模式了解過嗎?了解一下 UML 類圖理解的怎么樣?畫個類圖嗎? 云計算的知識了解嗎?容器用過嗎?大數(shù)據(jù)套件了解過嗎?ELK 了解過嗎?看過開源架構(gòu)系統(tǒng)的代碼嗎?(這全是知識盲區(qū)啊。。。) 分布式存儲了解過嗎? 一個進(jìn)程的棧大小是多少知道嗎?打開文件的上限是多少? 你覺得你擅長做什么業(yè)務(wù)? 反問環(huán)節(jié)
總結(jié):整個過程主動補(bǔ)充有點少,導(dǎo)致場面數(shù)次陷入安靜的尷尬場面,最長的一次甚至長達(dá) 30 多秒。以后的面試還是要多多擴(kuò)展自己講的內(nèi)容。
參考答案
上面的絕大部分問題,你都可以在下面的這幾篇文章中找到答案。
Java8 新特性實戰(zhàn)[1] Java 線程池詳解[2] Java 集合常見知識點&面試題總結(jié)(上)[3] Java 集合常見知識點&面試題總結(jié)(下)[4] 數(shù)據(jù)庫基礎(chǔ)知識[5] MySQL 知識點&面試題總結(jié)[6] MySQL 索引詳解[7] 后端程序員必備的 Linux 基礎(chǔ)知識總結(jié)[8] OSI 和 TCP/IP 網(wǎng)絡(luò)分層模型詳解(基礎(chǔ))[9] 《Java 面試指北》
參考資料
Java8 新特性實戰(zhàn): https://javaguide.cn/java/new-features/java8-common-new-features.html
[2]Java 線程池詳解: https://javaguide.cn/java/concurrent/java-thread-pool-summary.html
[3]Java 集合常見知識點&面試題總結(jié)(上): https://javaguide.cn/java/collection/java-collection-questions-01.html
[4]Java 集合常見知識點&面試題總結(jié)(下): https://javaguide.cn/java/collection/java-collection-questions-02.html
[5]數(shù)據(jù)庫基礎(chǔ)知識: https://javaguide.cn/database/basis.html
[6]MySQL 知識點&面試題總結(jié): https://javaguide.cn/database/mysql/mysql-questions-01.html
[7]MySQL 索引詳解: https://javaguide.cn/database/mysql/mysql-index.html
[8]后端程序員必備的 Linux 基礎(chǔ)知識總結(jié): https://javaguide.cn/cs-basics/operating-system/linux-intro.html
[9]OSI 和 TCP/IP 網(wǎng)絡(luò)分層模型詳解(基礎(chǔ)): https://javaguide.cn/cs-basics/network/osi&tcp-ip-model.html

我在 Google 的十年

甲骨文嚴(yán)查Java授權(quán),企業(yè)連夜刪除JDK

實習(xí)生連top命令都不知道。。。
—?【 THE END 】— 公眾號[程序員黃小斜]全部博文已整理成一個目錄,請在公眾號里回復(fù)「m」獲取! 最近面試BAT,整理一份面試資料《Java面試BATJ通關(guān)手冊》,覆蓋了Java核心技術(shù)、JVM、Java并發(fā)、SSM、微服務(wù)、數(shù)據(jù)庫、數(shù)據(jù)結(jié)構(gòu)等等。
獲取方式:點“在看”,關(guān)注公眾號并回復(fù) PDF?領(lǐng)取,更多內(nèi)容陸續(xù)奉上。
文章有幫助的話,在看,轉(zhuǎn)發(fā)吧。
謝謝支持喲 (*^__^*)
