08年出的一些前端面試題
最近看到大家流行討論面試題,就把08年寫的一些題目拿了出來。我出的題目相對來說很基礎,因為我們公司招人的時候,不要求技術水平高,只要說得過去就行,加上薪資不高,要是題目出難了,就招不到人了。
下面我說明一下每個題目的出題用意和難度,最高5分。
1. HTML和CSS
1.1. 用HTML寫出一個如圖所示的表格:
aaaa bbbb cccc
dddd eeeeeeeeee
dddd ffffffffffffff
相同字元表示在同一個格子裡。
出這個題目的原因是,當時的B/S開發很依賴表格佈局,所以寫這種表格是非常基礎的,需要知道rowspan和colspan。難度2分。
1.2. 根據下面的程式碼,畫出它會顯示出來的大概效果。如果想要把這兩塊裡面的顯示效果調換一下,在原始碼上可以通過加些什麼做到?
<div>
<span>a</span>
<span>b</span>
</div>
<div>
<div>a</div>
<div>b</div>
</div>
這個題目的考點是塊標籤,需要知道display的inline和block,難度3分。
1.3. 在一個form裡面,預設按Enter鍵會使得這個form提交,怎樣才能取消這個事件?
這個題目很簡單,B/S開發中經常需要把系統的提交事件改成自己的,onsubmit裡面return false即可,2分。
1.4. 如下程式碼中的單選框並不能點選選中,為什麼?
<input type="radio"/>a
<input type="radio"/>b
<input type="radio"/>c
這個題目稍微有些惡搞,但經常寫程式碼的人應該不會被考住,處於一組的單選按鈕,name必須相同。2分。
1.5. 頁面中所包含的CSS樣式有很多宣告方式,可以是通過link標記引入的外部樣式,可以是定義在頁面頭部的樣式,也可以是在元素的style屬性上定義的樣式,如果這些樣式對某個屬性的定義衝突了,是按照什麼優先順序處理的?
這個非常基礎了,行間大於本頁大於外鏈。1分。
2. JavaScript
2.1. 有一個字串:abcd-ef-ghi,請用JavaScript將它處理成:ghi&ef&abcd
這個可以簡單可以複雜,最簡單的就是先split,然後reverse,然後join。2分。
2.2. 說出下列三段程式碼的執行結果:
//Section A
function foo(num) {
num = 1;
}
var a = 0;
foo(a);
alert(a);
//Section B
function foo(obj) {
obj = new Object();
obj.name = "abc";
}
var a = {name: "test"};
foo(a);
alert(a.name);
//Section C
function foo(obj) {
obj.name = "abc";
}
var a = {name: "test"};
foo(a);
alert(a.name);
這個題目的考點是引用,簡單變數跟物件屬性的差別。3分。
2.3. 用JavaScript模擬Java的StringBuffer類,用以實現效率較高的字串的連線,包含兩個方法:append()和toString()
這個題目在現在已經變味了,當年在IE中,用加號連線字串不如陣列的join,另外一個考點是簡單實現一個建構函式,在原型上新增方法。4分。
2.4. 下面兩種方式都可以給元素新增事件,請指出它們的差別:
element.onclick = clickHandler;
element.attachEvent("onclick", clickHandler);
單個跟多個事件處理函式的差別,3分。
2.5. 在下面這段程式碼裡,內層的div點選的時候,會同時觸發它自己和外層div的事件,怎樣修改程式碼才能使得此時只觸發內層div的事件?
<div onclick="clickA()">a
<div onclick="clickB()">b</div>
</div>
<script>
function clickA() {
alert("a");
}
function clickB() {
alert("b");
}
</script>
考點是事件的冒泡,b裡面取消冒泡即可,3分
3. 綜合
3.1. 設計一個介面,它包含兩個下拉選單,第一個包含有三個省份,分別是江蘇、福建、安徽,第二個顯示的是城市,其選項根據第一個所選內容動態改變。當選擇江蘇時,它包含南京、蘇州、南通;當選擇福建時,它包含福州、漳州、泉州;當選擇安徽時,它包含合肥、蚌埠、安慶。
沒什麼好說的,只要幹過活的就會。2分。
3.2. 用JavaScript生成本月日曆,形式為表格,從星期天到星期六每天佔一列,星期天的單元格背景為紅色,星期六的單元格背景為綠色。
迴圈生成一個table就可以了,3分。
3.3. 寫一段JavaScript程式碼,迴圈生成10個按鈕,每個按鈕上面分別顯示數字0-9,每個按鈕點選之後分別顯示自身序號。
這個裡面有陷阱,在迴圈中新增事件,並且把序號帶進去,會導致執行的時候序號全部是最後一個,這是因為事件繫結的時間跟執行時間不同,執行的時候,作用域裡面的迴圈變數已經是最後一個了。解決辦法至少有兩種,如果把變數附加到按鈕上,可以得4分。如果用閉包帶變數過去,可以得5分。
總的來說,這些題目還是比較基礎的,而且在當時比較有代表性,如果都能答出來,算是一個概念很清晰的人,能及格的話,就可以招進來幹活了。
相關文章
- 整理總結的一些前端面試題前端面試題
- 2019年,盤點一些我出過的前端面試題以及對求職者的建議前端面試題求職
- 前端面試的一些題目(持續更新中)前端面試
- 【面試】前端面試題前端面試題
- Web前端年後跳槽必看的各種面試題Web前端面試題
- 新鮮出爐的8月前端面試題前端面試題
- 前端實習面試的一些建議前端面試
- 前端面試送命題:面試題篇前端面試題
- 18年最新經典web前端面試題Web前端面試題
- 前端面試題前端面試題
- 前端js面試題前端JS面試題
- 陣列的一些面試題陣列面試題
- 一些前端新人面試的小技巧分享!前端面試
- 前端面試常問的一些筆記前端面試筆記
- 常見的前端面試題前端面試題
- 前端常見的部分面試題前端面試題
- 2020年秋招前端面試題前端面試題
- 10年Java開發經驗,超過500人面試阿里的同學,總結出這108道面試題!Java阿里面試題
- 前端常見面試題前端面試題
- 前端面試題目前端面試題
- 前端面試題一前端面試題
- 前端面試題整理前端面試題
- 前端開發面試題前端面試題
- 前端面試題小集前端面試題
- 前端經典面試題前端面試題
- Vue的一些相關面試題Vue面試題
- 面試中遇到的一些問題面試
- 2020年10月web前端面試題與面試感想Web前端面試題
- 2017年秋招前端面試題(二)——-CSS前端面試題CSS
- 2017年秋招前端面試題(一)——-HTML前端面試題HTML
- 【週刊-2】三年大廠面試官-前端面試題(偏難)前端面試題
- php的一些面試題總結(5)PHP面試題
- 荔枝FM前端面試題前端面試題
- 前端面試題 | CSS篇前端面試題CSS
- 前端面試題總結前端面試題
- 最新前端面試題攻略前端面試題
- 前端面試題(附答案)前端面試題
- 前端面試題(總結)前端面試題