亚洲一区爱区精品无码_无码熟妇人妻AV_日本免费一区二区三区最新_国产AV寂寞骚妇

web前端面試題

時間:2023-04-30 12:55:22 試題

  下面是范文網(wǎng)會員“vb675”收集的web前端面試題(共3篇),以供借鑒。

web前端面試題

web前端工程師面試自我介紹web前端工程師面試自我介紹怎么說 篇1

  我喜歡籃球和乒乓球,曾擔任大學?;@球隊隊員。在籃球隊中深刻體會到在大家共同努力下?lián)魯κ值某删透?

  對于計算機有著狂熱的喜愛,雖掌握軟件眾多,但對編程情有獨鐘!在每一次解決了問題后都有一種成就感!我喜歡這種感覺,讓我能沉迷于我的代碼的世界中!

  愛好程序設計,喜歡開發(fā)自已的小型產(chǎn)品,追求技術上的滿足感;穩(wěn)固的架構,健壯的代碼,團結的合作,是我的不懈追求。

  有良好的編程習慣,以及程序錯誤控制和解決能力,我愛程序員這個崗位,當每天敲著代碼,聽著音樂,是很快樂的

  用心工作,用心生活!我可能不是最好的,最合適的,我覺得我是最有潛力的!20xx,一起加油!

web前端崗位職責 篇2

  web前端開發(fā)崗位職責

  1、前端開發(fā)工程師崗位職責

  1、根據(jù)工作安排高效、高質(zhì)地完成代碼編寫,確保符合規(guī)范的前端代碼規(guī)范;

  2、負責公司現(xiàn)有項目和新項目的前端修改調(diào)試和開發(fā)工作;

  3、與設計團隊緊密配合,能夠?qū)崿F(xiàn)實現(xiàn)設計師的設計想法;

  4、與后端開發(fā)團隊緊密配合,確保代碼有效對接,優(yōu)化網(wǎng)站前端性能;

  5、頁面通過標準校驗,兼容各主流瀏覽器。

  2、WEB前端開發(fā)工程師的崗位職責

  崗位職責:

  1、協(xié)助系統(tǒng)架構設計師進行系統(tǒng)架構設計工作;

  2、承擔WEB前端核心模塊的設計、實現(xiàn)工作;

  3、承擔主要開發(fā)工作,對代碼質(zhì)量及進度負責;

  4、參與進行關鍵技術驗證以及技術選型工作;

  5、和產(chǎn)品經(jīng)理溝通并確定產(chǎn)品開發(fā)需求。

  3、web前端開發(fā)的崗位職責

  在以前可能大部分的人都沒有聽過什么web前端,最多的就是網(wǎng)頁設計或者語言開發(fā)。現(xiàn)在幾乎所有的網(wǎng)絡公司都有web前端的職位,甚至沒有web前端都不好意思說自己是網(wǎng)絡技術公司。那么現(xiàn)在學習web前端火不火呢?Web前端在公司主要是做什么呢?

  先說說前端技術和后端技術的區(qū)別:用互聯(lián)網(wǎng)來做比喻,凡是通過瀏覽器到用戶端計算機的統(tǒng)稱為前端技術.相反存貯于服務器端的統(tǒng)稱為后端技術。前端技術包括JavaScript、ActionScript、CSS、xHTML等“傳統(tǒng)”技術與Adobe AIR、Google Gears,以及概念性較強的交互式設計,藝術性較強的視覺設計等等.前端開發(fā)工程師(或者說“網(wǎng)頁制作”、“網(wǎng)頁制作工程師”、“前端制作工程師”、“網(wǎng)站重構工程師”),這樣的一個職位的主要職責是與交互設計師、視覺設計師協(xié)作,根據(jù)設計圖用HTML和CSS完成頁面制作。同時,在此基礎之上,對完成的頁面進行維護和對網(wǎng)站前端性能做相應的優(yōu)化。另外,一名合格的前端開發(fā)工程師,應該具有一定的審美能力和基礎的美工操作能力,能很好的與交互及視覺協(xié)作。

  以上可以看出,要成為一名合格的前端開發(fā)人員,需要掌握的技術是非常多的,web前端的崗位也是非常具有挑戰(zhàn)性的,因此想要加入web前端的人員,選擇專業(yè)的學習機構是很必要的,筆者知道的北京八維教育有web前端課程。

  4、web開發(fā)崗位職責

  1.負責網(wǎng)站前后臺的修改和升級,根據(jù)網(wǎng)站業(yè)務需要開發(fā),制作和程序修改。

  2.參與制定網(wǎng)站研發(fā)方案以及,升級方案。

  3.參與網(wǎng)站研發(fā),按照要求按時按質(zhì)按量的完成網(wǎng)站編程開發(fā)技術工作。

  4.負責網(wǎng)站上線前的測試。

  5.負責對網(wǎng)站軟硬件設施進行安全和穩(wěn)定性巡檢;并負責統(tǒng)計和監(jiān)視系統(tǒng)日志。

  6.協(xié)助公司各部門,滿足和協(xié)調(diào)公司各相關部門提出的網(wǎng)站技術需求。

  7.負責網(wǎng)站日常運行的技術維護工作,對出現(xiàn)的問題積極有效的進行處理。

