昨天,终于拿到了腾讯 offer
戳藍(lán)字“CSDN云計(jì)算”關(guān)注我們哦!
技術(shù)頭條:干貨、簡潔、多維全面。更多云計(jì)算精華知識盡在眼前,get要點(diǎn)、solve難題,統(tǒng)統(tǒng)不在話下!
作者 | 程序員小吳
本文來自程序員小吳的一個讀者的投稿,我跟他是在?2?月份認(rèn)識的,當(dāng)時(shí)他面試阿里在五面涼涼,陪他吐槽了一晚上,然后第二天就開始準(zhǔn)備面試騰訊了。他喜提騰訊?offer,覺得他的經(jīng)驗(yàn)可能對大家有幫助,就軟磨硬泡的讓他分享出一篇面經(jīng)出來給大家看看,希望對大家有幫助。
面試經(jīng)歷
自我介紹
我來自中國四大郵電大學(xué)中排名第四的郵電大學(xué),雙非普本,大三安卓狗。自己大一的時(shí)候剛上大學(xué)的時(shí)候有也蠻迷茫的,高考考的人心力憔悴,一天無所事事,從來沒想到能去BAT實(shí)習(xí)。但是就目前來看,自己大三上學(xué)期去百度實(shí)習(xí),現(xiàn)在拿到騰訊春招口頭offer。
我只能說,運(yùn)氣占一半,實(shí)力占一半。
我可能就是運(yùn)氣比較好的那種。
自己大一的時(shí)候剛來大學(xué),其實(shí)是第一次接觸計(jì)算機(jī)。然后我也不知道該怎么學(xué),但是當(dāng)時(shí)有個老鄉(xiāng)學(xué)長給我指導(dǎo)我如何學(xué)習(xí)計(jì)算機(jī),學(xué)會使用搜索引擎,他說計(jì)算機(jī)學(xué)院學(xué)生如何連搜索引擎都不會用,基本上就是不適合這一行,然后給我要求是這樣的
如何描述自己想要的信息
如何篩選海量的信息得到自己想要的
如何把信息分類整理掌握
然后我基本上遇到問題都是先自己想下,如果不會就去搜索,最后整理自己不會的地方,如果實(shí)在不會就問下別人。
大一一開始自己就看郝斌老師的C語言視頻,然后去刷算法題,參加藍(lán)橋杯比賽,獲得了省賽的獎(但是說實(shí)話,這個比賽真的太水了)。
然后大一下學(xué)期考入學(xué)校的移動應(yīng)用開發(fā)實(shí)驗(yàn)室安卓組,大一暑假留校實(shí)驗(yàn)室開始了自己?java?和安卓的學(xué)習(xí),寫了安卓計(jì)數(shù)器看完《安卓第一行代碼》郭神的書;
大二上學(xué)期和實(shí)驗(yàn)室朋友一起多人git合作寫了一款《收藏小精靈》的app,參加了當(dāng)時(shí)解放號杯比賽,拿的優(yōu)秀獎,獎金2千塊錢。
大家?guī)讉€人一分雖然不多,但是也是人生的第一桶金。
基本上在學(xué)校白天上課,晚上在實(shí)驗(yàn)室學(xué)習(xí)寫項(xiàng)目到11點(diǎn)才回寢室。
大二暑假時(shí)候,之前去參加谷歌訓(xùn)練營時(shí)候看到騰訊的游戲大賽就想?yún)⒓?#xff0c;然后就開始自學(xué)?C#?和?unity?,組建了團(tuán)隊(duì),招募了美工,建模師,策劃。游戲項(xiàng)目寫了我大二一個暑假,白天學(xué)習(xí)?unity,晚上寫項(xiàng)目,那段時(shí)間是我自己壓力最大的時(shí)候,被分手,項(xiàng)目寫不出來了,西安夏天晚上睡在沒有空調(diào)的寢室,自己活的真的像條狗。自己真的無數(shù)次想放棄,但是覺得答應(yīng)別人要寫出來不喜歡放棄,就堅(jiān)持把這個游戲項(xiàng)目寫完了,項(xiàng)目叫《幻想機(jī)關(guān)球》。
參加比賽時(shí)候發(fā)現(xiàn)自己和專業(yè)的游戲團(tuán)隊(duì)寫出來的東西還是差別蠻大的,也沒獲獎,但是也算完成了對別人的承諾,實(shí)現(xiàn)了自己小時(shí)候的愿望。
大三上學(xué)期,自己和別人又開始寫一款《卡片記憶》的app,還沒寫完,百度面試過了,然后就去百度實(shí)習(xí)去了。
在百度實(shí)習(xí)那段時(shí)間真的蠻開心的,吃的不錯,導(dǎo)師和leader對我也蠻好的,自己就完成了兩個手百的需求,然后因?yàn)橐恍┰驈陌俣入x職了,在去公司實(shí)習(xí)的時(shí)候,我才知道自己和真正的程序猿還是差很遠(yuǎn),每天都痛并快樂著。
感謝百度那段實(shí)習(xí)的日子,是我人生第一次實(shí)習(xí),對我對這個程序猿行業(yè)有了直觀的認(rèn)識,看清自己的能力和別人的差距。
寒假回家基本上都是在復(fù)習(xí),過年前復(fù)習(xí)操作系統(tǒng)編譯原理,年后復(fù)習(xí)安卓和?java,數(shù)據(jù)結(jié)構(gòu),計(jì)算機(jī)網(wǎng)絡(luò)這些,基本上自己春招從寒假放假就開始準(zhǔn)備,準(zhǔn)備了兩個多月,自己除了運(yùn)氣好之外也是對得起自己的付出。
騰訊這個面試是我學(xué)長直接內(nèi)推的,給的他們安卓組組長,因?yàn)槲覉?jiān)持寫博客,又有百度實(shí)習(xí)經(jīng)歷學(xué)長說我簡歷評級在騰訊蠻高的,基本上很快就接到面試。下面是面經(jīng)。
一面 3/5
第一次打電話我在上課,然后拖到下午?6?點(diǎn),然后下午?6?點(diǎn)半打過來電話我再上廁所尷尬,,,然后過了?10?分鐘就開始面試,面試的難度還好吧,基本上都是基礎(chǔ)問題。
1 自我介紹
就簡單的自我介紹了下自己,然后說下自己的學(xué)習(xí)歷程,把自己寫的項(xiàng)目帶出來,然后講了下自己在百度實(shí)習(xí)的經(jīng)歷。
2 在百度實(shí)習(xí)的經(jīng)歷,然后問我手百的框架,寫的需求
講了下百度手百的框架,自己當(dāng)時(shí)負(fù)責(zé)的需求,如何寫的,遇到問題咋處理的
3 HTTPS,對稱加密,非對稱加密
先講了下?HTTP?和?HTTPS?的區(qū)別,然后講下?HTTPs?為什么安全,如何加密的,對稱加密是什么,公鑰私鑰怎么用,然后講到證書,為什么有證書,證書安全嗎,如何保證證書不被竄改,但是我當(dāng)時(shí)好像沒講到數(shù)字加密這塊,然后面試官對我這塊回答不是很滿意。
4 用過的網(wǎng)絡(luò)框架 okHttp源碼解析
因?yàn)槲翼?xiàng)目網(wǎng)絡(luò)框架就用過?okHttp?,?然后大三上學(xué)期看過這塊源碼分析,就給面試官講了下主體流程,然后說了下框架的最重要的攔截器的作用是,講了下責(zé)任鏈模式。
5 RecyvleView的源碼
我一開始沒聽清楚面試官的問題,我給人家講下下?ListView?和?RecyvleView?的區(qū)別,然后面試官讓我講了下RecyvleView?的源碼,然后這塊我真沒看這塊源碼,自己就講了下在?recyclerview?中持有一個?adapter?的觀察者,然后在?setAdapter?之后會注冊這個被觀察者,然后會去?requestLayout?,去請求重繪布局。
6 算法題 兩數(shù)之和
這個題,,,基本上就是簽到題,我是用?HashMap?優(yōu)化的,有點(diǎn)取巧了。
7 智力題 瓶子從100樓往下扔,一共兩個瓶子,問從那個樓扔瓶子剛好碎
這個題是騰訊最愛問的智力題,這塊我一開始想到二分的方法,但是仔細(xì)一想這個方法不可以,然后我就想到分段的方法,第一個瓶子 10 層 10 層間隔扔,確定大范圍,然后第二個瓶子確定小范圍,然后面試官說這個方法還是不對,但是比上一個方法好一點(diǎn),讓我再想想,然后我就很著急就想不出來 //?最后在吳師兄的推文里面看到了解答。
8 Handle
這個就是安卓面試必問的問題,基本上把源碼看下都能說出來,然后是個生產(chǎn)者消費(fèi)者模型。
9 進(jìn)程之間如何通信
這個真的是送分題,,,安卓問題必問的進(jìn)程間通信,然后我講下內(nèi)容提供器,服務(wù)什么的,
總的來說,一面蠻基礎(chǔ)的,然后就是講HTTPS那塊和智力題沒講好,其他的都可以。
二面 3/8
本來給我打電話,然后我又去吃飯又沒接到電話,然后就發(fā)短信和面試官商量時(shí)間,然后重新定在星期五下午?3點(diǎn),,,然后就開始慌了,不知道面試官會問我什么。然后戰(zhàn)戰(zhàn)兢兢開始了二面,但是面試官人很好,全程面試都是我從自我介紹開始把握節(jié)奏,全都是我在講,面試官就可能個別問題問了下細(xì)節(jié)。
1 自我介紹
跟一面介紹一樣。
2 百度實(shí)習(xí)的時(shí)候做過的業(yè)務(wù)
也和一面回答的一樣。
3 安卓和js的交互方式,那種更好,安全性比較
主要是百度那邊手百安卓和js交互比較多,所以就講了下安卓和js的交互方式,比較了下幾種方法。
4 讓我講了下自己寫的 unity 游戲過程
這個就是完全自己發(fā)揮,講下下自己游戲的玩法,動畫,粒子特效怎么弄的,游戲里面AI框架自己怎么用的,怪物怎么自動打人的。
5 HTTPS
我說一面問過了,他問我答到證書了嗎,我說我講過了,然后就沒問了。
6 HashMap 的 hash 操作和擴(kuò)容機(jī)制
因?yàn)檫@塊 HashMAp 的源碼自己仔細(xì)的閱讀過,然后還寫過博客,講起來就很得心應(yīng)手,把 HashMap 里面的為什么是 2 的次方,二次擾動,hash 值計(jì)算都講了一遍
7 紅黑樹概念,二叉樹遍歷
因?yàn)樯弦粋€問題講到紅黑樹了,然后講了下紅黑樹的概念,然后問其他的我真的不會了,就問了下二叉樹的前,中,后遍歷方式。
8 算法題 如何判斷一個數(shù)是 2 的次方 如何優(yōu)化 時(shí)間復(fù)雜度
這個題,也算一道簡單題,自己大一時(shí)候好像寫過,直接用這個數(shù)的減一的值和這個值進(jìn)行計(jì)算就好了。
9 快排的思想 如何優(yōu)化 時(shí)間復(fù)雜度
這個也是基本問題,然后講了下快排的思想,然后優(yōu)化的方式講了下中間值取值的優(yōu)化,然后為什么這樣做。
10 JVM 內(nèi)存模型
這個也算?java?的基本問題,自己講這個的時(shí)候提到操作系統(tǒng)內(nèi)存分配什么的。
11 GC 機(jī)制原理,概念,如何自己用
這個也算?java?基礎(chǔ)問題,先講了下內(nèi)存碎片問題,操作系統(tǒng)里面什么時(shí)候GC,然后介紹JVM的GC機(jī)制,然后講了下?G1?收集器,新生代老生代那些。
12 內(nèi)存泄漏問題
這也算安卓基本上必問的問題,然后我就講了下為什么會內(nèi)存泄漏,然后我們怎么處理這塊。
13 自定義View
這個也算安卓必問的問題233,先是測量?然后布局?最后繪制//基本上這種問題是必問的。
14 ListView的優(yōu)化
這個我就講了下?ViewHolder?緩存機(jī)制,然后順便講了下?listView?的源碼,和重復(fù)利用機(jī)制。
15 Glide 框架的分析
因?yàn)檫@塊我看過源碼,然后講下了這個框架的倆個亮點(diǎn)?1虛擬碎片監(jiān)視生命周期?2?緩存機(jī)制,然后就講到lru算法,然后就扯到操作系統(tǒng)這塊內(nèi)存算法。
16 Binder機(jī)制
Binder機(jī)制這塊我只講了概念,講了下操作系統(tǒng)里面管道和Binder的區(qū)別。
17 跨進(jìn)程通信
這塊我也可能只是知道一個概念,具體用的時(shí)候還不是很清楚,講了下隱式Intent,共享內(nèi)存什么的。
18 網(wǎng)絡(luò)TCP,網(wǎng)絡(luò)分層
這塊因?yàn)閯倧?fù)習(xí)到了,所以講起來很流暢,先講了下自己對網(wǎng)絡(luò)協(xié)議的理解,網(wǎng)絡(luò)的分層,為什么要分層這塊。然后講下個個層傳輸?shù)臅r(shí)候怎么怎么工作。
三面 3/11
上周星期五二面完我去看電影(夏目友人帳的劇場版)面完沒接到HR的電話,233沒想到啊我看到面試狀態(tài)是HR面了,然后然后今天中午2點(diǎn)的時(shí)候,突然我接到電話以為是HR面,,,但是好像不是HR,又是一輪結(jié)束面試,發(fā)現(xiàn)我狀態(tài)變成,復(fù)試狀態(tài)了尷尬,這一面應(yīng)該是總監(jiān)面試的
1 自我介紹
還是一樣的介紹。
2 講下寫的最好的一個項(xiàng)目
講下一下自己unity項(xiàng)目怎么寫的,自己遇到問題這么解決的,如何組建團(tuán)隊(duì)的。
3 大數(shù)據(jù)排序
給?1?億的?int?類型的數(shù),如何找到最大的?100?個,這種問題肯定不可能直接排序,先分開存儲,然后我的思路是用桶排的思想進(jìn)行處理,可能我的方法不是最優(yōu)解。
4 對自己項(xiàng)目的優(yōu)化方式
自己講了對設(shè)計(jì)模式的理解,然后講了下自己項(xiàng)目中的單例模式和工廠模式的使用,對內(nèi)存的優(yōu)化
5 百度實(shí)習(xí)的時(shí)候
問了我下百度實(shí)習(xí)的生活,覺得北京生活怎么樣233。
HR面 3/18
3月11號總監(jiān)面試完了之后,然后晚上狀態(tài)變成HR面試了,然后等啊等,等了一周終于等到了
1 自我介紹
還是一樣的介紹,介紹寫的什么項(xiàng)目,每天自己學(xué)習(xí)安排什么的。
2 家庭情況,父母工作
這個就問什么回答什么。
3 個人為什么選擇學(xué)計(jì)算機(jī)
這個問題,,,很尷尬,我說我想讓父母過上更好的生活,讓自己以后能在大城市生活。
4 為什么從百度離職
這個問題如果有興趣可以給大家講,,,
5 對自己的以后的安排
就是自己以后生活規(guī)劃,自己說了自己短期生活規(guī)劃和長期生活規(guī)劃。
6 對生活的看法
講了下自己看的書《人間失格》對自己影響很大,讓自己知道人該如何活著,每個人答案不一樣,我的答案是過自己喜歡并承擔(dān)的起的生活,想讓我周圍的人都過的很好。
總結(jié)
最后面完試,HR小姐姐給了口頭?offer,然后我還拜托學(xué)長用他?leader?查了下我面試評價(jià),除了一面評價(jià)是?A,其他三面都是?A+?(騰訊面試完會有個打分?A+?A?A-?B?c?BC就是這面很差),讓我出乎意料的。感覺自己也沒很厲害,都是很基礎(chǔ)的問題,然后自己分析了下原因
自己簡歷評級很高(有興趣可以查下騰訊簡歷評級)
有百度手百需求實(shí)習(xí)經(jīng)歷
自己游戲項(xiàng)目給自己加了很大亮點(diǎn)
自己寒假認(rèn)認(rèn)真真復(fù)習(xí)了兩個月?操作系統(tǒng)?編譯原理?計(jì)組?數(shù)據(jù)結(jié)構(gòu)和算法?安卓和?java?jVM都做了很詳細(xì)的準(zhǔn)備。
自己有寫博客和定時(shí)提交 git 的習(xí)慣
學(xué)長直接給部門的內(nèi)推
分析上面的原因,很大因素都是運(yùn)氣好,剩下的都是自己一點(diǎn)一滴慢慢積累的,積少成多,很簡單的道理。
資料分享
操作系統(tǒng)視頻-北大陳向群?https://www.bilibili.com/video/av20528688
計(jì)算機(jī)組成原理-哈工大劉宏偉?https://www.bilibili.com/video/av15123338
還有我推薦極客時(shí)間里面老師的課程:
王爭老師---數(shù)據(jù)結(jié)構(gòu)與算法之美(在吳師兄的安利下買的,強(qiáng)烈推薦啊啊啊啊,真 的講的特別好,聽說最近出了一門新課)
劉超老師---趣談網(wǎng)絡(luò)協(xié)議(講的也不錯)
//這兩個課程很值得去買,晚上我睡不著時(shí)候聽這個課程睡覺尷尬。
我的csdn博客地址?https://blog.csdn.net/sakurakider?歡迎大家關(guān)注我嘿嘿。
算法公眾號的話推薦「五分鐘學(xué)算法」,早知道當(dāng)時(shí)好好看下這里面文章,面試很多算法題都有題解哈哈。
最后,分享一下實(shí)驗(yàn)室的吉祥物,它的名字叫?offer,哈哈哈哈。
福利
掃描添加小編微信,備注“姓名+公司職位”,加入【云計(jì)算學(xué)習(xí)交流群】,和志同道合的朋友們共同打卡學(xué)習(xí)!
推薦閱讀:
為什么給黑洞拍照需要這么長時(shí)間?
V神玩起freestyle!?5位以太坊核心大咖在悉尼的演講精華全在這了!|?直擊EDCON
“重構(gòu)”黑洞:26歲MIT研究生的新算法?|?人物志
零編程基礎(chǔ)的?15?歲少年,僅用?9?個月開發(fā)了?9?款?App?!
京東“地震”
程序員?996?再上熱搜,黑名單增至?84?家!
真香,朕在看了!
總結(jié)
以上是生活随笔為你收集整理的昨天,终于拿到了腾讯 offer的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 读完这篇文章,你就是下一个时间管理大师。
- 下一篇: 计算机软件定时运行,Win7打开定时运行