騰訊PHP/GO工程師面試經(jīng)歷
一面是技術面,用的騰訊會議,開局自我介紹之后就開始做題。題目不算難,都非常考驗基礎扎不扎實。面試官特別喜歡就一個問題深入去問,直到你卡殼。
第一題是非常經(jīng)典的,從瀏覽器敲下地址到頁面呈現(xiàn)出來,中間發(fā)生了什么事情,越詳細越好。
主要是說說 TCP 三次握手,四次揮手,詳細的狀態(tài)轉換,以及 time_wait 狀態(tài)存在的意義,滑動窗口也要說一說。以及 nginx 和 php-fpm 是怎么通信的,fast-cgi 對比 cgi 有啥改進。
第二題是 JS 的浮點數(shù)和 async、await 的題目。
浮點數(shù)在計算機是怎么表示的,這個要答全一點.async 和 await 都是隨便答一答,只要中規(guī)中矩就過關,沒有深入追問。
第三題是 Vue nextTick 的原理。
第四題是 go channel 相關的題目,讀代碼寫出執(zhí)行結果。
第五題是 go defer 順序問題,讀代碼寫出執(zhí)行結果。
第六題是 go slice 的相關原理。

第七題是 php-fpm 進程數(shù)量過多,如何優(yōu)化的問題
第八題是 php 內存泄露如何排查,處理的問題
第九題是 GPM 模型的原理,以及 GO 不同版本的 GC 算法原理
第十題是 mysql 分表分庫問題,及正在運行的業(yè)務中,數(shù)據(jù)表修改字段如何避免鎖表導致業(yè)務不可用的問題。
第十一題是 redis 相關的,分布式鎖,延遲隊列,跳表的一些問題
第十二題是數(shù)據(jù)結構相關的,有向圖的連通性問題,要手寫代碼。
除了面試題,一面還就你簡歷上你寫的技能做了一些問答,還問了些項目相關的東西。
一面過了之后,二面就跑去深圳面,是組長和組員一起面,問了些項目相關的問題再聊聊人生,我沒把細節(jié)答好,就沒下文了,想想還是可惜。
總結起來,一面的范圍相當廣,從 php、go、js 到 mysql、reids、nginx、mq。也有一定的深度,但總體不算難。二面主要面項目經(jīng)驗,如果沒做過大項目,就非常吃虧。
往期推薦