web前端自我介紹 篇3

  Web前端開發(fā)Tip 理論篇

  WEB標準

  WEB標準不是某一個標準,而是一系列標準的集合。網(wǎng)頁主要由三部分組成:結構(Structure)、表現(xiàn)(Presentation)和行為(Behavior)。對應的標準也分三方面:結構化標準語言主要包括XHTML和XML,表現(xiàn)標準語言主要包括CSS,行為標準主要包括對象模型(如W3C DOM)、ECMAScript等。這些標準大部分由W3C起草和發(fā)布,也有一些是其他標準組織制訂的標準,比如ECMA(European computer Manufacturers Aociation)的ECMAScript標準。

  結構標準語言 XML XML是The Extensible Markup Language(可擴展標識語言)的簡寫。目前推薦遵循的是W3C于2000年10月6日發(fā)布的,參考(知識就已經(jīng)足夠了?

  自從99年以后,網(wǎng)頁制作技術在國內(nèi)就沒有怎么進步和變革過(除了flash的興起),而在國外前進的腳步就一直沒有停止過,、、xml、xsl...,W3C和各大軟件公司都在不斷的研究和推進web技術,使它更方便、更有效、更強大。web標準的應用和推廣國外已經(jīng)開展了八年多(以zeldman的web標準組織網(wǎng)站為起點),雖然困難重重,但正在逐步被人們接受和認可。為什么我們依然陶醉在網(wǎng)站表面的“繁華”上,不去思考頁面背后本質(zhì)的東西。比較和在面向?qū)ο蠓矫娴漠愅?1.定義

  ActionScript :實際上是的升級版,首次將OOP(Object Oriented Programming,面向?qū)ο蟮某绦蛟O計)引入Flash,但并不是完全面向?qū)ο蟮恼Z言,只是在編譯過程中支持OOP語法。

  ActionScript :是一個完全基本OOP的標準化面向?qū)ο笳Z言,最重要的就是不是的簡單升級,而完全是兩種思想的語言。可以說,全面采用了面向?qū)ο蟮乃枷?,而則仍然停留在面向過程階段,舉個例子,就像VB和C#的感覺。在里,可以看到java和c#的影子,確實,這三種語言大部分思想都是一致的,只有一些小的區(qū)別,比如引入了命名空間的概念,但是不支持比如委托,在包封裝及外部訪問上也引入了一些新概念。

  2.發(fā)展過程

  一、ActionScript 最簡單、最靈活、比較容易理解。既可以用原始的方式一個個地創(chuàng)建影片、設置對象的事件處理函數(shù),等等。

  早期的flash 3中的ActionScript 語法冗長,主要的應用是圍繞著幀的導航和鼠標的交互.這種狀況一直保持到flash 5。到flash 5版本時ActionScript已經(jīng)很象JavaScript了。它提供了很強的功能和為變量的傳輸提供了點語法。ActionScript同時也變成了一種prototyped(原型)語言,允許類似于在javscript中的簡單的oop功能。這些在隨后的flash mx(6)版本中得到的增強。

  二、ActionScript 則相對比較規(guī)范,是的升級版。首次將OOP引入FLASH。

  Flash MX2004(7)引入了ActionScript ,它帶來了兩大改進:變量的類型檢測和新的cla類語法。ActionScript 的變量類型會在編譯時執(zhí)行強制類型檢測。它意味著當你在發(fā)布或是編譯你的影片時任何指定了類型的變量都會從眾多的代碼中剝離出來,檢查是否與你現(xiàn)有的代碼存在矛盾沖突。如果在編譯過程中沒有發(fā)現(xiàn)沖突,那么你的swf將會被創(chuàng)建,沒有任何不可理解變量類型的代碼將會運行。盡管這個功能對于flash player的回放來說沒有什么好處,但對于flash創(chuàng)作人員來它是一個非常的好工具,可以幫助調(diào)試更大更復雜的程序。

  在ActionScript 中的新的cla類語法用來在ActionSctipt 中定義類。它類似于Java語言中的定義。盡管Flash仍不能超越它自身的原型來提供真正的cla類,但新的語法提供了一種非常熟悉的風格來幫助用戶從其它語言上遷移過來,提供了更多的方法來組織分離出來As文件和包。

