小前端進(jìn)騰訊啦!

授權(quán)轉(zhuǎn)載自:Lam
https://zhuanlan.zhihu.com/p/265147335
如果大家有看到我上一篇文章,就知道從2020年的年頭到年中,我一直在面試者阿里的各種崗位,但是結(jié)果都是很無奈,下面的鏈接,有興趣的可以看看。
https://zhuanlan.zhihu.com/p/223459952
從我開始做前端的時(shí)候,我就發(fā)誓我必須要進(jìn)BAT,作為一個(gè)只是普通大專畢業(yè)的我,也沒有大廠的工作背景,其實(shí)對(duì)于30歲甚至35歲之后的發(fā)展,個(gè)人感覺是很受限制的,所以進(jìn)入BAT是我一開始的目標(biāo),可能這就是曲線救國吧。
那么本篇文章主要圍繞兩個(gè)部分:
前端現(xiàn)在個(gè)人覺得的一些現(xiàn)狀 騰訊面經(jīng)
想看面經(jīng)的可以直接看面經(jīng),但是如果你也和我一樣,學(xué)歷不怎么樣,一直在小公司打滾,想進(jìn)入大廠的話,可以好好看看第一部分的內(nèi)容。第一部分是我一直在中小公司打滾快5年的時(shí)間里,感受到的問題,和一些自己的感受。
困局
首先我先說說我的基本情況吧,我已經(jīng)做前端5年左右的時(shí)間了,中間干過3家公司,都是屬于中型互聯(lián)網(wǎng)企業(yè)和創(chuàng)業(yè)型的公司,規(guī)模不算大。而我的學(xué)歷也只是普通的大專畢業(yè),然后考了個(gè)成人本科。所以我的情況應(yīng)該算是當(dāng)下很多苦惱進(jìn)不了大廠,或者一直在中小公司打滾天天切圖的前端一個(gè)影子。所以應(yīng)該也算比較算有代表性的一類前端吧。
為什么說是困局呢?
在2020年我?guī)缀趺嬖嚵艘徽辏瑥钠胀ǖ囊恍┬」荆缴鲜泄荆揭痪€大廠(阿里,騰訊,字節(jié))。我得到最多的反饋其實(shí)就是2種,學(xué)歷不夠或者陪跑。但是應(yīng)該會(huì)有不少其他想沖擊大廠的同學(xué)會(huì)得到另外兩種反饋,技術(shù)深度和廣度不夠,或者簡(jiǎn)歷上缺乏有意思的項(xiàng)目。導(dǎo)致最后沒有得到面試機(jī)會(huì)或者面試通過不了。
在這種前提下,你就很容易形成一種死循環(huán),一直在中小公司徘徊,大部分的中小公司都是以業(yè)務(wù)優(yōu)先,對(duì)于技術(shù)的建設(shè)相對(duì)來說比較缺乏,所以新的技術(shù)得不到實(shí)踐機(jī)會(huì),每天忙于各種業(yè)務(wù)需求,身邊的氛圍不好等,都是最終影響你能力提升的因素。所以這就是困局的地方!下面我詳細(xì)說說我的理解。
------------------------------------------ 1.學(xué)歷?-----------------------------------------
別聽那些人去扯學(xué)歷在程序員不重要,如果你有刷什么抖音之類的平臺(tái),會(huì)看見一些阿里的hr或者其他公司的hr說學(xué)歷不重要,關(guān)鍵是能力,這些毒雞湯就別再相信了,給大家看看字節(jié)內(nèi)推的朋友和我的聊天:


包括我自己從阿里或者其他公司里面得到的一些消息,就是學(xué)歷問題,過不了。所以學(xué)歷非常重要,4.5年前的時(shí)候,或許前端的學(xué)歷可能還不是特別重要,但是隨著時(shí)代的發(fā)展,前端的人員越來越多的時(shí)候,hr和面試官每天看成千上百的簡(jiǎn)歷,對(duì)于學(xué)歷的篩選就會(huì)變得重要起來。
其實(shí)換個(gè)角度想,你想加入大廠,全中國很多程序員也想,所以hr或者面試官肯定是需要篩選簡(jiǎn)歷的,那么就會(huì)出現(xiàn)機(jī)器篩選的問題,那么你就很可能就這個(gè)環(huán)節(jié)就篩選掉了。而且面試的過程其實(shí)很難說十分準(zhǔn)確的知道你全部的能力,所以學(xué)歷也是一個(gè)很重要的考量指標(biāo)。
這是困局形成的第一步。
--------------------------------------- 2.技術(shù)能力?---------------------------------------
如果你學(xué)歷一般,普通本科,大專或者初中,那么大概率你一直都在中小公司中工作,那么中小型公司的特點(diǎn)是什么?就是快,老板說要,明天要上線。這是大部分中小公司的普遍現(xiàn)象,所謂的扁平化,其實(shí)就是沒有太多層級(jí),干一個(gè)事情不需要層層審批,效率至上。在這種氛圍當(dāng)中工作,就會(huì)存在一個(gè)問題,技術(shù)的深度和廣度難以進(jìn)行深挖和展開。
技術(shù)深度?- 試想你在每天都忙于處理各種緊急需求,各種老板需求,改各種因?yàn)闆]有在需求階段就充分考慮就急忙上線導(dǎo)致的bug。你每天帶著疲憊的身軀,回到家,能堅(jiān)持去閱讀源碼,或者去各種論壇看技術(shù)文章的人有多少個(gè),就算你能做到,你又能一直堅(jiān)持多久,人不是機(jī)器,身心會(huì)疲憊。 技術(shù)廣度?- 如果你在中小公司或者傳統(tǒng)行業(yè)的公司中,你會(huì)發(fā)現(xiàn),你的工作除了切圖還是切圖,或者做做小程序,用node的機(jī)會(huì)也只是用一下webpack。各種框架甚至都不會(huì)用,還在用jquery的公司不在少數(shù)。多端統(tǒng)一技術(shù)你壓根就別想,特別現(xiàn)在的小公司,都是掛靠在各種平臺(tái)中,微信,支付寶等。直接使用小程序進(jìn)行開發(fā),老實(shí)說,只寫小程序的前端,壓根就不是前端,本來在前端已經(jīng)被框在瀏覽器中,而現(xiàn)在小程序進(jìn)一步把前端框在小程序中。在這樣的環(huán)境下,如何去擴(kuò)展你的知識(shí)廣度呢?
當(dāng)然上面的話只說大部分人,有人可能會(huì)說,我可以堅(jiān)持,我可以自己去搞個(gè)項(xiàng)目,自己做個(gè)博客啥的,我在現(xiàn)在的公司面試官,也是看到不少簡(jiǎn)歷上是這么寫的,我用egg+react去實(shí)現(xiàn)了博客,也使用到mysql或者mongo等等。老實(shí)說,當(dāng)你真正用過在一些大型項(xiàng)目當(dāng)中并且落地運(yùn)行,要面對(duì)的問題絕對(duì)不是自己弄小項(xiàng)目玩玩那么簡(jiǎn)單的。而且如果你并非一個(gè)實(shí)習(xí)生或者培訓(xùn)機(jī)構(gòu)出來的人,你的簡(jiǎn)歷上更多是寫實(shí)際項(xiàng)目上的東西,而不是自己弄個(gè)小項(xiàng)目出來,就說你會(huì)什么什么技術(shù),有辨識(shí)度的面試官看到這樣的項(xiàng)目,有可能會(huì)減分的。當(dāng)然,你如果是自己弄了個(gè)優(yōu)秀個(gè)開源項(xiàng)目另當(dāng)別論。這就是困局形成的第二步。
------------------------------ 3.簡(jiǎn)歷上缺少有意思的項(xiàng)目?---------------------------------
綜合上面2步,因?yàn)閷W(xué)歷,你到不了大廠或者大型的互聯(lián)網(wǎng)公司,每天忙于業(yè)務(wù),缺乏技術(shù)的積累,技術(shù)能力不夠。那么你大多數(shù)情況下會(huì)在中小型的公司或者創(chuàng)業(yè)型公司里面,這個(gè)時(shí)候你面對(duì)的必然是每天忙于業(yè)務(wù)。
不知道大家有沒有發(fā)現(xiàn),在前端的生態(tài)圈里面,優(yōu)秀的開源項(xiàng)目一般都是比較大型的互聯(lián)網(wǎng)公司中產(chǎn)出的。中小型的公司一般沒有,或者很少。因?yàn)橹行⌒凸就谧⒅貥I(yè)務(wù)的利潤(rùn),對(duì)于團(tuán)隊(duì)的建設(shè)和人才的培養(yǎng),以及技術(shù)的積累一般不太重視,能用即可。所以你所在公司或者團(tuán)隊(duì)的風(fēng)氣都是不停搬磚,缺少技術(shù)積累和總結(jié)。更加少會(huì)有人提出我們一起做個(gè)組件庫,腳手架,或者我們自己來做個(gè)監(jiān)控系統(tǒng)之類的東西。
就算你所在團(tuán)隊(duì)當(dāng)中有人提出來說做一些技術(shù)沉淀或者有意思的項(xiàng)目,又有多少人能真正有時(shí)間做下來。打個(gè)比方,例如做個(gè)組件庫,最終大家加班加點(diǎn)做出來了十來個(gè)組件,那么你對(duì)比一下antd,差距有多大。這個(gè)差距老實(shí)說,并不是大家的技術(shù)能力差距導(dǎo)致差距那么大,是因?yàn)閍ntd團(tuán)隊(duì)投入的是大量人力物力去做,而我們只是幾個(gè)前端,利用加班時(shí)間或者空余時(shí)間去做出來的。怎么能比呢?再說,如果你一些組件庫這類專項(xiàng),沒有真正結(jié)合上下游的資源,例如設(shè)計(jì)UI,產(chǎn)品經(jīng)理等人員資源,將你的項(xiàng)目能真正落地解決實(shí)際問題,那么你的這些所謂的組件庫,其實(shí)都是自己拿來玩玩的東西,根本沒有任何價(jià)值。
舉一些項(xiàng)目的例子:
一個(gè)組件庫,如果沒有做到公司UI統(tǒng)一規(guī)范,產(chǎn)品經(jīng)理和設(shè)計(jì)介入統(tǒng)一好樣式和交互方式,你自己封裝出來的組件只能算你自己弄的小工具罷了。另外一個(gè)組件庫有沒有相應(yīng)的文檔,demo等配套,提供給其他開發(fā)者,一個(gè)真正落地的專業(yè)組件庫并沒有你想象的簡(jiǎn)單。 監(jiān)控系統(tǒng),如果你沒有結(jié)合后端,數(shù)據(jù)庫和運(yùn)維資源,壓根你的監(jiān)控系統(tǒng)根本搭建不起來。就算搭建起來,里面的功能是不是真的有意義,是不是確實(shí)能解決當(dāng)前項(xiàng)目中的痛點(diǎn)盲點(diǎn),我們自己有沒有思考過,或者有牛人給你指點(diǎn)。 ........
這就困局形成的閉環(huán)處。所以整體下來的困局形成如下:
沒有好的學(xué)歷和工作背景
你大概率去到中小型公司,或者創(chuàng)業(yè)公司和傳統(tǒng)行業(yè)公司中搬磚
往往因?yàn)檫@類型的公司,更注重業(yè)績(jī)和效率,對(duì)技術(shù)的建設(shè)忽視,導(dǎo)致你的工作時(shí)間和加班時(shí)間都是忙于搬磚。
在這類型的公司里面,往往身邊的伙伴大概率來說相對(duì)平庸,所以氛圍上沒有形成一種積極的技術(shù)氛圍。
如果你有想法,但是在公司的層面上因?yàn)樽⒅氐氖菢I(yè)績(jī)和效率,往往能提供的資源有限。
也正因?yàn)榈谌c(diǎn)的原因,所以沒有很好的機(jī)會(huì)去提升自己的能力,加強(qiáng)技術(shù)深度,擴(kuò)展知識(shí)廣度。從而形成一種困局的局面,隨著年齡的增長(zhǎng),想要突破現(xiàn)狀進(jìn)入大廠就越來越難。
破局
別再喝毒雞湯了,聽聽我的經(jīng)歷看能不能幫到你。
從前我認(rèn)為,只要我不停積累我的技術(shù)能力,就可以進(jìn)入大廠,現(xiàn)在看來實(shí)在太天真了。面試其實(shí)就是3分技術(shù)7分運(yùn)氣的東西。或許有的人真的是100%實(shí)力,但是我的背景遇到的面試經(jīng)歷,就是確確實(shí)實(shí)的說明面試需要不少運(yùn)氣,請(qǐng)聽我一一道來。
學(xué)歷:首先學(xué)歷是硬傷,已經(jīng)畢業(yè)的你,沒辦法回到從前,但是在學(xué)歷上我是如何破局呢?
如果你是大專,可以考個(gè)成人本科會(huì)有微微的幫助。起碼可以讓更多hr看你的簡(jiǎn)歷。
其次,學(xué)歷的硬傷也是面試需要靠很多運(yùn)氣比較大的成分,例如你現(xiàn)在面試大廠中的崗位,如果現(xiàn)在大廠非常需要人,而且有很多HC,那么你能成功跳過學(xué)歷限制的機(jī)會(huì)就會(huì)大大提高,試想一下,如果現(xiàn)在你面試的部門只有1個(gè)HC,但是有一大群985,211的人擠過來,可能說你的能力比他們好,但是又不是說好非常多,那么你大概率得到的結(jié)果就是不通過。
多在各種社交平臺(tái),知乎,掘金等社區(qū)活動(dòng),認(rèn)識(shí)多一些在大廠的人,和他們交流,得知一些內(nèi)部招聘的崗位,HC等,會(huì)對(duì)你有針對(duì)性的去面試部門有幫助。ps:我在寫知乎文章之前,我一個(gè)大廠的網(wǎng)友都沒有,現(xiàn)在收獲一批網(wǎng)友互相交流。
技術(shù)深度:我從前也是一個(gè)切圖仔,每天忙著切圖,沒有多余的時(shí)間去學(xué)習(xí),我的破局方法如下:
在一個(gè)公司待長(zhǎng)一點(diǎn)的時(shí)間,利用時(shí)間的優(yōu)勢(shì),積累對(duì)相關(guān)業(yè)務(wù)的熟悉程度,提高自己處理業(yè)務(wù)的能力,減少每個(gè)需求的處理時(shí)間,從而讓自己空余出更多的時(shí)間可以對(duì)新技術(shù)的了解和深挖。(說白了就是在一個(gè)公司成為一名老油條,但是不要利用老油條的便利虛度光陰)
我在進(jìn)騰訊前的公司,工作了4年多,已經(jīng)是一名老油條了,對(duì)于業(yè)務(wù)上的事情,更多是處于一種協(xié)助和半管理的狀態(tài),更多是培養(yǎng)新人接手我手上的項(xiàng)目,釋放自己的時(shí)間。
利用釋放的這些時(shí)間和精力,去學(xué)習(xí)新技術(shù),看別人的方案,以及利用自己多年在當(dāng)前業(yè)務(wù)的經(jīng)驗(yàn),發(fā)現(xiàn)項(xiàng)目的不足和問題,通過技術(shù)的方式去解決(效率和質(zhì)量),從而提高自己的技術(shù)能力和實(shí)踐經(jīng)驗(yàn)。
多封裝和配置,例如,可以從后端接口獲取的,絕對(duì)不會(huì)自己寫死在代碼上,將需求拋給后端。重復(fù)使用的組件盡可能自己多學(xué)學(xué)封裝組件,積累組件編寫技巧以及封裝技巧,對(duì)于技術(shù)深度有幫助。如果時(shí)間緊急,可以先使用第三方的庫解決,但是要留意別人如何封裝,然后轉(zhuǎn)為自己編寫。技術(shù)都是從點(diǎn)點(diǎn)滴滴積累起來的。
當(dāng)你做到以上事情,那么你開發(fā)的速度將會(huì)提升,那么就可以擠出多一點(diǎn)的時(shí)間給自己有針對(duì)性的學(xué)習(xí)深度的知識(shí)。切勿看啥學(xué)啥,在各種平臺(tái)上有五花八門的文章,但是要搞好前端的深度,必須深入了解一門框架的原理和思想,對(duì)瀏覽器的基礎(chǔ)要了解,gc,渲染原理,前端的性能優(yōu)化要加強(qiáng)學(xué)習(xí),并且應(yīng)用起來。
技術(shù)廣度:作為前端,我們絕對(duì)不能只停留在瀏覽器,必須學(xué)會(huì)跳出瀏覽器,主要就是后端和多端統(tǒng)一上。在我們當(dāng)下的環(huán)境中,不一定有機(jī)會(huì)能應(yīng)用到實(shí)際項(xiàng)目中,但是我們一定要多動(dòng)手做demo(簡(jiǎn)歷的項(xiàng)目中不要寫自己做的demo作為項(xiàng)目,可以在你的技術(shù)技能中提及),對(duì)于使用以及基本原理和優(yōu)化要有了解。
后端方向:以node作為切入點(diǎn),學(xué)習(xí)koa,express的區(qū)別原理,如果你想進(jìn)阿里,多用用egg,nest可以多期待。了解數(shù)據(jù)庫,mysql和mongo即可。緩存方案redis。運(yùn)行node,少不了nginx,了解一下如何做負(fù)載均衡。當(dāng)然你也可以繼續(xù)深入一點(diǎn)點(diǎn),例如redis的緩存策略,擊穿雪崩等解決方案,數(shù)據(jù)庫的分表策略,索引機(jī)制,事務(wù)機(jī)制等,nginx的負(fù)責(zé)均衡策略等。個(gè)人建議:因?yàn)槿鄙賹?shí)際項(xiàng)目,所以點(diǎn)到為止即可,要記住你是前端,這些技術(shù)更多是后端的技術(shù),所以在有限的時(shí)間內(nèi)不要過度深入(當(dāng)然你有時(shí)間另當(dāng)別論),更多是擴(kuò)充知識(shí)而已,要深入可以日后根據(jù)方向繼續(xù)深入。
網(wǎng)絡(luò):前端對(duì)網(wǎng)絡(luò)的知識(shí)普遍都比較薄弱,多了解http不同版本的區(qū)別,特別是http1.1和2.0,https原理,tcp的鏈接方式,udp是什么等等。
多端統(tǒng)一方案:可以去了解一下react-native,flutter,taro等多端統(tǒng)一方案,做做demo,知道一下基本原理以及應(yīng)用場(chǎng)景。
簡(jiǎn)歷上有意思的項(xiàng)目:這個(gè)是需要考驗(yàn)?zāi)愕木C合實(shí)力了,因?yàn)槟愠艘心芰?shí)現(xiàn)一些功能以外,還需要清楚的知道你現(xiàn)在想做的一些專項(xiàng)是為了解決什么問題,能否拿出數(shù)據(jù),一般我們都是圍繞2個(gè)點(diǎn)出發(fā)去提出技術(shù)方案,質(zhì)量和效率。打個(gè)比方,組件庫是提高質(zhì)量和效率的,監(jiān)控系統(tǒng)是提高質(zhì)量的。這個(gè)需要你根據(jù)自己所在公司的業(yè)務(wù),能否發(fā)現(xiàn)痛點(diǎn),解決痛點(diǎn),要學(xué)會(huì)用數(shù)據(jù)說話,提升了多少,覆蓋率多少等等,讓你的項(xiàng)目覆蓋公司,這樣你的項(xiàng)目才有意義。
跟對(duì)領(lǐng)導(dǎo)很重要,如果你的領(lǐng)導(dǎo)對(duì)于人員的培養(yǎng)很看重,愿意為團(tuán)隊(duì)爭(zhēng)取資源,一定要好好珍惜,多溝通,多爭(zhēng)取機(jī)會(huì)參與基礎(chǔ)建設(shè),那么對(duì)于自身能力提高會(huì)事半功倍。(需要看運(yùn)氣)
選對(duì)公司很重要,在沒能進(jìn)入大廠前,選擇一個(gè)好的公司,好的技術(shù)團(tuán)隊(duì),也是會(huì)讓你事半功倍。(需要看運(yùn)氣)
大概我就是這樣做的,在現(xiàn)在的公司4年了,我從第2年到現(xiàn)在,一直保持著不斷折騰,學(xué)習(xí)框架的原理,閱讀源碼,為公司實(shí)現(xiàn)了統(tǒng)一的組件庫,實(shí)現(xiàn)了整個(gè)公司不同業(yè)務(wù)線的ui統(tǒng)一交互統(tǒng)一,拉動(dòng)產(chǎn)品和設(shè)計(jì)同學(xué)共同創(chuàng)建。也做過監(jiān)控系統(tǒng),確實(shí)解決應(yīng)用中的監(jiān)控盲點(diǎn),性能缺陷,得到公司認(rèn)同,并且立項(xiàng)開發(fā),得到大量公司提供的資源(人員和金錢),也有幾個(gè)技術(shù)點(diǎn)成功申請(qǐng)了專利。當(dāng)然中間也是需要團(tuán)隊(duì)的支持以及領(lǐng)導(dǎo)看重和培養(yǎng)。
最后也因?yàn)樵诿嬖囍校玫矫嬖嚬俚馁p識(shí),也加上運(yùn)氣的成分吧,最終成功入職到騰訊,成功破局,希望我的經(jīng)驗(yàn)可以幫到你,下面是騰訊 -> csig事業(yè)部的騰訊云面試面經(jīng)。請(qǐng)收下!
騰訊云7面面經(jīng)
從7月尾到9月尾,面試時(shí)長(zhǎng)2個(gè)月(因?yàn)橹虚g穿插了校招,所以時(shí)間有所拖長(zhǎng)),7輪面試,其中5輪技術(shù)面,1輪GM,1輪hr。
下面只提供題目,答案就自己查找吧,畢竟查找答案也是學(xué)習(xí)的一個(gè)過程!
一面-技術(shù)面
晚上,視頻面試,屬于同部門的同事。
前端知識(shí)
dom樹節(jié)點(diǎn)和渲染樹節(jié)點(diǎn)一一對(duì)應(yīng)嗎,有什么是dom樹會(huì)有,渲染樹不會(huì)有的節(jié)點(diǎn) CSS會(huì)阻塞dom解析嗎? requestIdleCallback是干什么用的 瀏覽器的渲染原理 瀏覽器的渲染過程 關(guān)鍵渲染路徑詳述 避免回流的方式 跨域的方式 前端的網(wǎng)絡(luò)安全如何防御(xss,csrf) cookies的保護(hù)方式 瀏覽器的緩存機(jī)制 什么文件用強(qiáng)緩存,什么文件用協(xié)商緩存 React-Native的原理,優(yōu)缺點(diǎn) react的虛擬dom和diff描述 react渲染優(yōu)化(class,hook) react的context的使用場(chǎng)景
node和后端知識(shí)
mysql和mongo的區(qū)別,使用情景 node有什么情況會(huì)導(dǎo)致內(nèi)存溢出 node的內(nèi)存分配 event loop(瀏覽器和node)
開放性題目
首屏優(yōu)化方案 在App中如何實(shí)現(xiàn)前端資源離線緩存(方案)
算法
const?arr?=?[101,19,12,51,32,7,103,8];
1.找出連續(xù)最大升序的數(shù)量
2.找出不連續(xù)最大升序的數(shù)量
二面-技術(shù)面
晚上,視頻面試,屬于其他部門同事。
前端知識(shí)
瀏覽器的輸入url后的過程 js異步方式 promise.resolve是干嘛的 promise.then如何實(shí)現(xiàn)鏈?zhǔn)秸{(diào)用 promise.then不返還一個(gè)promise還能用then嗎 promise.finally的作用,如何自己實(shí)現(xiàn)finally promise原理 webpack的異步加載如何實(shí)現(xiàn) webpack的分包策略 跨域方式有什么 jsonp的原理 csrf防御手段 cookie的samesite屬性作用 js對(duì)象循環(huán)引用會(huì)導(dǎo)致什么問題 react如何阻止原生默認(rèn)事件 react的fiber節(jié)點(diǎn)樹是什么數(shù)據(jù)結(jié)構(gòu),為什么要用這樣的數(shù)據(jù)結(jié)構(gòu) react 異步渲染原理,優(yōu)先級(jí)如何劃分 react hook有自己做一些自定義的hook嗎 react key的原理 react如何實(shí)現(xiàn)函數(shù)式調(diào)用組件,toast.show() react新增了什么生命周和刪除了什么生命周期,為什么要?jiǎng)h除
node后端知識(shí)
node對(duì)于option請(qǐng)求如何處理 node如何處理cors跨域 ES modules和commonjs的區(qū)別 node的event loop和瀏覽器的區(qū)別 dns查詢過程,dns用什么協(xié)議發(fā)起dns查詢的 tcp和udp區(qū)別 tcp的三次握手和四次揮手 協(xié)商緩存和強(qiáng)緩存的區(qū)別 https協(xié)議握手大概過程 對(duì)稱加密和非對(duì)稱加密的區(qū)別 非對(duì)稱加密,私鑰和公鑰的區(qū)別 https證書的作用
其他
如何埋點(diǎn),為什么用1*1像素的gif圖片做上報(bào) 如何定義首屏
算法
//?從撲克牌中隨機(jī)抽5張牌,判斷是不是一個(gè)順子,即這5張牌是不是連續(xù)的。2~10為數(shù)字本身,A為1,J為11,Q為12,K為13,而大、小王為?0?,可以看成任意數(shù)字。A 不能視為 14。
//?示例?1:
//?輸入:?[1,2,3,4,5]
//?輸出:?True
//?示例?2:
//?輸入:?[0,0,1,2,5]
//?輸出:?True
//?限制:
//?數(shù)組長(zhǎng)度為?5?
//?數(shù)組的數(shù)取值為?[0,?13]?.
三面-技術(shù)面
早上,視頻面試,leader面試
前端知識(shí)
綁定事件有多少種方式 事件觸發(fā)的流程,捕獲和冒泡 捕獲階段能終止嗎 終止冒泡階段有哪些 如果實(shí)現(xiàn)one綁定事件 事件委托的原理 event.target和event.currtager的區(qū)別 瀏覽器顯示一個(gè)圖片有什么方式 如何獲取url中的?后的參數(shù) 瀏覽器的內(nèi)存回收機(jī)制 標(biāo)記清除還是引用計(jì)數(shù)? 如何解決跨域 什么是簡(jiǎn)單請(qǐng)求什么復(fù)雜請(qǐng)求 const和let有什么區(qū)別 ES6常用的api有哪些 數(shù)組斷引用的方式有什么 Base64圖片有什么問題
node后端知識(shí)
Http強(qiáng)緩存和協(xié)商緩存用的是什么字段,整體流程是怎樣 Https原理 Https第一次請(qǐng)求會(huì)攜帶什么 Ca證書的內(nèi)容是什么 Https2.0的特性 xss攻擊原理的防御方式 Csrf攻擊原理和防御方式 二進(jìn)制分幀的具體是什么 Keep alive和多路復(fù)用的區(qū)別 Option請(qǐng)求的作用 Node gc方式 新生代和老生代的區(qū)別 新生代內(nèi)存地址移動(dòng)到老生代內(nèi)存地址的過程
開放問題
長(zhǎng)列表優(yōu)化方案 首屏優(yōu)化方案 Node如何保證第三方接口的穩(wěn)定性
四面-GM面
瀏覽器從寫入url到加載完畢的流程 瀏覽器白屏原因 頁面打開后cpu和內(nèi)存快速增長(zhǎng),如何定位問題,可能有什么問題 長(zhǎng)列表優(yōu)化,以及長(zhǎng)列表中,如果帶搜索功能如何實(shí)現(xiàn)
五面-技術(shù)委員會(huì)技術(shù)面
最新規(guī)定9級(jí)及以上級(jí)別需要1-5輪的技術(shù)委員會(huì)進(jìn)行加面。
最滿意的項(xiàng)目列舉2個(gè) 為什么使用RN 有100匹馬,場(chǎng)地只有4條跑道,得出最快的4只馬需要多少輪 Lam:100匹馬,4個(gè)賽道,找出跑最快的4匹馬。 已知函數(shù)fn1會(huì)隨機(jī)返回1-5的整數(shù),要求基于fn1編寫fn2,要隨機(jī)生成1-7,fn2內(nèi)不能使用系統(tǒng)的隨機(jī)api,只能調(diào)用fn1獲取隨機(jī)數(shù)
六面-技術(shù)委員會(huì)技術(shù)面
前端的未來發(fā)展的一些思考 Serverless的優(yōu)缺點(diǎn),前端的應(yīng)用范圍 頁面性能優(yōu)化 做過的專項(xiàng)的架構(gòu)圖
七面-HR面
為什么離職 你現(xiàn)在公司最有成就感的項(xiàng)目是什么 你現(xiàn)在公司最有挑戰(zhàn)的項(xiàng)目是什么,你是如果解決難題的 期望薪酬
因?yàn)槲乙郧坝衅渌镜墓ぷ鹘?jīng)驗(yàn),所以需要做性格測(cè)試,之后就是等出薪酬方案和hr溝通,然后發(fā)offer,offer后進(jìn)入背調(diào),一切通過后進(jìn)入入職預(yù)約流程,之后就等待入職咯~~~。
總體感受
現(xiàn)在前端除了一些基本的面試知識(shí)外,明顯感覺到算法的考慮在逐步加強(qiáng),所以也總結(jié)一些重點(diǎn)的考點(diǎn)吧。一些很基本的原理我就不寫了,什么閉包,什么原型鏈
對(duì)JavaScript的Api可以手寫。
bind
new
promise
.....
瀏覽器的加載原理,回流重繪,url輸入后的流程,關(guān)鍵渲染路徑等....
框架的原理,了解你最常用的框架的內(nèi)部原理以及實(shí)現(xiàn),包括思想等。
瀏覽器和node的GC原理
瀏覽器和node之間eventLoop的區(qū)別
webpack的基本原理
數(shù)據(jù)庫,redis,nginx的一些基本概念以及基本原理和優(yōu)化。
對(duì)于前端頁面的優(yōu)化方案,包括首屏加載,資源整合,網(wǎng)絡(luò)優(yōu)化,長(zhǎng)列表優(yōu)化等
網(wǎng)絡(luò)安全,xss,csrf,cookies保護(hù)等
網(wǎng)絡(luò)知識(shí)
tcp
https和http
dns
udp
算法和數(shù)據(jù)結(jié)構(gòu)
基本常用排序
鏈表操作
樹結(jié)構(gòu)操作
貪心算法
回溯算法
雙指針操作
哈希表
動(dòng)態(tài)規(guī)劃(一般為加分題)
整個(gè)面試過程,主要缺點(diǎn)可能是面試時(shí)間太長(zhǎng)了,前前后后收到offer用了2個(gè)多月,面試者需要比較耐心吧。面試的難度還是需要看面試官給你的壓力大不大,基本上面試的內(nèi)容都會(huì)比較細(xì),當(dāng)中有一些關(guān)于我自己本身項(xiàng)目上的一些問題并沒有寫出來。但是基本圍繞的點(diǎn)就是介紹你的項(xiàng)目,用到的技術(shù),為什么用這個(gè)技術(shù),解決什么問題,最終結(jié)果。如果你簡(jiǎn)歷里面的內(nèi)容你不是很熟悉,那么建議你別寫,或者略微帶過,不要給面試官帶來過大的期望。我們對(duì)于簡(jiǎn)歷上寫到的內(nèi)容,一定弄清楚每個(gè)技術(shù)的優(yōu)缺點(diǎn),盡可能了解原理和優(yōu)化方案,不要只為用而用,大廠一般比較在意一個(gè)面試者自己的思考能力。
例如你寫到你的項(xiàng)目里面用過xxx,但是面試官可能就想多問問你為什么用xxx,有什么問題之類的,如果這個(gè)時(shí)候你回答不上來,會(huì)給人感覺你只是用了而已,缺乏深度思考。而且自己的項(xiàng)目里面,必須說清楚你的具體負(fù)責(zé)的內(nèi)容,參與程度如何。
以上就是我面試進(jìn)騰訊云的整體過程以及追夢(mèng)成功后的一些總結(jié),如果你也在面試大廠或準(zhǔn)備面試大廠的路上,希望這篇文章可以幫到你,祝您成功!
最后,如果你也想來騰訊可以聯(lián)系我,騰訊云,base長(zhǎng)沙深圳的前端我們還在招,大量HC,可以直接私信我,我可以幫你們內(nèi)推一下喲!加油打工人!
最后

