【轉】 關于Web前端開發(fā),附:(百度web前端筆試面試題目)
當前位置:點晴教程→知識管理交流
→『 技術文檔交流 』
隨著各大互聯網公司設立了web前端開發(fā)工程師、設計工程師等職位,web前端越來越得到互聯網企業(yè)的認可。而且其重視程度與地位也隨著瀏覽器 端的富客戶端的體現而日益提高。 眼前對html5的未來和走向,業(yè)內的預測是會和flash、silverlight等相結合,從而取代傳統(tǒng)的客戶端應用程序。而實現這個目標的客戶端核 心工作是有web前端工程師來完成的。 從另一個角度,對于web產品來說,交互和用戶體驗是產品的第一價值,這部分價值的體現就是在web前端。可以說web前端是一個web產品的長相和談 吐、行為。 下面就簡單的說明一下web前端的組成部分。 1. ui設計部分 這是web產品化的第一步。這個部分通常在稍大型的公司里,被單獨設立為一個部門或者一些人來工作。主要是要掌握photo, ai,可以很快的將創(chuàng)意轉化為平面設計圖,并制作png等小圖片。 同時,ui設計還要預包含用戶交互設計的元素,如何和用戶交互的基本原型等。 2. html/css,頁面靜態(tài)化 這是web產品化的2步,就是將ui設計師的設計圖切成靜態(tài)頁面。這里的“切”不是單純的切,而是使用css里面背景色和邊框樣式等方式對設計原稿 進行解讀,并形成符合web標準的html代碼。這里web前端還需要將圖片、html頁面以及css樣式進行合理的文件分布安排等 3.javascript, as 客戶端動態(tài)化 這是web產品化的3步,工程師使用dom操作、ajax,實現數據和服務端的通信以及本地樣式的切換。同時,由于javascript、 as是一門動態(tài)語言,所以這部分的編碼要求web前端工程師有較好的編碼習慣,能寫高效率的oop代碼,并對代碼進行壓縮上線以降低帶寬消耗等。 4.flash、silverlight、video 多媒體化 這部分針對不同web產品有不同的要求,通常要求是可以使用flash和web、server進行交互,并對flash進行設計與開發(fā)。 5.php、java等cgi, 服務端通信基本知識和編碼 這部分主要是更好的使用ajax等技術,了解服務端的工作方式將更有利于web前端工程師工作的開展。通常優(yōu)秀的web前端工程師都是對服務端的一 種開發(fā)語言很了解。 下面是webryan整理的百度web前端筆試和面試的一些題目和過程,提供給大家借鑒。 百度web前端筆試試卷上的題目: 1.判斷字符串是否是這樣組成的,第一個必須是字母,后面可以是字母、數字、下劃線,總長度為5-20 又重新問的是1,4,6,7,這次問出題者的意圖,并且讓給出7的更多答案,以及ie ff不兼容的原因 然后看了看簡歷,沒有問簡歷上的項目,而是讓自己隨便談談 1對于web客戶端技術未來趨勢發(fā)展談談看法 javascript + ajax=ria adobe flash as 3 flex sliveright 2web開發(fā)團隊人員應該如何分工協(xié)作 布局 css 腳本 比如腳本人員長期的積累可能鑄造類型yui這樣的產品級腳本庫(亮點) 3web開發(fā)曾經的團隊有沒有別人遇到問題,什么問題,向你請教 4如果要實習,什么時候可以 5自己在開發(fā)的過程中遇到什么問題,談談看法 6web開發(fā)腳本開發(fā)環(huán)境用什么、調試用什么 試過aptana,現在就用editplus 調試肯定用firebug,ie下看頁面dom用ieinspector 7如果有個新技術,現在需要掌握,你會怎么做 新技術的發(fā)現我一般是通過rss工具,比如我用googlereader 每天有半個小時左右在看最新的資訊、技術走向 發(fā)現新技術,首先有個大概了解,如果有深入的必要 我一般會看他的官網,比如jquery,我會搜索到jquery.com,然后看docs、samples 如果要用到項目中,有困難的問題,我會svn得到最新的這個技術的源碼,深入跟蹤進去,看實現原理 一般現在涌現的技術都是opensource 提問時間 百度電話二面回憶 web開發(fā)部–web開發(fā)工程師 首先是自我介紹 前端開發(fā)的優(yōu)化問題 web前端產品的開發(fā)流程 規(guī)避javascript多人開發(fā)函數重名問題 答:首先是通過命名規(guī)范,比如根據不同的開發(fā)人員實現的功能,在函數名加前綴,雖然函數名看起來復雜,發(fā)布的時候還是可以替換,從而優(yōu)化。 還有一種辦法是,每個開發(fā)人員都把自己的函數封裝到類中,然后調用的時候即使函數名相同,但是因為是要類.函數名來調用,所以也減少了重復的可能性。 javascript面向對象中繼承實現 答:我是用prototype.js extend.js擴展 然后子類中parent.initialize()… 答的不好 正確答案: // 1. 構造器 prototype.js實現的基本原理 prototye太大,如果一個頁面功能不需要這樣的,自己實現,怎么做 答:首先頁面、css、腳本分離之后,腳本中將整個模塊功能寫成一個類var do={} 其中初始化函數init:function(){},然后最后做do.init() 其中init會對頁面上form中需要交互的元素綁定事件,比如$(’input1′).onclick=function(){} ie、ff下面腳本的區(qū)別 ff下面實現outerhtml ie、ff下面css的解釋區(qū)別 ie會認為第一個z-index=0 ie都能識別*,標準瀏覽器(如ff)不能識別*; ie6能識別*,但不能識別 !important; ie7能識別*,也能識別 !important; ff不能識別*,但能識別 !important; 例如style=”*width:10px;!important width:20px;” 這樣在ie6下寬度為10px,在ie7下寬度時20px web前端技術的展望 答:javascript ajax;flash as;flex;sliveright 附上網上的百度web開發(fā)工程師筆試問題集 1編寫一個方法 求一個字符串的字節(jié)長度 2編寫一個方法 去掉一個數組的重復元素 3說出3條以上ff和ie的腳本兼容問題 string.prototype.trim = function(mode) 5算出字符串中出現次數最多的字符是什么,出現了多少次 6寫出3中使用this的典型應用 7.最后一個問題是,如何制作一個combo選項,就是可以輸入可以下拉菜單選擇。 這個網上有很多成品,主要是通過絕對定位和相對定位結合的方式,改造原有的select 標簽和input標簽的方法。 附上javascript正則表達式的基本知識: g: 全局匹配 i: 忽略大小寫 ^ 匹配一個輸入或一行的開頭,/^a/匹配”an a”,而不匹配”an a” $ 匹配一個輸入或一行的結尾,/a$/匹配”an a”,而不匹配”an a” * 匹配前面元字符0次或多次,/ba*/將匹配b,ba,baa,baaa + 匹配前面元字符1次或多次,/ba*/將匹配ba,baa,baaa ? 匹配前面元字符0次或1次,/ba*/將匹配b,ba (x) 匹配x保存x在名為$1…$9的變量中 x|y 匹配x或y {n} 精確匹配n次 {n,} 匹配n次以上 {n,m} 匹配n-m次 [xyz] 字符集(character set),匹配這個集合中的任一一個字符(或元字符) [^xyz] 不匹配這個集合中的任何一個字符 匹配一個退格符 b 匹配一個單詞的邊界 b 匹配一個單詞的非邊界 cx 這兒,x是一個控制符,/cm/匹配ctrl-m d 匹配一個字數字符,/d/ = /[0-9]/ d 匹配一個非字數字符,/d/ = /[^0-9]/ n 匹配一個換行符 r 匹配一個回車符 s 匹配一個空白字符,包括n,r,f,t,v等 s 匹配一個非空白字符,等于/[^nfrtv]/ t 匹配一個制表符 v 匹配一個重直制表符 w 匹配一個可以組成單詞的字符(alphanumeric,這是我的意譯,含數字),包括下劃線,如[w]匹配”$5.98″中的5,等于[a-za- z0-9] w 匹配一個不可以組成單詞的字符,如[w]匹配”$5.98″中的$,等于[^a-za-z0-9 舉例:驗證email var myreg = /^[_a-z0-9]+@([_a-z0-9]+.)+[a-z0-9]{2,3}$/; if(myreg.test(stremail)) return true; 該文章在 2010/7/4 0:32:58 編輯過 |
關鍵字查詢
相關文章
正在查詢... |