三、ActionScript 更加系統(tǒng)、規(guī)范。完全OOP。

  接下來我們進入到flash CS3(9;在flash8中沒有發(fā)生多大的變化)ActionScript 3.這里我們不光有一個帶有新的版本號的ActionScirpt 語言,還有一個全新的虛擬機即—Flash Player在回放時執(zhí)行ActionScript的底層軟件。ActionScript 和ActionScript 都使用是AVM1(ActionScript 虛擬機1),因此它們在需要回放時本質(zhì)上是一樣的,記得我們在ActionScript2上說過它增加了強制變量類型和新的類語法,它實際上在最終編譯時變成了ActionScript 1,而ActionScript 運行在AVM2上,一種新的專門針對ActionScirpt 3代碼的虛擬機。基于上面的原因,ActionScript 影片不能直接與ActionScript 1和ActionScript 2影片直接通訊(ActionScript 1和ActionScript 2的影片可以直接通訊,因為他們使用的是相同的虛擬機;如果要ActionScirpt 3影片與ActionScirpt 和ActionScript 的影片通訊,只能通過local connection),但是你會發(fā)現(xiàn)ActionScript 的改變更深遠更有意義。

   與的本質(zhì)區(qū)別

  一、虛擬機

  在編譯階段,as2采用的是AVM1(actionScript vitual machine),而as3采用的是AVM2。新一代虛擬機采用了OOP思想,在執(zhí)行速度上比起avm1也快了10倍。還提供了異常處理。以前我們在使用AS2時,一旦出錯,AVM1選擇的是靜默失敗,讓人根本不知道什么地方出錯了,會浪費大量的時間去查錯,而AVM2與目前主流的編譯器一樣,會有異常處理,運行出錯會輸出錯誤提示,工作效率大大提高。如果做個對比,我想說,AVM1就是大刀長矛,而AVM2就是手槍,大刀和長矛也能殺敵,但是只在面對弱智的敵人才能發(fā)揮作用,面對一個大型項目,不用點現(xiàn)代化工具是不行滴。

  二、事件機制

  這也是很多人拿起as3就不知所措的原因,初學者會發(fā)現(xiàn)連一個按鈕點擊的方法都寫不出來。實際上as3的事件機制采用的是監(jiān)聽的方式,和as2的onClipEvent不同,as3里所有的事件都是需要觸發(fā)器,監(jiān)聽器,執(zhí)行器三種結構的,這樣做的好處就是使得這個語言非常的堅強,非常大標準化。不像as2,奇形怪狀的代碼漫天飛,可以這樣寫,也可以那樣寫,代碼變得繁復難懂,可讀性太差,執(zhí)行效率也大大降低。要特別說明的是,as3的所有事件都直接繼承event對象,而event是直接繼承自BOSS類object,結構多么完美。所以在as3中,所有的事件都繼承自相同的父親,結構相同,提高了重用性。

  三、封裝性

  這是as3與as2最大的不同,as3引入了封裝的概念,使得程序安全性大大提高,各個對象之間的關系也通過封裝,訪問控制而得以確定,避免了不可靠的訪問給程序帶來的意外產(chǎn)生。

  四、XML 我覺得這是最令人激動人心的改變,現(xiàn)在as3程序員可以很輕松也很自豪的說,我們是使用XML人群中最快樂的人。AS2時代對XML的存取仍然需要解析,而AS3則創(chuàng)新的將XML也視作一個對象,存取XML就像存取普通對象的屬性一樣方便,用點語法就可以,無疑大大提高了效率。

  五、容器的概念

  采用了容器的思想,告別了一個MovieClip打天下的局面。對于as2程序員來說,可能不能理解,我mc用的好好的,干嘛不讓我用啊。但是當你真正的了解的思想的時候,當你真主的體會到OOP的好處的時候,你會覺得的容器的思想的完全正確的。時代,我們做什么都用mc,而時代的mc也是直接繼承自object,這給了mc極大的權限,極其多大方法屬性,而有時我們只需要放一個背景圖,這樣做就造成了極大的浪費。說實在話和比起來就是浪費之神,所以編出的swf絕對比編譯出來的swf要大上幾倍。把所有你用到的顯示對象都分開,mc的屬性方法都被瓜分開來,舉個例子,你去水果超市買水果,就肯定比直接去大型超市買要方便,更節(jié)約時間,時間就是金錢,那就是很大的節(jié)省。

  4.新特性

  一、OOP方面的增強

  通過類定義而生成的實例,在 AS3 中是屬于 Sealed 類型,即其屬性和方法無法在運行時修改。這部分屬性在 AS2 中是通過類的 prototype 對象來存儲,而在 中則通過被稱為 Trait 的概念對象存儲管理,無法通過程序控制。這種處理方式一方面減少了通過 prototype 繼承鏈查找屬性方法所耗費的時間(所有父類的實現(xiàn)方法和屬性都會被直接復制到對應的子類的 Trait 中),另一方面也減少了內(nèi)存占用量,因為不用動態(tài)的給每一個實例創(chuàng)建 hashtable 來存儲變量。如果仍然希望使用 AS2 中類實例在運行時的動態(tài)特性,可以將類聲明為 dynamic。

  二、API方面的增強

  新增 Display API,使 AS3 可以控制包括 Shape, Image, TextField, Sprite, MovieClip, Video, SimpleButton, Loader在內(nèi)的大部分 DisplayList 渲染單位。這其中 Sprite 類可以簡單理解為沒有時間軸的 MovieClip,適合用來作為組件等不需要時間軸功能的子類的基礎。而新版的 MovieClip 也比 AS2 多了對于 Scene(場景)和 Label(楨標簽)的程序控制。另外,渲染單位的創(chuàng)建和銷毀通過聯(lián)合 new 操作符以及 addChild/removeChild 等方法實現(xiàn),類似 attachMovie 的舊方法已被舍棄,同時以后也無須去處理深度值。

  新增 DOM Event API,所有 在DisplayList 上的渲染單位都支持全新的三段式事件播放機制,以 Stage 為起點自上而下的播報事件到 target 對象(此過程稱為 Capture Phase),然后播報事件給 target 對象(此過程稱為 Target Phase),最后在自下而上的播報事件(此過程稱為 Bubbling Phase)。

  新增內(nèi)置的 Regular Expreions(正則表達式)支持,使 AS3 能夠高效地創(chuàng)建、比較和修改字符串,以及迅速地分析大量文本和數(shù)據(jù)以搜索、移除和替換文本模式。

  新增 ECMAScript for XML(E4X)支持。E4X 是 AS3 中內(nèi)置的 XML 處理語法。在 AS3 中 XML 成為內(nèi)置類型,而之前的 AS2 版本 XML 的處理 api 轉(zhuǎn)移到 *包中,以保持向下兼容。

  新增 Socket類,允許讀取和寫入二進制數(shù)據(jù),使通過 AS 來解析底層網(wǎng)絡協(xié)議(比如 POP3, SMTP, IMAP, NNTP 等)成為可能,使 Flash Player 可以連接郵件服務器和新聞組。

  新增 Proxy 類來替代在 AS2 中的 Object.resolve 功能。新增對于 Reflect(反射)的支持,相關方法在 * 包中。

  5.總結

  一、和的代碼不能混用,且不能和裝載的或的swf相互通信

  使用可以加載 或者 的swf。但是不可以訪問加載swf中變量和函數(shù)。為了方便理解,我們可以想成兩個虛擬機并行工作,但是不能通信。事實上,我猜實現(xiàn)機制可能就和這個差不多LocalConnection。

  使用或編寫的swf是不可以加載的。換句話說Flash 8&Flex 及之前所有工具生成的swf都不可以加載(load)AS swf的。

  如果想讓或的swf與 swf協(xié)同工作,那么&的文件必須進行移植。就是說轉(zhuǎn)成。

  單個的swf文件中是不能混合使用&(或者)的。不會像&那樣混用了,畢竟是&是兩個不相同的虛擬機。

  一句話總結,就是可以加載以前的所有版本的swf,但是只是簡單加載,不能訪問(或)的swf內(nèi)部變量&函數(shù),無法交互。

  二、所采用的編程方式

  As 所采用的編程方式是與java C++非常類似的面向?qū)ο缶幊谭绞?,不論在語法上還是在設計思路上。只要你有java C++基礎,那學 AS是非常輕松的。不過不能像java C++那樣操作底層數(shù)據(jù),如存儲數(shù)據(jù)等,必須通過后臺語言如php asp 等來實現(xiàn),而且運行大規(guī)模數(shù)據(jù)時會慢一些。as 以往是主要面向過程的編程方式,也就是說想到哪就可以寫到哪,但到之后就不行了,你必須把每一塊程序都寫到一個類中,讓類和類之間進行聯(lián)系。凡事都是類的理念。

  其實不同的事情有很多,但是也可以這么講,與是一樣的,只是語法不同了,編程思路不同了,但核心內(nèi)容不變,也就是說,如果你精通,那么,你離精通就不遠了。因為你在編程進對算法的掌握和思想都是相通了。

  三、到的轉(zhuǎn)換

  在AS2項目往AS3轉(zhuǎn)換/移植的過程中,不要想象這只是一個語法轉(zhuǎn)換的過程,實際上,你不得不考慮AS3以及其類庫中的一些新機制,所能帶來的性能以及程序結構良好性的提升。因此,可能很多東西,你得重新設計,特別是可視元素和事件相關的,也就是用戶交互方面的東西,我認為是必須得根據(jù)AS3的特點重新設計的,否則轉(zhuǎn)換是無價值的,甚至會得到更差的程序。一些純算法方面的代碼,可能不需要重新設計,直接替換一些語言層面的東西即可。還有FlashPlayer的速度提升使代碼執(zhí)行速度提升10倍左右,可視元素運行/渲染速度平均提升2倍左右,位圖渲染速度有比較明顯的提升。

  一些在AS2里面我們需要的東西,在AS3里面,我們不再需要了;一些用AS2做出來的東西,運行起來效率不夠理想,用AS3做出來,運行得更快了;一些AS2里面不可能做到的東西,在AS3里面,我們可以做了。CSS盒子 前言

  如果你想嘗試一下不用表格來排版網(wǎng)頁,而是用CSS來排版你的網(wǎng)頁,也就是常聽的用DIV來編排你的網(wǎng)頁結構,又或者說你想學習網(wǎng)頁標準設計,再或者說你的上司要你改變傳統(tǒng)的表格排版方式,提高企業(yè)競爭力,那么你一定要接觸到的一個知識點就是CSS的盒子模式,這就是DIV排版的核心所在,傳統(tǒng)的表格排版是通過大小不一的表格和表格嵌套來定位排版網(wǎng)頁內(nèi)容,改用CSS排版后,就是通過由CSS定義的大小不一的盒子和盒子嵌套來編排網(wǎng)頁。因為用這種方式排版的網(wǎng)頁代碼簡潔,更新方便,能兼容更多的瀏覽器,比如PDA設備也能正常瀏覽,所以放棄自己之前鐘愛的表格排版也是值得的,更重要的是CSS排版網(wǎng)頁的優(yōu)勢遠遠不只這些,本人在這里就不多說,自己可以去查找相關信息。

  理解CSS盒子模型

  什么是CSS的盒子模式呢?為什么叫它是盒子?先說說我們在網(wǎng)頁設計中常聽的屬性名:內(nèi)容(content)、填充(padding)、邊框(border)、邊界(margin),CSS盒子模式都具備這些屬性。

  這些屬性我們可以把它轉(zhuǎn)移到我們?nèi)粘I钪械暮凶樱ㄏ渥樱┥蟻砝斫?,日常生活中所見的盒子也具有這些屬性,所以叫它盒子模式。那么內(nèi)容就是盒子里裝的東西;而填充就是怕盒子里裝的東西(貴重的)損壞而添加的泡沫或者其它抗震的輔料;邊框就是盒子本身了;至于邊界則說明盒子擺放的時候的不能全部堆在一起,要留一定空隙保持通風,同時也為了方便取出嘛。在網(wǎng)頁設計上,內(nèi)容常指文字、圖片等元素,但是也可以是小盒子(DIV嵌套),與現(xiàn)實生活中盒子不同的是,現(xiàn)實生活中的東西一般不能大于盒子,否則盒子會被撐壞的,而CSS盒子具有彈性,里面的東西大過盒子本身最多把它撐大,但它不會損壞的。填充只有寬度屬性,可以理解為生活中盒子里的抗震輔料厚度,而邊框有大小和顏色之分,我們又可以理解為生活中所見盒子的厚度以及這個盒子是用什么顏色材料做成的,邊界就是該盒子與其它東西要保留多大距離。在現(xiàn)實生活中,假設我們在一個廣場上,把不同大小和顏色的盒子,以一定的間隙和順序擺放好,最后從廣場上空往下看,看到的圖形和結構就類似我們要做的網(wǎng)頁版面設計了,如下圖。

  現(xiàn)在對CSS盒子模式理解多少了,如果還不夠透徹,繼續(xù)往下看,我會在后面舉例,并延用盒子的概念來解釋它。

  轉(zhuǎn)變我們的思路

  傳統(tǒng)的前臺網(wǎng)頁設計是這樣進行的:根據(jù)要求,先考慮好主色調(diào),要用什么類型的圖片,用什么字體、顏色等等,然后再用Photoshop這類軟件自由的畫出來,最后再切成小圖,再不自由的通過設計HTML生成頁面,改用CSS排版后,我們要轉(zhuǎn)變這個思想,此時我們主要考慮的是頁面內(nèi)容的語義和結構,因為一個強CSS控制的網(wǎng)頁,等做好網(wǎng)頁后,你還可以輕松的調(diào)你想要的網(wǎng)頁風格,況且CSS排版的另外一個目的是讓代碼易讀,區(qū)塊分明,強化代碼重用,所以結構很重要。如果你想說我的網(wǎng)頁設計的很復雜,到后來能不能實現(xiàn)那樣的效果?我要告訴你的是,如果用CSS實現(xiàn)不了的效果,一般用表格也是很難實現(xiàn)的,因為CSS的控制能力實在是太強大了,順便說一點的是用CSS排版有一個很實用的好處是,如果你是接單做網(wǎng)站的,如果你用了CSS排版網(wǎng)頁,做到后來客戶有什么不滿意,特別是色調(diào)的話,那么改起來就相當容易,甚至你還可以定制幾種風格的CSS文件供客戶選擇,又或者寫一個程序?qū)崿F(xiàn)動態(tài)調(diào)用,讓網(wǎng)站具有動態(tài)改變風格的功能。

  實現(xiàn)結構與表現(xiàn)分離

  在真正開始布局實踐之前,再來認識一件事——結構和表現(xiàn)相分離,這也用CSS布局的特色所在,結構與表現(xiàn)分離后,代碼才簡潔,更新才方便,這不正是我們學習CSS的目的所在嗎?舉個例來說P是結構化標簽,有P標簽的地方表示這是一個段落區(qū)塊,margin是表現(xiàn)屬性,我要讓一個段落右縮進2字高,有些人會想到加空格,然后不斷地加空格,但現(xiàn)在可以給P標簽指定一個CSS樣式:P {text-indent: 2em;},這樣結果body內(nèi)容部分就如下,這沒有外加任何表現(xiàn)控制的標簽:

  加進思源社區(qū)有一段時間了,但一直沒有時間寫點東西,今天寫了一篇有關CSS布局的文章,并力求通過一種通俗的語言來說明知識點,還配以實例和圖片,相信對初學CSS布局的人會帶來一定的幫助。

  如果還要對這個段落加上字體、字號、背景、行距等修飾,直接把對應的CSS加進P樣式里就行了,不用像這樣來寫了:

  段落內(nèi)容

  這個是結構和表現(xiàn)混合一起寫的,如果很多段落有統(tǒng)一結構和表現(xiàn)的話,再這樣累加寫下去代碼就繁冗了。

  再直接列一段代碼加深理解結構和表現(xiàn)相分離:

  用CSS排版

  height:80;

  Width:100;

  margin:5px auto;}--> 第2篇:前端面試自我介紹

  面試官:自我介紹一下。

  我:介紹下自己的姓名,畢業(yè)學校,所學專業(yè)。興趣愛好,以及自己對自己面試的這個工作的看法想法。

  面試官:javascript的類型轉(zhuǎn)換(比如"2"*1, "a"*1)。

  我:javascript會調(diào)用valueOf來轉(zhuǎn)換為一個基本數(shù)據(jù)類型,在這種情況下,如果javascript不能通過valueOf轉(zhuǎn)成一個number,會嘗試調(diào)用toString,然后再轉(zhuǎn)。實在無法轉(zhuǎn)就只能NaN了。面試官:說說類的創(chuàng)建、繼承和閉包。

  我:new一個Function,繼承通過prototype。超類和子類可以通過子類的prototype=new 超類(),然后把prototype的constructor指回子類。閉包是一個變量作用域的問題(這里我也不是特別清楚,隨便說了些)。面試官:說說get和post請求的區(qū)別。

  我:1.參數(shù)形式不同;2.發(fā)送數(shù)據(jù)大小限制不同;3.在后臺轉(zhuǎn)碼時不同,post可以簡單地修改編碼方式來避免亂碼,get不可以。面試官:Get請求最大能多大。我:幾K吧,2K? 面試官:你猜的? 我:。嗯。

  面試官:說說事件綁定。

  我:W3C是addEventListener,IE是attachEvent。面試官:這兩種事件綁定有什么不同。我:。(真心不知道有什么不同,亂說一氣,難道是綁定事件執(zhí)行的先后順序不同?)。

  面試官:這兩種綁定還是有很大差別的。我:。是的是的,之前沒有了解過。面試官:說說事件冒泡的機制。我:blablabla。

  面試官:如果上層元素想知道到底是從哪個元素起的泡,怎么搞? 我:Event的target屬性吧。面試官:不是,再想想。

  我:真心不會。(面試官也沒告訴我答案,整個面試過程中感覺這位面試官側重于指引你自己去找尋答案,不會告訴你答案的)面試官:做一個圖片輪播的腳本。

  我:blablabla(總之就是通過父元素設置overflow為hidden,position為relative,然后幾個圖片列表修改他的left值。因為之前我寫過一個,所以我還說道了如何實現(xiàn)動畫序列,比如點擊一次向左,一次向右,再來一次向左,動畫會依次執(zhí)行。)

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

  我:new一個Image對象,然后注冊onload事件和src屬性,都onload完畢了再顯示,此前顯示一個占位符。

  面試官:如果圖片很多,有兩萬個,怎么辦。

  我:按需加載,用多少加載多少(然后講了我的實現(xiàn)思路)。面試官:但是用戶瀏覽了很多張圖片會越來越卡。

  我:把之前看過的圖片從dom里刪掉,來釋放內(nèi)存,但是要是用戶回頭又看之前看過的就比較麻煩了,不曉得這個圖片該往哪里插入了。面試官:是的,這道題我不告訴你正確答案,你可以好好想想(面試結束后面試官讓我看了百度圖片搜索的例子)。我:好的。

  面試官:你后臺用哪個語言最多? 我:java。

  面試官:Why java?

  我:好用。而且我發(fā)現(xiàn)其實大運算時跟C++的效率也差不多。面試官:還是要比C低一些的。我:嗯。

  面試官:用java寫網(wǎng)站還是客戶端? 我:網(wǎng)站。

  面試官:用框架嗎?

  我:看需求,需求簡單就用servlet可以了。面試官:說說servlet的生命周期。我:blablabla。面試官:前臺怎么寫。

  我:。JSP<%%>不就行了。面試官:我知道。我問還有其他方案嗎? 我:我們現(xiàn)在用模板引擎,比如velocity。面試官:講講velocity怎么寫。我:blablabla。

  面試官:和JSP比,優(yōu)勢如何? 我:速度快,寫起來簡單,而且好看。面試官:應該不會比JSP快啊。

  我:(這個問題我們爭論了好久,面試官是沒有用過velocity的)。面試官:velocity可以自定義標簽嗎?

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

