- 相關推薦
2016的前端面試基礎題目
HTML+CSS
1.對WEB標準以及W3C的理解與認識
標簽閉合、標簽小寫、不亂嵌套、提高搜索機器人搜索幾率、使用外鏈css和js腳本、結構行為表現(xiàn)的分離、文件下載與頁面速度更快、內容能被更多的用戶所訪問、內容能被更廣泛的設備所訪問、更少的代碼和組件,容易維護、改版方便,不需要變動頁面內容、提供打印版本而不需要復制內容、提高網(wǎng)站易用性;
2.xhtml和html有什么區(qū)別
HTML是一種基本的WEB網(wǎng)頁設計語言,XHTML是一個基于XML的置標語言
最主要的不同:
XHTML 元素必須被正確地嵌套。
XHTML 元素必須被關閉。
標簽名必須用小寫字母。
XHTML 文檔必須擁有根元素。
3.Doctype? 嚴格模式與混雜模式-如何觸發(fā)這兩種模式,區(qū)分它們有何意義?
用于聲明文檔使用那種規(guī)范(html/Xhtml)一般為嚴格過度基于框架的html文檔
加入XMl聲明可觸發(fā),解析方式更改為IE5.5 擁有IE5.5的bug
4.行內元素有哪些?塊級元素有哪些?CSS的盒模型?
塊級元素:div p h1-h6 form ul li
行內元素: a span input
Css盒模型:內容,border ,margin,padding
5.CSS引入的方式有哪些? link和@import的區(qū)別是?
內聯(lián) 內嵌 外鏈 導入
link和@import的區(qū)別 :
同時加載
前者無兼容性,后者CSS2.1以下瀏覽器不支持
Link 支持使用javascript改變樣式,后者不可
6.CSS基礎選擇符有哪些?優(yōu)先級算法如何計算?內聯(lián)和important哪個優(yōu)先級高?
標簽選擇符 類選擇符 id選擇符(還有子代選擇器、后代選擇器、屬性選擇器)
!important(無窮大) > id(100) > class(10) > 標簽選擇(1) > 瀏覽器默認屬性
比如#banner .nav{} 的權重是100+10=110
.nav p{} 的權重是10+1=11
后者優(yōu)先級高
7.前端頁面有哪三層構成,分別是什么?作用是什么?
結構層 Html,決定網(wǎng)頁的結構
表示層 CSS,決定網(wǎng)頁的樣式
行為層 js,決定網(wǎng)頁的行為
8.css的基本語句構成是?
選擇器{屬性1:值1;屬性2:值2;……}
9.你做的頁面在哪些流覽器測試過?這些瀏覽器的內核分別是什么?
Ie(Ie內核)
火狐(Gecko)
谷歌(webkit)
opear(Presto)
10.寫出幾種IE6 BUG的解決方法
雙邊距BUG float引起的 使用display
超鏈接hover 點擊后失效 使用正確的書寫順序 link visited hover active
Ie z-index問題 給父級添加position:relative
Png 透明 使用js代碼 改
Min-height 最小高度 !Important 解決’
select 在ie6下遮蓋 使用iframe嵌套
為什么沒有辦法定義1px左右的寬度容器(IE6默認的行高造成的,使用over:hidden,zoom:0.08 line-height:1px)
11.標簽上title與alt屬性的區(qū)別是什么?
Alt 當圖片不顯示是 用文字代表。
Title 為該屬性提供信息
12.描述css reset的作用和用途。
Reset重置瀏覽器的css默認屬性 瀏覽器的品種不同,樣式不同,然后重置,讓他們統(tǒng)一
13.解釋css sprites,如何使用。
Css 精靈圖 把一堆小的圖片整合到一張大的圖片上,減輕服務器對圖片的請求數(shù)量,利用圖片左上角的坐標來讀取需要的圖片
圖片往左移動,left:負值;
圖片往上移動,top:負值;
14.瀏覽器標準模式和怪異模式之間的區(qū)別是什么?
盒子模型 渲染模式的不同
使用 window.top.document.compatMode 可顯示為什么模式
15.你如何對網(wǎng)站的文件和資源進行優(yōu)化?期待的解決方案包括:
文件合并
文件最小化/文件壓縮
使用CDN托管
緩存的使用
16.什么是語義化的HTML?
直觀的認識標簽 對于搜索引擎的抓取有好處
17.清除浮動的幾種方式,各自的優(yōu)缺點
使用空標簽清除浮動 clear:both(理論上能清楚任何標簽,,,增加無意義的標簽)
使用overflow:auto(空標簽元素清除浮動而不得不增加無意代碼的弊端,,使用zoom:1用于兼容IE)
是用afert偽元素清除浮動(用于非IE瀏覽器)
單偽元素清楚浮動
.clearfix:after{
content:".";
display:block;
height:0;
ling-height:0;
visibility:hidden;
clear:both;
}
.clearfix{
zoom:1;//IE6-8
}
雙偽元素清除浮動
.clearfix:before{
content:".";
display:table;
}
.clearfix:after{
clear:both;
}
.clearfix{
*zoom:1;
}
Javascript
1.javascript的typeof返回哪些數(shù)據(jù)類型
Object number function boolean underfind
2.例舉3種強制類型轉換和2種隱式類型轉換?
強制(parseInt,parseFloat,number)
隱式(== – ===)
3.split() join() 的區(qū)別
前者是切割成數(shù)組的形式,后者是將數(shù)組轉換成字符串
4.數(shù)組方法pop() push() unshift() shift()
Push()尾部添加
pop()尾部刪除
Unshift()頭部添加
shift()頭部刪除
5.IE和DOM事件流的區(qū)別
執(zhí)行順序不一樣、
參數(shù)不一樣
事件加不加on
this指向問題
7.IE和標準下有哪些兼容性的寫法
Var ev = ev || window.event
document.documentElement.clientWidth || document.body.clientWidth
Var target = ev.srcElement||ev.target
8.ajax請求的時候get 和post方式的區(qū)別
一個在url后面 一個放在虛擬載體里面
有大小限制
安全問題
應用不同 一個是論壇等只需要請求的,一個是類似修改密碼的
9.call和apply的區(qū)別
Object.call(this,obj1,obj2,obj3)
Object.apply(this,arguments)
10.ajax請求時,如何解釋json數(shù)據(jù)
使用eval parse 鑒于安全性考慮 使用parse更靠譜
12.寫一個獲取非行間樣式的函數(shù)
function getStyle(obj,attr,value){
if(!value){
if(obj.currentStyle){
return obj.currentStyle(attr)
}
else{
obj.getComputedStyle(attr,false)
}
}
else{
obj.style[attr]=value
}
}
13.事件委托是什么
讓利用事件冒泡的原理,讓自己的所觸發(fā)的事件,讓他的父元素代替執(zhí)行!
http://www.webasily.com/?p=78 例子可見此鏈接
14.閉包是什么,有什么特性,對頁面有什么影響
閉包就是能夠讀取其他函數(shù)內部變量的函數(shù)。
http://blog.csdn.net/gaoshanwudi/article/details/7355794 此鏈接可查看(問這個問題的不是一個公司)
15.如何阻止事件冒泡和默認事件
canceBubble return false
16.添加 刪除 替換 插入到某個接點的方法
obj.appendChidl()
obj.innersetBefore
obj.replaceChild
obj.removeChild
17.解釋jsonp的原理,以及為什么不是真正的ajax
動態(tài)創(chuàng)建script標簽,回調函數(shù)
Ajax是頁面無刷新請求數(shù)據(jù)操作
18.javascript的本地對象,內置對象和宿主對象
本地對象為array obj regexp等可以new實例化
內置對象為gload Math 等不可以實例化的
宿主為瀏覽器自帶的document,window 等
19.document load 和document ready的區(qū)別
Document.onload 是在結構和樣式加載完才執(zhí)行js
Document.ready原生種沒有這個方法,jquery中有 $().ready(function)
20.”==”和“===”的不同
前者會自動轉換類型
后者不會
21.javascript的同源策略
一段腳本只能讀取來自于同一來源的窗口和文檔的屬性,這里的同一來源指的是主機名、協(xié)議和端口號的組合
22.編寫一個數(shù)組去重的方法
function oSort(arr){
var result ={};
var newArr=[];
for(var i=0;i
if(!result[arr]){
newArr.push(arr)
result[arr]=1
}
}
return newArr;
}
【的前端面試基礎題目】相關文章:
Web前端面試題目及答案09-26
面試前端人員注意08-10
web前端面試題08-08
前端面試自我介紹04-26
前端工程師面試問題09-26
阿里前端面試試題分享08-05
2017前端面試筆試題09-26
前端面試題庫及答案09-25
c面試題目09-25
模擬面試題目09-25