- 相關(guān)推薦
百度實(shí)習(xí)生web前端開發(fā)工程師的面試經(jīng)歷
想不到自己這么快就開始寫面經(jīng)了,這次的面試談不上失敗,也談不上成功,也就寫出來給大家一個(gè)參考和教訓(xùn)吧!
我這次是通過一個(gè)學(xué)長內(nèi)推到百度的“商務(wù)搜索部”的web前端開發(fā)方面的,HR部門提前通知了我什么時(shí)候面試,因?yàn)槲覍W(xué)校不在北京,所以就只好電話電面了。提前沒日沒夜的準(zhǔn)備了好幾天,因?yàn)榘俣鹊囊蠛芏啵热缫–SS和javascript,還要熟悉數(shù)據(jù)庫,熟悉一種后臺(tái)開發(fā)語言,最扯的是“對(duì)用戶體驗(yàn)有深入的理解”,為什么扯呢,后邊再說。
我很久就做網(wǎng)站了,不過都是開源的,所以自己去有想法寫,也是最近一個(gè)學(xué)期的,所以開發(fā)經(jīng)驗(yàn)必須的不豐富。寫完簡歷之后,就開始復(fù)習(xí)以前看的一些書籍了,尤其是js還有web標(biāo)準(zhǔn)以及網(wǎng)站重構(gòu)的東西,另外花了一半的時(shí)間去看了下以前看的用戶體驗(yàn)以及設(shè)計(jì)方面的東西,還有GUI設(shè)計(jì)……
面試的時(shí)候,面試官是個(gè)男的,聽聲音大概不到30歲,后邊也確實(shí)證實(shí)了。說話并不是傳說中的笑瞇瞇很隨意,有些沙啞和低沉。
第一個(gè)問題是介紹自己,balala的介紹完,就問了一個(gè)讓我到現(xiàn)在還在無語的問題:常見的數(shù)據(jù)結(jié)構(gòu)有哪些?暈死啊,前端上沒有這個(gè)要求啊,就算對(duì)算法有要求,也不至于去操作底層吧。我回答說有鏈表、堆棧、樹。面試官說,好,那你給我解釋下B樹。我了個(gè)去……直接傻過去了,我是萬萬沒有想到會(huì)問這個(gè)的,balabla解釋了一堆,最后又扯成了數(shù)據(jù)庫索引,然后這個(gè)題目就杯具了,說白了,我B樹方面的東西已經(jīng)忘記完了,因?yàn)榭紤]自己以后要搞前端,所以數(shù)據(jù)結(jié)構(gòu)和算法就沒有再去研究!所以建議大家,去這些大公司的,最好還是對(duì)常見算法和數(shù)據(jù)結(jié)構(gòu)有比較好的了解!
在這個(gè)題目杯具了之后,就問cookie和session的區(qū)別……這個(gè)我知道,回答了,不過聽起來人家對(duì)我的回答并不是很滿意,中間打斷過一次。
然后問我會(huì)不會(huì)ajax,這個(gè)算是前端技術(shù),但是我用的很少,我就照實(shí)說了,說我用不多,只知道是異步刷新,后邊又問說知道javascript的一個(gè)什么東東來著,沒聽說過,就說不知道,這個(gè)記得,一定要誠實(shí),不然撒謊的話,最后吃虧的一定是自己!
又問我用的哪個(gè)javascript的庫,我說jquery,然后就沒有下文了~~~在這兒的時(shí)候,我差不多在心里確定了,這哥們是做后端的。!我那個(gè)囧啊,今天看來出師不利!后端和前端雖然說都是做網(wǎng)站的,但是相差還是太大!在一起就沒什么好聊的。
下來就問我項(xiàng)目經(jīng)驗(yàn)了,說看簡歷我做過很多項(xiàng)目,感覺最成功的項(xiàng)目是什么(看過很多面經(jīng),貌似百度都會(huì)問到這個(gè)問題), 我說有三個(gè),然后開始說第一個(gè),第一個(gè)是原來和同學(xué)做過的一個(gè)web方面的分析工具,叫bingker網(wǎng)絡(luò)安全工具包,然后他就問我說里面有個(gè)殺毒模塊算法是怎么實(shí)現(xiàn)的?暈掉,這個(gè)太囧了,當(dāng)時(shí)算法的確是我們一起討論的,但是代碼實(shí)現(xiàn)我沒有參與,我就給解釋說這個(gè)算法是用特征碼對(duì)比技術(shù)實(shí)現(xiàn)的,不過聽起來他似乎也不是很熟悉這個(gè),我說了半天,他只是嗯,也沒有反駁沒有去打斷,這個(gè)算是過去了~~~
下來就問說做過的網(wǎng)站里有沒有沒有用非開源程序?qū)崿F(xiàn)的,我了個(gè)去,現(xiàn)在貌似大公司都是用的開源程序啊,雖然我們改動(dòng)了很多,但是這么一問,只能說沒有了。
然后呢,就沒有然后了,前端方面的東西就都沒有問,他說你還有什么問題嗎?我問他說,那你們對(duì)GUI和用戶體驗(yàn)都是怎么做的呢?他說,這個(gè)公司專門有個(gè)部門來搞,他們不管的。言外之意,你去了,也就是堆砌代碼,有想法?一邊寫代碼去。所以我前面說的,看了那么多設(shè)計(jì)方面的還有重構(gòu)之類的書,都似乎是白看了,或許你去了有想法也不會(huì)被實(shí)現(xiàn)。恩,這個(gè)想下也是正常,公司注重的是商業(yè),并不是你的這個(gè)想法是不是夠新穎吧!所以大家看人家的要求的時(shí)候,就好好關(guān)注下前面提到的各種技術(shù),比如js、css、sql、數(shù)據(jù)結(jié)構(gòu)之類的,后面說有啥創(chuàng)新精神啊之類的全部忽略好了~~~暫時(shí)是這個(gè)看法,不知道別的公司怎么樣了~~~
再后來就沒后來了,也沒有電話沒有任何通知,當(dāng)時(shí)有一個(gè)和我一起面試的同學(xué),他當(dāng)天就接到電話通知二面了,據(jù)說面試他的是一個(gè)搞前端的,丫,起碼有的聊。
總的來說還是哥太水了…………囧,好好學(xué)習(xí)技術(shù)吧,以后好好堆砌代碼才是王道!
總結(jié)起來,這樣的大公司分工太明確,如果想著去學(xué)習(xí)各個(gè)方面的同學(xué),要好好想清楚了!
面試前的準(zhǔn)備
必須有牢固的基礎(chǔ)知識(shí),足夠豐富的項(xiàng)目經(jīng)歷(就我而言差不多是三個(gè)完整項(xiàng)目經(jīng)歷,時(shí)間累計(jì)差不多接近一年)。
至少這上面的面試題你能全答出來,說得足夠清楚!
面試有幾點(diǎn)需注意:
面試題目: 根據(jù)你的等級(jí)和職位的變化,入門級(jí)到專家級(jí),廣度和深度都會(huì)有所增加。
題目類型:理論知識(shí)、算法、項(xiàng)目細(xì)節(jié)、技術(shù)視野、開放性題、工作案例。
細(xì)節(jié)追問: 可以確保問到你開始不懂或面試官開始不懂為止,這樣可以大大延展題目的區(qū)分度和深度,知道你的實(shí)際能力。因?yàn)檫@種知識(shí)關(guān)聯(lián)是長時(shí)期的學(xué)習(xí),臨時(shí)抱佛腳絕對(duì)是記不住的。
回答問題再棒,面試官(可能是你面試職位的直接領(lǐng)導(dǎo)),會(huì)考慮我要不要這個(gè)人做我的同事?所以態(tài)度很重要、除了能做事,還要會(huì)做人。)
資深的前端開發(fā)能把a(bǔ)bsolute和relative弄混,這樣的人不要也罷,因?yàn)閳F(tuán)隊(duì)需要的是:你這個(gè)人具有可以依靠的才能。
前端開發(fā)所需掌握知識(shí)點(diǎn)概要:
HTML&CSS:
對(duì)Web標(biāo)準(zhǔn)的理解(結(jié)構(gòu)、表現(xiàn)、行為)、瀏覽器內(nèi)核、渲染原理、依賴管理、兼容性、CSS語法、層次關(guān)系,常用屬性、布局、選擇器、權(quán)重、盒模型、Hack、CSS預(yù)處理器、
CSS3、Flexbox、CSS Modules、Document flow、BFC、HTML5(離線 & 存儲(chǔ)、Histoy,多媒體、WebGLSVGCanvas);
JavaScript:
數(shù)據(jù)類型、運(yùn)算、對(duì)象、Function、繼承、閉包、作用域、事件、Prototype、RegExp、JSON、Ajax、DOM、BOM、
內(nèi)存泄漏、跨域、異步請(qǐng)求、模板引擎、模塊化、Flux、同構(gòu)、算法、ECMAScript6、Nodejs、HTTP、
其他:
主流MVVM框架(ReactVueAngular)、Hybrid AppReact NativeWeex、TypeScript、RESTFul、WEB安全、前端工程化、依賴管理、性能優(yōu)化、
重構(gòu)、團(tuán)隊(duì)協(xié)作、可維護(hù)、易用性、SEO、UED、前端技術(shù)選型、快速學(xué)習(xí)能力等;
作為一名前端工程師,無論工作年頭長短都應(yīng)該掌握的知識(shí)點(diǎn):
1、DOM結(jié)構(gòu) —— 兩個(gè)節(jié)點(diǎn)之間可能存在哪些關(guān)系以及如何在節(jié)點(diǎn)之間任意移動(dòng)。
2、DOM操作 ——如何添加、移除、移動(dòng)、復(fù)制、創(chuàng)建和查找節(jié)點(diǎn)等。
3、事件 —— 如何使用事件,以及IE和標(biāo)準(zhǔn)DOM事件模型之間存在的差別。
4、XMLHttpRequest —— 這是什么、怎樣完整地執(zhí)行一次GET請(qǐng)求、怎樣檢測錯(cuò)誤。
5、嚴(yán)格模式與混雜模式 —— 如何觸發(fā)這兩種模式,區(qū)分它們有何意義。
6、盒模型 —— 外邊距、內(nèi)邊距和邊框之間的關(guān)系,及IE8以下版本的瀏覽器中的盒模型
7、塊級(jí)元素與行內(nèi)元素 —— 怎么用CSS控制它們、以及如何合理的使用它們
8、浮動(dòng)元素 ——怎么使用它們、它們有什么問題以及怎么解決這些問題。
9、HTML與XHTML ——二者有什么區(qū)別,你覺得應(yīng)該使用哪一個(gè)并說出理由。
10、JSON —— 作用、用途、設(shè)計(jì)結(jié)構(gòu)。
面試流程:
自我介紹(用最簡單的語言表明自己最大的優(yōu)勢)
HTML基礎(chǔ)
CSS基礎(chǔ)
JS基礎(chǔ)
你有什么想問的?
就我自己面試經(jīng)歷來看,各大公司都特別重視原生JS。同時(shí)一面中基本不會(huì)涉及到框架的問題。
二面問的問題就很深入了,會(huì)針對(duì)你的項(xiàng)目進(jìn)行深入剖析,對(duì)你簡歷上的技術(shù)進(jìn)行深入追問,看你是否具有真才實(shí)干。
【百度實(shí)習(xí)生web前端開發(fā)工程師的面試經(jīng)歷】相關(guān)文章:
web前端實(shí)訓(xùn)總結(jié)(通用6篇)05-24
web前端的自我介紹(通用9篇)03-04
web前端學(xué)習(xí)心得體會(huì)范文04-18
web前端設(shè)計(jì)師的主要職責(zé)說明(通用20篇)11-02
Web數(shù)據(jù)挖掘技術(shù)探析論文04-07
web實(shí)訓(xùn)總結(jié)(精選7篇)04-15