(然后問了些MVC,此處不表)

  面試官:(因為我說道這一年過來都在寫后端,針對spring做了一層淺封裝)說說你的封裝里DAO怎么實現(xiàn)的。

  我:泛型+模板設計模式。緩存是裝飾器模式搞得,裝飾的是不帶緩存的類。面試官:那表的結構已經(jīng)事先定好了嗎?

  我:對的,通過反射獲取類屬性,然后轉(zhuǎn)換為sql,比如loginTime轉(zhuǎn)成logintime,類名UserData轉(zhuǎn)成userdata。這個要事先商量好才可以。不遵守約定就沒法搞了。

  面試官:緩存用什么實現(xiàn)的。我:Ehcache。

  面試官:和memcache差不多嗎? 我:沒錯。

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

  我:LRU。然后get做緩存,update和delete都直接刪除對象。面試官:用什么做key? 我:id。

  面試官:說說緩存怎么避免并發(fā)下臟讀等不一致問題。我:我的類都是單例的(我傻逼了,單例和并發(fā)有關系嗎?面試官后來也糾正了我這個錯誤)。讀是沒有問題的,寫的話我沒有做處理,感覺ehcache自己內(nèi)部做了處理吧,比如代碼同步,或者用concurrenct包下的類。

  面試官:。(這道題我沒明白他要問什么,他也沒明白我在說什么。好混亂)不糾結這個問題了。數(shù)據(jù)庫連接池怎么實現(xiàn)的。我:直接用的DBCP。

  面試官:我那時都是自己寫的。我:。(心中默念:牛逼)。面試官:好的,有什么問題想問我的。

  我:百度是彈性工作制嗎?Web前端部門可以接觸到其他技術嗎?

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

web前端面試題相關文章: