摘要:三輪技術(shù)面上一輪發(fā)揮感覺(jué)沒(méi)前兩輪發(fā)揮好,所以還是有點(diǎn)不自信的,沒(méi)想到第三天后,就來(lái)電話了,通知我去阿里園區(qū)面試。
一般阿里社招都是招3-5年的P6+高級(jí)工程師,當(dāng)初自己一年經(jīng)驗(yàn)也沒(méi)有想過(guò)有這個(gè)面試機(jī)會(huì)。
雖然沒(méi)想著換工作,但是經(jīng)常關(guān)注一些招聘網(wǎng)站的信息,某一天,在某boss上有個(gè)人找我,叫我發(fā)一下簡(jiǎn)歷,我一看是阿里的某技術(shù)專家,雖然之前也有阿里的在某boss上給我要簡(jiǎn)歷,但是我深知自己經(jīng)驗(yàn)不足,然后給boss說(shuō)我是16屆的,只有一年經(jīng)驗(yàn),然后就沒(méi)有然后了。這次我依然這么回復(fù),但是這boss說(shuō),沒(méi)關(guān)系,他喜歡基礎(chǔ)好的,讓我可以試一試,于是我也抱著試一試的心態(tài)發(fā)了簡(jiǎn)歷。
簡(jiǎn)歷發(fā)過(guò)去之后,boss就給我打了電話,讓我簡(jiǎn)單的介紹一下自己,我就噼里啪啦說(shuō)了一些,還說(shuō)了一些題外話。然后boss就開(kāi)始問(wèn)我問(wèn)題。
由于面了四輪,所以最開(kāi)始的面試記憶有點(diǎn)模糊了,細(xì)細(xì)回想,又感覺(jué)記憶猶新。
1.電話初探 1.說(shuō)一下你了解CSS盒模型。我就說(shuō)了一下IE的怪異盒模型和標(biāo)注瀏覽器的盒模型,然后可以通過(guò)box-sizing屬性控制兩種盒模型的變換。
2.說(shuō)一下box-sizing的應(yīng)用場(chǎng)景。這個(gè)也不難,簡(jiǎn)單說(shuō)了一兩個(gè)應(yīng)用場(chǎng)景,具體就不一一細(xì)說(shuō)了。
3.說(shuō)一下你了解的彈性FLEX布局.這個(gè)我也比較了解,各種概念和屬性能想到的說(shuō)了一大堆,也扯到了Grid布局,基本這個(gè)也沒(méi)啥問(wèn)題。
4.說(shuō)一下一個(gè)未知寬高元素怎么上下左右垂直居中。說(shuō)了一下flex彈性布局的實(shí)現(xiàn),說(shuō)了一下兼容性,扯到了postcss的一些東西,然后說(shuō)了一下常規(guī)的兼容性比較好的實(shí)現(xiàn)。
5.說(shuō)一下原型鏈,對(duì)象,構(gòu)造函數(shù)之間的一些聯(lián)系。這個(gè)我之前寫(xiě)過(guò)相關(guān)的文章,自己也有比較深入的理解,所以這個(gè)也不在話下,噼里啪啦說(shuō)了一大堆,也不知道面試官聽(tīng)得咋樣。
6.DOM事件的綁定的幾種方式說(shuō)了三種,然后說(shuō)了一些冒泡,默認(rèn)事件,以及DOM2,DOM3級(jí)的一些標(biāo)準(zhǔn)。
7.說(shuō)一下你項(xiàng)目中用到的技術(shù)棧,以及覺(jué)得得意和出色的點(diǎn),以及讓你頭疼的點(diǎn),怎么解決的。這個(gè)因人而異,開(kāi)放性問(wèn)題,主要考察平時(shí)項(xiàng)目的一些積累吧,這個(gè)我回答感覺(jué)也比較ok。
8.有沒(méi)有了解http2.0,websockt,https,說(shuō)一下你的理解以及你所了解的特性。這個(gè)我看過(guò)一些文章,但是沒(méi)有什么印象,扯了一些概念,但是回答的不是很深。
第一輪電話初探,大約面了50分鐘,就記起來(lái)這么多,還有一些細(xì)節(jié)問(wèn)題可能淡忘了,總體來(lái)說(shuō),面的都是以基礎(chǔ)為主,然后boss說(shuō)把我簡(jiǎn)歷推薦給內(nèi)部,進(jìn)行正式的社招流程。
一輪技術(shù)面然后當(dāng)天晚上一個(gè)女的面試官就給我打電話了,說(shuō)八點(diǎn)半進(jìn)行下一輪技術(shù)面試,沒(méi)想到效率這么快,我都沒(méi)怎么準(zhǔn)備。
這次就直接省略自我介紹了。
這個(gè)自己就說(shuō)了一下自己的理解,以及自己用node寫(xiě)的多入口怎么配置,然后面試官說(shuō)不是多入口配置,然后我又說(shuō)了一下自己的理解,然后這題就過(guò)了。
2.我看到你的項(xiàng)目用到了Babel的一個(gè)插件:transform-runtime以及stage-2,你說(shuō)一下他們的作用。這個(gè)我也還算比較了解,就說(shuō)了一下ES的一些API,比如generator啥的默認(rèn)不轉(zhuǎn)換,只轉(zhuǎn)換語(yǔ)法,需要這個(gè)來(lái)轉(zhuǎn)換,然后說(shuō)profill啥的,扯了一下stage-1,stage-2,stage-3,這個(gè)問(wèn)題回答還算清楚。
3.我看到你的webpack配置用到webpack.optimize.UglifyJsPlugin這個(gè)插件,有沒(méi)有覺(jué)得壓縮速度很慢,有什么辦法提升速度。這個(gè)我主要回答了一下,我之前也沒(méi)怎么了解,一個(gè)想到是緩存原理,壓縮只重新壓縮改變的,還有就是減少冗余的代碼,壓縮只用于生產(chǎn)階段,然后面試官問(wèn)還有呢?我就說(shuō),還可以從硬件上提升,可以得到質(zhì)的飛躍,比如換臺(tái)I9處理器的電腦。。。。
4.簡(jiǎn)歷上看見(jiàn)你了解http協(xié)議。說(shuō)一下200和304的理解和區(qū)別這個(gè)噼里啪啦說(shuō)了一堆,協(xié)商緩存和強(qiáng)制緩存的區(qū)別,流程,還有一些細(xì)節(jié),提到了expires,Cache-Control,If-none-match,Etag,last-Modified的匹配和特征,這一塊之前有過(guò)比較詳細(xì)的了解,所以還是應(yīng)答如流。
5.DOM事件中target和currentTarget的區(qū)別這個(gè)沒(méi)答上來(lái)。。。
6.說(shuō)一下你平時(shí)怎么解決跨域的。以及后續(xù)JSONP的原理和實(shí)現(xiàn)以及cors怎么設(shè)置。我就說(shuō)了一下Jason和cors,然后問(wèn)我JSONP的原理以及cors怎么設(shè)置,這一塊自己也實(shí)踐過(guò),所以還是對(duì)答如流的。
7.說(shuō)一下深拷貝的實(shí)現(xiàn)原理。這個(gè)也還好,就是考慮的細(xì)節(jié)不是很周全,先是說(shuō)了一種JSON.stringify和JSON.parse的實(shí)現(xiàn),以及這種實(shí)現(xiàn)的缺點(diǎn),主要就是非標(biāo)準(zhǔn)JSOn格式無(wú)法拷貝以及兼容性問(wèn)題,然后問(wèn)了我有么有用過(guò)IE8的一個(gè)什么JSON框架,我也不記得是什么了,因?yàn)槲覊焊鶝](méi)聽(tīng)過(guò),然后說(shuō)了一下尾遞歸實(shí)現(xiàn)深拷貝的原理,還問(wèn)了我typeof null是啥,這個(gè)當(dāng)然是Object。。。
8.說(shuō)一下項(xiàng)目中覺(jué)得可以改進(jìn)的地方以及做的很優(yōu)秀的地方?這個(gè)也是因人而異,開(kāi)放性問(wèn)題,大致扯了一下自己的經(jīng)歷,也還OK。
最后問(wèn)了有什么需要問(wèn)的地方,面試到這里基本就結(jié)束了,大約面了一個(gè)多鐘頭,還是蠻累的??傮w來(lái)說(shuō),回答的廣度和深度以及細(xì)節(jié)都還算OK,覺(jué)得這輪面試基本沒(méi)什么懸念。
二輪技術(shù)面過(guò)了幾天,接到阿里另一個(gè)面試官的電話,上一輪面試通過(guò)了,這次是二輪技術(shù)面,說(shuō)估計(jì)一個(gè)鐘頭。這次依然跳過(guò)自我介紹之類的,直奔主題。
1.有沒(méi)有自己寫(xiě)過(guò)webpack的loader,他的原理以及啥的,記得也不太清楚。這個(gè)我就說(shuō)了一下,然后loader配置啥的,也還ok。
2.有沒(méi)有去研究webpack的一些原理和機(jī)制,怎么實(shí)現(xiàn)的。這個(gè)我簡(jiǎn)單說(shuō)了一下我自己了解的,因?yàn)檫@一塊我也沒(méi)深入去研究,所以說(shuō)的應(yīng)該比較淺。
3.babel把ES6轉(zhuǎn)成ES5或者ES3之類的原理是什么,有沒(méi)有去研究。這一塊我說(shuō)了一下自己的思路,大致也還OK,我也沒(méi)去深入研究怎么轉(zhuǎn)換的,之前好像看過(guò)類似的文章,自己也只觀察過(guò)轉(zhuǎn)換之后的代碼是啥樣的,至于怎么轉(zhuǎn)換的規(guī)則,真的沒(méi)去深入觀察。
4.git大型項(xiàng)目的團(tuán)隊(duì)合作,以及持續(xù)集成啥的。這里我就說(shuō)了一下自己了解的git flow方面的東西,因?yàn)闆](méi)有實(shí)戰(zhàn)經(jīng)驗(yàn),所以我就選擇性說(shuō)明了這一塊的不熟練,然后面試官也沒(méi)細(xì)問(wèn)。
5.什么是函數(shù)柯里化?以及說(shuō)一下JS的API有哪些應(yīng)用到了函數(shù)柯里化的實(shí)現(xiàn)?這個(gè)我就說(shuō)了一下函數(shù)柯里化一些了解,以及在函數(shù)式編程的應(yīng)用,最后說(shuō)了一下JS中bind函數(shù)和數(shù)組的reduce方法用到了函數(shù)柯里化。
6.ES6的箭頭函數(shù)this問(wèn)題,以及拓展運(yùn)算符。這一塊主要是API和概念的問(wèn)題,扯了一些規(guī)范以及嚴(yán)格模式下其他情況this只想問(wèn)題。
7.JS模塊化Commonjs,UMD,CMD規(guī)范的了解,以及ES6的模塊化跟其他幾種的區(qū)別,以及出現(xiàn)的意義。這個(gè)也是說(shuō)了一下自己的理解和認(rèn)知,自己對(duì)模塊化歷史以及一些規(guī)范都有所涉獵,這一塊也還湊合。
8.說(shuō)一下Vue實(shí)現(xiàn)雙向數(shù)據(jù)綁定的原理,以及vue.js和react.js異同點(diǎn),如果讓你選框架,你怎么怎么權(quán)衡這兩個(gè)框架,分析一下。主要是發(fā)布訂閱的設(shè)計(jì)模式,還有就是ES5的Object.defineProperty的getter和setter機(jī)制,然后順便扯了一下Angular的臟檢測(cè),以及alvon.js最先用到這種方式。然后扯了一下vue.js和react.js異同點(diǎn),權(quán)衡框架選擇,調(diào)研分析之類,噼里啪啦說(shuō)了一大堆。
9.我看你也寫(xiě)博客,說(shuō)一下草稿的交互細(xì)節(jié)以及實(shí)現(xiàn)原理。這一款就按照自己用過(guò)簡(jiǎn)書(shū)或者掘金,SG這類草稿的體驗(yàn),詳細(xì)說(shuō)了一下,這個(gè)開(kāi)放性問(wèn)題,說(shuō)到點(diǎn)基本就OK。
最后面試官問(wèn)我有什么想問(wèn)的嗎,面試到這里基本就結(jié)束了,差不多面了一個(gè)小時(shí),說(shuō)過(guò)幾天就會(huì)給答復(fù),如果過(guò)了就會(huì)去阿里園區(qū)進(jìn)行下一輪的技術(shù)面。
三輪技術(shù)面上一輪發(fā)揮感覺(jué)沒(méi)前兩輪發(fā)揮好,所以還是有點(diǎn)不自信的,沒(méi)想到第三天后,就來(lái)電話了,通知我去阿里園區(qū)面試。
因?yàn)榘⒗镂飨獔@區(qū)距離我不到十公里,我就踩著共享單車一點(diǎn)鐘就出發(fā)了,天氣比較熱,飄在路上,百感交集,身邊一輛法拉利轟鳴而過(guò),又一輛蘭博基尼呼嘯而過(guò),我心里一萬(wàn)頭草泥馬奔騰,MLGB,心里暗想,為神馬開(kāi)這車的人不是此刻看文章的你?
走到半路了,面試官給我打電話了,說(shuō)我怎么還沒(méi)到,說(shuō)約定的是兩點(diǎn)鐘,我一下子就懵逼了,短信只有一個(gè)游客訪問(wèn)ID,并沒(méi)有通知我具體時(shí)間,反正不管誰(shuí)的疏忽,我肯定是要遲到了,于是我快馬加鞭,踩著賊難騎的共享單車,背著微風(fēng),一路狂奔,到阿里園區(qū)已是汗流浹背,油光滿面,氣喘乎乎。。。
面試遲到了,印象肯定不好,加上滿頭大汗的形象也不太好,加上自己饑渴難耐,這面是估計(jì)要GG了,一進(jìn)來(lái)就直奔主題,這次是兩個(gè)大Boss面試我。
第一個(gè)面試官 1.先自我介紹一下,說(shuō)一下項(xiàng)目的技術(shù)棧,以及項(xiàng)目中遇到的一些問(wèn)題啥的。這個(gè)問(wèn)題就是個(gè)開(kāi)場(chǎng)白,簡(jiǎn)要說(shuō)明一下,問(wèn)題都不大,這個(gè)面試官就是第一次打電話給我面試的那個(gè)boss,所以技術(shù)那塊boss心里也有個(gè)底細(xì),所以沒(méi)再問(wèn)技術(shù)問(wèn)題。
2.一個(gè)業(yè)務(wù)場(chǎng)景,面對(duì)產(chǎn)品不斷迭代,以及需求的變動(dòng)該怎么應(yīng)對(duì),具體技術(shù)方案實(shí)現(xiàn)。具體業(yè)務(wù)場(chǎng)景,我就不一一描述,Boss在白板上畫(huà)了一個(gè)大致的模塊圖,然后做了一些需求描述。
然后需求一層一層的改變,然后往下挖,主要是考察應(yīng)對(duì)產(chǎn)品能力,以及對(duì)代碼的可維護(hù)性和可拓展性這些考察,開(kāi)放性問(wèn)題,我覺(jué)得還考察一些溝通交流方面的能力,因?yàn)橛行┑胤矫嬖嚬俟室庹f(shuō)得很含糊,反正就是一個(gè)綜合能力,以及對(duì)產(chǎn)品的理解,中間談到怎么實(shí)現(xiàn),也問(wèn)到了一些具體的點(diǎn),記得問(wèn)到的有一下幾個(gè)。
第二個(gè)面試官 1.業(yè)務(wù)場(chǎng)景:比如說(shuō)百度的一個(gè)服務(wù)不想讓阿里使用,如果識(shí)別到是阿里的請(qǐng)求,然后跳轉(zhuǎn)到404或者拒絕服務(wù)之類的?① 怎么獲取一個(gè)元素到視圖頂部的距離。
② getBoundingClientRect獲取的top和offsetTop獲取的top區(qū)別
③事件委托
主要是考察http協(xié)議頭Referer,然后怎么判斷是阿里的ip或者啥的,我也不太清楚。
2.二分查找的時(shí)間復(fù)雜度怎么求,是多少。。。排序的還算清楚一點(diǎn),查找真的不知所措,沒(méi)回答上來(lái),也沒(méi)猜,意義不大,不會(huì)就是不會(huì)。
3.XSS是什么,攻擊原理,怎么預(yù)防。這個(gè)很簡(jiǎn)單,跨站腳本攻擊XSS(cross site scripting),攻擊類型主要有兩種:反射型和存儲(chǔ)型,簡(jiǎn)單說(shuō)了一下如何防御:
①轉(zhuǎn)義
②DOM解析白名單
③第三方庫(kù)
④CSP
自己對(duì)web安全這塊系統(tǒng)學(xué)習(xí)過(guò),前前后后大約了解了很多,對(duì)于XSS,CSRF,點(diǎn)擊劫持,Cookie安全,HTTP竊聽(tīng)篡改,密碼安全,SQL注入,社會(huì)工程學(xué)都有一定了解,所以這個(gè)自然也不在話下。
4.線性順序存儲(chǔ)結(jié)構(gòu)和鏈?zhǔn)酱鎯?chǔ)結(jié)構(gòu)有什么區(qū)別?以及優(yōu)缺點(diǎn)。我是類比JS數(shù)組和對(duì)象來(lái)回答的,反正還算湊合吧,自己都數(shù)據(jù)結(jié)構(gòu)這塊多少還是有些印象,所以入了前端,對(duì)數(shù)據(jù)結(jié)構(gòu)和算法確實(shí)一直淡忘了。
5.分析一下移動(dòng)端日歷,PC端日歷以及桌面日歷的一些不同和需要注意的地方。這個(gè)我能想到的大致都說(shuō)了一遍,不同的場(chǎng)景交互和細(xì)節(jié)以及功能都有所偏差,以及功能的側(cè)重都可能不同。
6.白板寫(xiě)代碼,用最簡(jiǎn)潔的代碼實(shí)現(xiàn)數(shù)組去重。我寫(xiě)了兩種實(shí)現(xiàn)方式:
ES6實(shí)現(xiàn):
[...new Set([1,2,3,1,"a",1,"a"])]
ES5實(shí)現(xiàn):
[1,2,3,1,"a",1,"a"].filter(function(ele,index,array){ return index===array.indexOf(ele) })7.怎么實(shí)現(xiàn)草稿,多終端同步,以及沖突問(wèn)題?
這個(gè)回答的不算好,本來(lái)也想到類比git的處理方式,但是說(shuō)的時(shí)候往另外一個(gè)方面說(shuō)了,導(dǎo)致與面試官想要的結(jié)果不一樣。
最后說(shuō)目前的工作經(jīng)驗(yàn)達(dá)不到P6水平,業(yè)務(wù)類稍弱,阿里現(xiàn)在社招只要P6的高級(jí)工程師,但是可以以第二梯隊(duì)進(jìn)去,就是以第三方簽署就業(yè)協(xié)議,一年后可以轉(zhuǎn)正,就是俗稱的外包。多少還是有點(diǎn)遺憾,面了四輪面了個(gè)外包,最后放棄這份工作了。
最后,感謝boss一直以來(lái)的關(guān)照和器重。
文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請(qǐng)注明本文地址:http://systransis.cn/yun/112381.html
摘要:三輪技術(shù)面上一輪發(fā)揮感覺(jué)沒(méi)前兩輪發(fā)揮好,所以還是有點(diǎn)不自信的,沒(méi)想到第三天后,就來(lái)電話了,通知我去阿里園區(qū)面試。 一般阿里社招都是招3-5年的P6+高級(jí)工程師,當(dāng)初自己一年經(jīng)驗(yàn)也沒(méi)有想過(guò)有這個(gè)面試機(jī)會(huì)。 雖然沒(méi)想著換工作,但是經(jīng)常關(guān)注一些招聘網(wǎng)站的信息,某一天,在某boss上有個(gè)人找我,叫我發(fā)一下簡(jiǎn)歷,我一看是阿里的某技術(shù)專家,雖然之前也有阿里的在某boss上給我要簡(jiǎn)歷,但是我深知自己...
摘要:作者兩年經(jīng)驗(yàn)第一家任職的是個(gè)小公司第二家算是二線互聯(lián)網(wǎng)公司各待了一年吧能有機(jī)會(huì)去阿里面試很驚喜先來(lái)和大家分享一下面試經(jīng)歷電話面試初探因?yàn)檫€在職的緣故電話面試從晚上點(diǎn)鐘開(kāi)始持續(xù)了半個(gè)小時(shí)左右一開(kāi)始的時(shí)候特比緊張甚至聲音略有些顫抖簡(jiǎn)單自我介紹做 作者兩年經(jīng)驗(yàn), 第一家任職的是個(gè)小公司, 第二家算是二線互聯(lián)網(wǎng)公司, 各待了一年吧... 能有機(jī)會(huì)去阿里面試很驚喜! 先來(lái)和大家分享一下面試經(jīng)歷....
摘要:寫(xiě)在最前本次分享一下在作者上一次失利即拿到畢業(yè)證第二天突然收到阿里社招面試通知失敗之后,通過(guò)分析自己的定位與實(shí)際情況,做出的未來(lái)一到兩年的規(guī)劃。在博客有一定曝光度的積累中,陸續(xù)收到了一些面試邀請(qǐng),基本上是阿里的但是我知道我菜。。 寫(xiě)在最前 本次分享一下在作者上一次失利即拿到畢業(yè)證第二天突然收到阿里社招面試通知失敗之后,通過(guò)分析自己的定位與實(shí)際情況,做出的未來(lái)一到兩年的規(guī)劃。以及本次社招...
摘要:前端日?qǐng)?bào)精選譯用搭建探索生命周期中的匿名遞歸瀏覽器端機(jī)器智能框架深入理解筆記和屬性中文上海線下活動(dòng)前端工程化架構(gòu)實(shí)踐滬江技術(shù)沙龍掘金周二放送追加視頻知乎專欄第期聊一聊前端自動(dòng)化測(cè)試上雙關(guān)語(yǔ)來(lái)自前端的小段子,你看得懂嗎眾成翻 2017-08-10 前端日?qǐng)?bào) 精選 [譯] 用 Node.js 搭建 API Gateway探索 Service Worker 「生命周期」JavaScript ...
閱讀 1644·2021-09-22 15:25
閱讀 1523·2021-09-07 10:06
閱讀 3197·2019-08-30 15:53
閱讀 1100·2019-08-29 13:12
閱讀 3393·2019-08-29 13:07
閱讀 741·2019-08-28 18:19
閱讀 2282·2019-08-27 10:57
閱讀 999·2019-08-26 13:29