百度前端面試經歷

今天面了百度的前端實習職位。一面。時間大概是50分鐘。面試官是位很帥氣的小夥子,很是友好的一我的。進門的時候他讓我等一會,我瞄了一眼他的電腦屏幕,發現他在coding……javascript

9點50開始的面試。php

面試官:自我介紹一下。前端

我:blablabla。java

面試官:javascript的類型轉換(好比"2"*1, "a"*1)。web

我:javascript會調用valueOf來轉換爲一個基本數據類型,在這種狀況下,若是javascript不能經過valueOf轉成一個number,會嘗試調用toString,而後再轉。實在沒法轉就只能NaN了。面試

面試官:說說類的建立、繼承和閉包。spring

我:new一個Function,繼承經過prototype。超類和子類能夠經過子類的prototype=new 超類(),而後把prototype的constructor指回子類。閉包是一個變量做用域的問題(這裏我也不是特別清楚,隨便說了些)。sql

面試官:說說get和post請求的區別。數據庫

我:1.參數形式不一樣;2.發送數據大小限制不一樣;3.在後臺轉碼時不一樣,post能夠簡單地修改編碼方式來避免亂碼,get不能夠。後端

面試官:Get請求最大能多大。

我:幾K吧,2K?

面試官:你猜的?

我:。。。嗯。

面試官:說說事件綁定。

我:W3C是addEventListener,IE是attachEvent。

面試官:這兩種事件綁定有什麼不一樣。

我:。。。。(真心不知道有什麼不一樣,亂說一氣,難道是綁定事件執行的前後順序不一樣?)。

面試官:這兩種綁定仍是有很大差異的。

我:。。。。是的是的,以前沒有了解過。

面試官:說說事件冒泡的機制。

我:blablabla。

面試官:若是上層元素想知道究竟是從哪一個元素起的泡,怎麼搞?

我:Event的target屬性吧。

面試官:不是,再想一想。

我:真心不會。。。(面試官也沒告訴我答案,整個面試過程當中感受這位面試官側重於指引你本身去找尋答案,不會告訴你答案的)

面試官:作一個圖片輪播的腳本。

我:blablabla(總之就是經過父元素設置overflow爲hidden,position爲relative,而後幾個圖片列表修改他的left值。由於以前我寫過一個,因此我還說道瞭如何實現動畫序列,好比點擊一次向左,一次向右,再來一次向左,動畫會依次執行。)

面試官:圖片加載比較慢,你這個輪播組件怎麼解決。

我:new一個Image對象,而後註冊onload事件和src屬性,都onload完畢了再顯示,此前顯示一個佔位符。

面試官:若是圖片不少,有兩萬個,怎麼辦。

我:按需加載,用多少加載多少(而後講了個人實現思路)。

面試官:可是用戶瀏覽了不少張圖片會愈來愈卡。

我:把以前看過的圖片從dom裏刪掉,來釋放內存,可是要是用戶回頭又看以前看過的就比較麻煩了,不曉得這個圖片該往哪裏插入了。

面試官:是的,這道題我不告訴你正確答案,你能夠好好想一想(面試結束後面試官讓我看了百度圖片搜索的例子)。

我:好的。

面試官:你後臺用哪一個語言最多?

我:java。

面試官:Why java?

我:好用。並且我發現其實大運算時跟C++的效率也差很少。

面試官:仍是要比C低一些的。

我:嗯。

面試官:用java寫網站仍是客戶端?

我:網站。

面試官:用框架嗎?

我:看需求,需求簡單就用servlet能夠了。

面試官:說說servlet的生命週期。

我:blablabla。

面試官:前臺怎麼寫。

我:。。。JSP<%%>不就好了。

面試官:我知道。我問還有其餘方案嗎?

我:咱們如今用模板引擎,好比velocity。

面試官:講講velocity怎麼寫。

我:blablabla。

面試官:和JSP比,優點如何?

我:速度快,寫起來簡單,並且好看。

面試官:應該不會比JSP快啊。

我:(這個問題咱們爭論了很久,面試官是沒有用過velocity的)。

面試官:velocity能夠自定義標籤嗎?

我:能夠自定義指令,每一個指令其實對應的就是一個java類。自定義指令要繼承Directive類。

(而後問了些MVC,此處不表)

面試官:(由於我說道這一年過來都在寫後端,針對spring作了一層淺封裝)說說你的封裝裏DAO怎麼實現的。

我:泛型+模板設計模式。緩存是裝飾器模式搞得,裝飾的是不帶緩存的類。

面試官:那表的結構已經事先定好了嗎?

我:對的,經過反射獲取類屬性,而後轉換爲sql,好比loginTime轉成login_time,類名UserData轉成user_data。這個要事先商量好才能夠。不遵照約定就無法搞了。

面試官:緩存用什麼實現的。

我:Ehcache。

面試官:和memcache差很少嗎?

我:沒錯。

面試官:更新策略是什麼。

我:LRU。而後get作緩存,update和delete都直接刪除對象。

面試官:用什麼作key?

我:id。

面試官:說說緩存怎麼避免併發下髒讀等不一致問題。

我:個人類都是單例的(我傻逼了,單例和併發有關係嗎?面試官後來也糾正了我這個錯誤)。讀是沒有問題的,寫的話我沒有作處理,感受ehcache本身內部作了處理吧,好比代碼同步,或者用concurrenct包下的類。

面試官:。。。。(這道題我沒明白他要問什麼,他也沒明白我在說什麼。。。好混亂)不糾結這個問題了。數據庫鏈接池怎麼實現的。

我:直接用的DBCP。

面試官:我那時都是本身寫的。

我:。。。(心中默唸:牛逼)。

面試官:好的,有什麼問題想問個人。

我:百度是彈性工做制嗎?Web前端部門能夠接觸到其餘技術嗎?

面試官:彈性工做制,咱們通常都是十點鐘來上班(笑)。Web前端部門以寫JS爲主,會接觸到Controller的編寫,不過咱們是用php的。也會接觸到服務器的配置和web工程的部署。不過大部分時間都在寫JS上。

而後咱們就互道Goodbye了。

個人處女面,就這樣獻出去了。

文章來源:fantasticinblur.iteye.com

相關文章
相關標籤/搜索