華為 OD 275 天后,我進(jìn)了騰訊!
歡迎準(zhǔn)備 Java 面試以及學(xué)習(xí) Java 的同學(xué)加入我的知識(shí)星球,干貨很多!收費(fèi)雖然是白菜價(jià),但星球里的內(nèi)容或許比你參加上萬(wàn)的培訓(xùn)班質(zhì)量還要高。 《Java 面試指北》持續(xù)更新完善中!這是一份教你如何更高效地準(zhǔn)備面試的小冊(cè),涵蓋常見(jiàn)八股文(系統(tǒng)設(shè)計(jì)、常見(jiàn)框架、分布式、高并發(fā) ......)、優(yōu)質(zhì)面經(jīng)等內(nèi)容。
你好,我是 Guide。分享一位朋友的華為 OD 工作經(jīng)歷以及騰訊面試經(jīng)歷,內(nèi)容很不錯(cuò)。
下面是正文。
時(shí)間線
18 年 7 月,畢業(yè)于某不知名 985 計(jì)科專業(yè); 畢業(yè)前,在某馬的 JavaEE(后臺(tái)開發(fā))培訓(xùn)了 6 個(gè)月; 第一份工作(18-07 ~ 19-12)接觸了大數(shù)據(jù),感覺(jué)大數(shù)據(jù)更有前景; 19 年 12 月,入職中國(guó)平安產(chǎn)險(xiǎn)(去到才發(fā)現(xiàn)是做后臺(tái)開發(fā) ??); 20 年 3 月,從平安辭職,跳去華為 OD 做大數(shù)據(jù)基礎(chǔ)平臺(tái); 2021 年 1 月,入職鵝廠
華為 OD 工作經(jīng)歷總結(jié)
為什么會(huì)去華為 OD
在平安產(chǎn)險(xiǎn)(正式員工)只待了 3 個(gè)月,就跳去華為 OD,朋友們都是很不理解的 —— 好好的正編不做,去什么外包啊 ??
但那個(gè)時(shí)候,我鐵了心要去做大數(shù)據(jù),不想和沒(méi)完沒(méi)了的 CRUD 打交道。剛好面試通過(guò)的崗位是華為 Cloud BU 的大數(shù)據(jù)部門,做的是國(guó)內(nèi)政企中使用率絕對(duì)領(lǐng)先的大數(shù)據(jù)平臺(tái)…… 平臺(tái)和工作內(nèi)容都不錯(cuò),這么好的機(jī)會(huì),說(shuō)啥也要去啊 ??
其實(shí)有想過(guò)在平安內(nèi)部轉(zhuǎn)崗到大數(shù)據(jù)的,但是不滿足“入職一年以上”這個(gè)要求;「等待就是浪費(fèi)生命」,在轉(zhuǎn)正流程還沒(méi)批下來(lái)的時(shí)候,趕緊溜了 ??
華為 OD 的工作內(nèi)容
帶著無(wú)限的期待,火急火燎地去華為報(bào)到了。
和招聘的 HR 說(shuō)的一樣,和華為自有員工一起辦公,工作內(nèi)容和他們完全一樣:
主管根據(jù)你的能力水平分配工作,逐漸增加難度,能者多勞;試用期 6 個(gè)月,有導(dǎo)師帶你,一般都是高你 2 個(gè) Level 的華為自有員工,基本都是部門大牛。
所以,不存在外包做的都是基礎(chǔ)的、流程性的、沒(méi)有技術(shù)含量的工作 —— 顧慮這個(gè)的完全不用擔(dān)心,你只需要打聽清楚要去的部門/小組具體做什么,能接受就再考慮其他的。
感觸很深的一點(diǎn)是:華為是有著近 20 萬(wàn)員工的巨頭,內(nèi)部有很多流程和制度。好處是:能接觸到大公司的產(chǎn)品從開發(fā)、測(cè)試,到發(fā)布、運(yùn)維等一系列的流程,比如提交代碼的時(shí)候,會(huì)由經(jīng)驗(yàn)資深、經(jīng)過(guò)內(nèi)部認(rèn)證的大牛給你 Review,在拉會(huì)檢視的時(shí)候,可以學(xué)習(xí)他們考慮問(wèn)題的角度,還有對(duì)整個(gè)產(chǎn)品全局的把控。
但同時(shí),個(gè)人覺(jué)得這也有不好的地方:流程繁瑣會(huì)導(dǎo)致工作效率變低,比如改動(dòng)幾行代碼,就需要跑完整個(gè) CI(有些耗時(shí)比較久),還要提供自驗(yàn)和 VT 的報(bào)告。
OD 與華為自有員工的對(duì)比
什么是 OD?Outstanding Dispatcher,人員派遣,官方強(qiáng)調(diào)說(shuō),OD 和常說(shuō)的“外包”是不一樣的。
說(shuō)說(shuō)我了解的 OD:
參考華為的薪酬框架,OD 人員的薪酬體系有一定的市場(chǎng)競(jìng)爭(zhēng)力 —— 的確是這樣,貌似會(huì)稍微倒掛同級(jí)別的自有員工; 可以參與華為主力產(chǎn)品的研發(fā) —— 是的,這也是和某軟等“供應(yīng)商”的兄弟們不一樣的地方; 外網(wǎng)權(quán)限也可以申請(qǐng)打開(對(duì),就是梯子),部門內(nèi)部的大多數(shù)文檔都是可以看的; 工號(hào)是單獨(dú)的 300 號(hào)段,其他供應(yīng)商員工的工號(hào)是 8 開頭,或著 WX 開頭; 工卡帶是紅色的,和自有員工一樣,但是工卡內(nèi)容不同,OD 的明確標(biāo)注:辦公區(qū)通行證,并有德科公司的備注:

還聽到一些內(nèi)部的說(shuō)法:
沒(méi)股票,沒(méi) TUP,年終獎(jiǎng)少,只有工資可能比我司高一點(diǎn)點(diǎn)而已; 不能借針對(duì) HW 的消費(fèi)貸,也不能買公司提供的優(yōu)惠保險(xiǎn)…
那,到底要不要去華為 OD?
我想,搜到我這篇文字的你,心里其實(shí)是有偏向的,只是缺最后一片雪花 ??,讓自己下決心。
作為過(guò)來(lái)人之一,我再提供一些參考吧 ??
1)除了華為 OD,還有沒(méi)有更好的選擇? 綜合考慮加班(996、有些是 9106 甚至更多)、薪資、工作內(nèi)容,以及這份工作經(jīng)歷對(duì)你整個(gè)職業(yè)的加成等等因素;
2)有看到一些內(nèi)部的說(shuō)法,比如:“奇怪 OD 這么棒,為啥大家不自愿轉(zhuǎn)去 OD ???”;再比如:“OD 等同華為?這話都說(shuō)的出口,既然都等同,為啥還要 OD?就是降成本嘛……”
3)內(nèi)心夠強(qiáng)大嗎?雖然沒(méi)有人會(huì)說(shuō)你是 OD,但總有一些事情會(huì)提醒你:你不是華為員工。比如:
a) 內(nèi)部發(fā)文啥的,還有心聲平臺(tái)的大部分內(nèi)容,都是無(wú)權(quán)限看的:

b) 你的考勤是在租賃人員管理系統(tǒng)里考核,績(jī)效管理也是;
c) 自有員工的工卡具有消費(fèi)功能(包括刷夜宵),OD 的工卡不能消費(fèi),需要辦個(gè)消費(fèi)卡,而且夜宵只能通過(guò)手機(jī)軟件領(lǐng)取(自有員工是用工卡領(lǐng)的);
d) 你的加班一定要提加班申請(qǐng)電子流換 Double 薪資,不然只能換調(diào)休,離職時(shí)沒(méi)時(shí)間調(diào)休也換不來(lái) Double —— 而華為員工即使自己主動(dòng)離職,也是有 N+1,以及加班時(shí)間換成 Double 薪資的;
網(wǎng)傳的 OD 轉(zhuǎn)華為正編,真的假的?
這個(gè)放到單獨(dú)的一節(jié),是因?yàn)樗苤匾?,有很多糾結(jié)的同學(xué)在關(guān)注這個(gè)問(wèn)題。
答案是:真的。
據(jù)各類非官方渠道(比如知乎上的一些分享),轉(zhuǎn)華為自有是有條件的(https://www.zhihu.com/question/356592219/answer/1562692667):
1)入職時(shí)間:一年以上 2)績(jī)效要求:連續(xù)兩次績(jī)效 A 3)認(rèn)證要求:通過(guò)可信專業(yè)級(jí)認(rèn)證 4)其他條件:根據(jù)業(yè)務(wù)部門的人員需求及指標(biāo)要求確定
說(shuō)說(shuō)這些條件吧 ??
條件 2 連續(xù)兩次績(jī)效 A
上面鏈接里的說(shuō)法:
績(jī)效 A 大約占整個(gè)部門的前 10%,連續(xù)兩次 A 的意思就是一年里兩次考評(píng)都排在部門前 10%,能做到這樣的在華為屬于火車頭,這種難得的績(jī)效會(huì)舍得分給一個(gè)租賃人員嗎?
OD 同學(xué)能拿到 A 嗎?不知道,我入職晚,都沒(méi)有經(jīng)歷一個(gè)完整的績(jī)效考評(píng)。
(20210605 更新下)一年多了,還留著的 OD 同學(xué)告知我:OD 是單獨(dú)評(píng)績(jī)效的,能拿到 A 的比例,大概是 1/5,對(duì)應(yīng)的年終獎(jiǎng)就是 4 個(gè)月;績(jī)效是 B,年終獎(jiǎng)就是 2 個(gè)月。
在我看來(lái),在試用期答辯時(shí),能拿 A,接下來(lái)半年的績(jī)效大概率也是拿 A 的。
但總的來(lái)說(shuō),這種事既看實(shí)力,又看勞動(dòng)態(tài)度(能不能拼命三郎瘋狂加班),還要看運(yùn)氣(主管對(duì)你是不是認(rèn)可)……
條件 3 通過(guò)可信專業(yè)級(jí)認(rèn)證
可信專業(yè)級(jí)認(rèn)證考試是啥?華為在推動(dòng)技術(shù)人員的可信認(rèn)證,算是一項(xiàng)安全合規(guī)的工作。專業(yè)級(jí)有哪些考試呢?共有四門:
科目一:上級(jí)編程,對(duì)比力扣 2 道中等、1 道困難; 科目二:編程知識(shí)與應(yīng)用,考察基礎(chǔ)的編程語(yǔ)言知識(shí)等; 科目三:安全編程、質(zhì)量、隱私,還有開發(fā)者測(cè)試等; 科目四:重構(gòu)知識(shí),包括設(shè)計(jì)模式、代碼重構(gòu)等。
上面這些,每一門單季度只能考一次(好像有些一年只能考 3 次),每個(gè)都要準(zhǔn)備,少則 3 天,多則 1 星期,不準(zhǔn)備,基本都過(guò)不了。我在 4 個(gè)月左右、還沒(méi)轉(zhuǎn)正的時(shí)候,就考過(guò)了專業(yè)級(jí)的科目二、三、四,只??颇恳淮蟀肽甓紱](méi)過(guò)(算法確實(shí)太菜了 ?? 但也有同事沒(méi)準(zhǔn)備,連著好幾次都沒(méi)通過(guò)。
條件 4 部門人員需求指標(biāo)?
這個(gè)聽起來(lái)都感覺(jué)很玄學(xué)。還是那句話,實(shí)力和運(yùn)氣到了,應(yīng)該可以的!成功轉(zhuǎn)正員工圖鎮(zhèn)樓:

真的感謝 OD,也感謝華為
運(yùn)氣很好,在我換工作還不到 3 個(gè)月的時(shí)候,華為還收我。
我遇到了很好的主管,起碼在工作時(shí)間,感覺(jué)跟兄長(zhǎng)一樣指導(dǎo)、幫助我;
分配給我的導(dǎo)師,是我工作以來(lái)認(rèn)識(shí)到技術(shù)實(shí)力最厲害的人,定位問(wèn)題思路清晰,編碼實(shí)力強(qiáng)悍,全局思考問(wèn)題、制定方案……
小組、部門的同學(xué)都很 nice,9 個(gè)多月里,我基本每天都跟打了雞血一樣,現(xiàn)在想想,也不知道當(dāng)時(shí)為什么會(huì)那么積極有干勁 ??
從個(gè)人能力上來(lái)講,我是進(jìn)不去華為的(心里還是有點(diǎn)數(shù)的 ??)。正是有了 OD 這個(gè)渠道,才有機(jī)會(huì)切身感受華為的工作氛圍,也學(xué)到了很多軟技能:
積極主動(dòng),勇于承擔(dān)嘗試,好工作要搶過(guò)來(lái)自己做; 及時(shí)同步工作進(jìn)展,包括已完成、待完成,存在的風(fēng)險(xiǎn)困難等內(nèi)容,要讓領(lǐng)導(dǎo)知道你的工作情況; 勤于總結(jié)提煉輸出,形成個(gè)人 DNA,利人利己; 有不懂的可以隨時(shí)找人問(wèn),臉皮要厚,虛心求教; 不管多忙,所有的會(huì)議,不論大小,都要有會(huì)議紀(jì)要,郵件發(fā)給相關(guān)人……
再次感謝,大家都加油,向很牛掰很牛掰前進(jìn) ??
投簡(jiǎn)歷,找面試官求虐
20 年 11 月初的一天,在同事們討論“某某被其他公司高薪挖去了,錢景無(wú)限”的消息。
我忽然驚覺(jué),自己來(lái)到華為半年多,除了熟悉內(nèi)部的系統(tǒng)和流程,好像沒(méi)有什么成長(zhǎng)和進(jìn)步?
不禁反思:只有厲害的人才會(huì)被挖,現(xiàn)在這個(gè)狀態(tài)的我,在市場(chǎng)上值幾個(gè)錢?
剛好想起了之前的一個(gè)同事在離職聚會(huì)上分享的經(jīng)驗(yàn):
技術(shù)人不能閉門造車,要多交流,多看看外面的動(dòng)態(tài)。
如果感覺(jué)自己太安逸了,那就把簡(jiǎn)歷掛出去,去了解其他公司用的是什么技術(shù),他們更關(guān)注哪些痛點(diǎn)?面幾次你就有方向了。
這時(shí)候起了個(gè)念頭:找面試官求虐,以此來(lái)鞭策自己,進(jìn)而更好地制定學(xué)習(xí)方向。
于是我重新下載了某聘軟件,在首頁(yè)推薦里投了幾家公司。
開始面試
11 月 10 號(hào)投的簡(jiǎn)歷,當(dāng)天就有 2 家預(yù)約了 11 號(hào)下午的線上面試,其中就有鵝廠 ??
好巧不巧,10 號(hào)晚上要雙十一業(yè)務(wù)保障,一直到第二天凌晨 2 點(diǎn)半才下班。
熬夜太傷身,還好能申請(qǐng)調(diào)休一天,也省去了找借口請(qǐng)假 ??
這段時(shí)間集中面了 3 家:
第 1 個(gè)是廣州的公司,11 號(hào)當(dāng)晚就完成了 2 輪線上面試,開得有點(diǎn)低,就婉拒了;第 2 個(gè)就是本文的重點(diǎn)——鵝廠;第 3 個(gè)是做跨境電商的公司,一面就跪(恭喜它榮升為“在我有限的工作經(jīng)歷中,面試體驗(yàn)最差的 2 家公司之一”???)
鵝廠,去還是不去?
一直有一個(gè)大廠夢(mèng),奈何菜鳥一枚,之前試過(guò)好幾次,都跪在技術(shù)面了。
所以想了個(gè)曲線救國(guó)的方法:先在其他單位積累著,有機(jī)會(huì)了再爭(zhēng)取大廠的機(jī)會(huì) ??
很幸運(yùn),也很猝不及防,這次竟然通過(guò)了鵝廠的所有面試。
雖然已到年底,但是要是錯(cuò)過(guò)這么難得的機(jī)會(huì),下次就不知道什么時(shí)候才能再通關(guān)了。
所以,年后拿到年終再跳槽 vs 已到手的鵝廠 Offer,我選擇了后者 ??
我的鵝廠面試
如本文標(biāo)題所說(shuō),16 天通關(guān)五輪面試,第 17 天,我終于收到了期盼已久的鵝廠 Offer。
做技術(shù)的同學(xué),可能會(huì)對(duì)鵝廠的面試很好奇,他們都會(huì)問(wèn)哪些問(wèn)題呢?
我應(yīng)聘的是大數(shù)據(jù)開發(fā)(Java)崗位,接下來(lái)對(duì)我的面試做個(gè)梳理,也給想來(lái)鵝廠的同學(xué)們一個(gè)參考 ??
幾乎所有問(wèn)題都能在網(wǎng)絡(luò)上找到很詳細(xì)的答案。篇幅有限,這里只寫題目和一些引申的問(wèn)題。
技術(shù)一面
Java 語(yǔ)言相關(guān)
1、對(duì) Java 的類加載器有沒(méi)有了解?如何自定義類加載器?
引申:一個(gè)類能被加載多次嗎?
java/javax包下的類會(huì)被加載多次嗎?
2、Java 中要怎么創(chuàng)建一個(gè)對(duì)象 ???
3、對(duì)多線程有了解嗎?在什么場(chǎng)景下需要使用多線程?
引申:對(duì) 線程安全 的認(rèn)識(shí);對(duì)線程池的了解,以及各個(gè)線程池的適用場(chǎng)景。
4、對(duì)垃圾回收的了解?
5、對(duì) JVM 分代的了解?
6、NIO 的了解?用過(guò) RandomAccessFile 嗎?
引申:對(duì) 同步、異步,阻塞、非阻塞 的理解?
多路復(fù)用 IO 的優(yōu)勢(shì)?
7、ArrayList 和 LinkedList 的區(qū)別?各自的適用場(chǎng)景?
8、實(shí)現(xiàn)一個(gè) Hash 集合,需要考慮哪些因素?
引申:JDK 對(duì) HashMap 的設(shè)計(jì)關(guān)鍵點(diǎn),比如初識(shí)容量,擴(kuò)所容,鏈表轉(zhuǎn)紅黑樹,以及 JDK 7 和 JDK 8 的區(qū)別等等。
通用學(xué)科相關(guān)
1、TCP 的三次握手;
2、Linux 的常用命令,比如:
ps aux / ps -ef、top C
df -h、du -sh *、free -g
vmstat、mpstat、iostat、netstat
項(xiàng)目框架相關(guān)
1、Kafka 和其他 MQ 的區(qū)別?它的吞吐量為什么高?
消費(fèi)者主動(dòng) pull 數(shù)據(jù),目的是:控制消費(fèi)節(jié)奏,還可以重復(fù)消費(fèi);
吞吐量高:各 partition 順序?qū)?IO,批量刷新到磁盤(OS 的 pageCache 負(fù)責(zé)刷盤,Kafka 不用管),比隨機(jī) IO 快;讀取數(shù)據(jù)基于 sendfile 的 Zero Copy;批量數(shù)據(jù)壓縮……
2、Hive 和 SparkSQL 的區(qū)別?
3、Ranger 的權(quán)限模型、權(quán)限對(duì)象,鑒權(quán)過(guò)程,策略如何刷新……
問(wèn)題定位方法
1、ssh 連接失敗,如何定位?
是否能 ping 通(DNS 是否正確)、對(duì)端端口是否開了防火墻、對(duì)端服務(wù)是否正?!?/p>
2、運(yùn)行 Java 程序的服務(wù)器,CPU 使用率達(dá)到 100%,如何定位?
ps aux | grep xxx或jps命令找到 Java 的進(jìn)程號(hào)pid,然后用
top -Hp pid命令查看其阻塞的線程序號(hào),將其轉(zhuǎn)換為 16 進(jìn)制;再通過(guò)
jstack pid命令跟蹤此 Java 進(jìn)程的堆棧,搜索上述轉(zhuǎn)換來(lái)的 16 進(jìn)制線程號(hào),即可找到對(duì)應(yīng)的線程名及其堆棧信息……
3、Java 程序發(fā)生了內(nèi)存溢出,如何定位?
jmap工具查看堆棧信息,看 Eden、Old 區(qū)的變化……
技術(shù)二面
二面主要是過(guò)往項(xiàng)目相關(guān)的問(wèn)題:
1、Solr 和 Elasticsearch 的區(qū)別 / 優(yōu)劣?
2、對(duì) Elasticsearch 的優(yōu)化,它的索引過(guò)程,選主過(guò)程等問(wèn)題……
3、項(xiàng)目中遇到的難題,如何解決的?
blabla 有少量的基礎(chǔ)問(wèn)題和一面有重復(fù),還有幾個(gè)和大數(shù)據(jù)相關(guān)的問(wèn)題,記不太清了 ??
技術(shù)三面
這一面是總監(jiān)面,更多是個(gè)人關(guān)于職業(yè)發(fā)展的一些想法,以及在之前公司的成長(zhǎng)和收獲、對(duì)下一份工作的期望等問(wèn)題。
但也問(wèn)了幾個(gè)技術(shù)問(wèn)題。印象比較深的是這個(gè):
1 個(gè) 1TB 的大文件,每行都只是 1 個(gè)數(shù)字,無(wú)重復(fù),8GB 內(nèi)存,要怎么對(duì)這個(gè)文件進(jìn)行排序?
首先想到的是 MapReduce 的思路,拆分小文件,分批排序,最后合并。
此時(shí)連環(huán)追問(wèn)來(lái)了:
Q:如何盡可能多的利用內(nèi)存呢?
A:用位圖法的思路,對(duì)數(shù)字按順序映射。(對(duì)映射方法要有基本的了解)
Q:如果在排好序之后,還需要快速查找呢?
A:可以做索引,類似 Redis 的跳表,通過(guò)多級(jí)索引提高查找速度。
Q:索引查找的還是文件。要如何才能更多地利用內(nèi)存呢?
A:那就要添加緩存了,把讀取過(guò)的數(shù)字緩存到內(nèi)存中。
Q:緩存應(yīng)該滿足什么特點(diǎn)呢?
A:應(yīng)該使用 LRU 型的緩存。
呼。。??偹闶亲穯?wèn)完了這道題 ??
還有 GM 面和 HR 面,問(wèn)題都和個(gè)人經(jīng)歷相關(guān),這里就略去不表。
文末的絮叨
入職鵝廠已經(jīng) 1 月有余。不同的崗位,不同的工作內(nèi)容,也是不同的挑戰(zhàn)。
感受比較深的是,作為程序員,還是要自我驅(qū)動(dòng),努力提升個(gè)人技術(shù)能力,橫向縱向都要擴(kuò)充,這樣才能走得長(zhǎng)遠(yuǎn)。
2022 面經(jīng)匯總 :
順利找到工作了! 4 年經(jīng)驗(yàn),去面了波高級(jí) Java 工程師 7 年經(jīng)驗(yàn)社招終于上岸 Java 開發(fā)! 2022 金蝶 Java 四面面經(jīng)(已 OC) 大專非科班上岸銀行外包,很開心! 騰訊云 Java 工程師一面 + 被撈一面 + 二面面經(jīng) 字節(jié)實(shí)習(xí)三面掛了。。。 2022 年京東、源創(chuàng)科技、佳創(chuàng)視訊跳槽面試經(jīng)歷 上岸騰訊 PCG 和阿里云! 阿里 23 屆 Java 研發(fā)實(shí)習(xí)一面涼經(jīng) 上岸美團(tuán)、華為、字節(jié)! 中小廠(五八、中通、安碩、浩鯨...) Java 后端面經(jīng) 程序員深漂 6 年,回西安工作了
·········· END ··············
歡迎加入我的知識(shí)星球獲取更多面試干貨,《Java 面試指北》持續(xù)更新完善中!

近期文章精選 :
走近作者 :
如果本文對(duì)你有幫助的話,歡迎 點(diǎn)贊&在看&分享 ,這對(duì)我繼續(xù)分享&創(chuàng)作優(yōu)質(zhì)文章非常重要。非常感謝!
