『壹』 web前端面試十大總結,不了解一下嗎
在互聯網時代,瀏覽器幾乎主宰著一切,而前端開發人員決定著瀏覽器的內容展現形式和信息的提供,是不可或缺的一部分。前端開發實際上具有很明顯的時代特徵,它在很大程度上決定著大眾的信息攝入,以及用戶讀取信息的有效方式。那麼今天小編為大家總結了一些web前端的面試題,希望對大家有幫助哦!
一:字體高亮函數
題目:請你完成highlight函數,可以把模版字元串中的插入內容替換掉,並且插入文檔以後顯示紅色。例如:
constyourName='ScriptOJ'
constmyName='Jerry'
document.body.innerHTML=highlight`Hello,${yourName}.Iam
${myName}.`
上面例子的頁面顯示如下:
0_1498033735172_upload-2abd65b1-1e98-46ba-b46f-df4188a036a5
請你完成highlight函數的編寫。
答案:
css:
.highlight{
color:red;
}
js:
//考察的是Taggedtemplateliterals的使用
//
#/en-US/docs/Web/JavaScript/Reference/Template_literals
consthighlight=(strings,...args)=>{
returnstrings.rece((str,cur,i)=>{
return`${str}${cur}${args[i]?`class="highlight">${args[i]}`:''}`
},'')
}
二:數組去重
題目:編寫一個函數unique(arr),返回一個去除數組內重復的元素的數組。例如:
unique([0,1,2,2,3,3,4])//=>[0,1,2,3,4]
unique([0,1,Ƈ',Ƈ',2])//=>[0,1,Ƈ',2]
答案:
constunique=(arr)=>[...newSet(arr)]
三:解析字串
題目:完成一個extractStr函數,可以把一個字元串中所有的:到.的子串解析出來並且存放到一個數組當中,例如:
extractStr('Mynameis:Jerry.Myageis:12.')//=>['Jerry',']
注意,:和.之間不包含:和.。也即是說,如果::abc..,則返回['abc']。
(本題來源:《JavaScriptCookbook》)
答案:·
constextractStr=(str)=>{
constret=str.match(/:([^:.])*?./g)||[]
returnret.map((subStr)=>subStr.replace(/[:.]/g,''))
}
四:spacify題目:
請你給字元串都添加上原型方法spacify,可以讓一個字元串的每個字母都多出一個空格的間隔:"ScriptOJ".spacify()//=>
"ScriptO
J"(本題來源:#/interview-questions)答案:String.prototype.spacify
=function(){
returnthis.split('').join('')
}
五:safeGet
題目:有時候我們需要訪問一個對象較深的層次,但是如果這個對象某個屬性不存在的話就會報錯,例如:
vardata={a:{b:{c:'ScriptOJ'}}}
data.a.b.c//=>scriptoj
data.a.b.c.d//=>報錯,代碼停止執行
console.log('ScriptOJ')//=>不會被執行
請你完成一個safeGet函數,可以安全的獲取無限多層次的數據,一旦數據不存在不會報錯,會返回undefined,例如:
vardata={a:{b:{c:'ScriptOJ'}}}
safeGet(data,'a.b.c')//=>scriptoj
safeGet(data,'a.b.c.d')//=>返回undefined
safeGet(data,'a.b.c.d.e.f.g')//=>返回undefined
console.log('ScriptOJ')//=>列印ScriptOJ
答案:
constsafeGet=(o,path)=>{
try{
returnpath.split('.').rece((o,k)=>o[k],o)
}catch(e){
returnvoid666
}
}
六:判斷兩個矩形是否重疊
題目:用一個對象的數據來表示一個矩形的位置和大小:
{
x:100,
y:100,
width:150,
height:250
}
它表示一個寬為150高為250的矩形在頁面上的(100,100)的位置。
請你完成一個函數isOverlap可以接受兩個矩形作為參數,判斷這兩個矩形在頁面上是否重疊。例如:
constrect1={x:100,y:100,width:100,height:100}
constrect2={x:150,y:150,width:100,height:100}
isOverlap(rect1,rect2)//=>true
答案:
//原理:#/find-two-rectangles-overlap/
constisOverlap=(rect1,rect2)=>{
constl1={x:rect1.x,y:rect1.y}
constr1={x:rect1.x+rect1.width,y:rect1.y+rect1.height}
constl2={x:rect2.x,y:rect2.y}
constr2={x:rect2.x+rect2.width,y:rect2.y+rect2.height}
if(
l1.x>r2.x||
l2.x>r1.x||
l1.y>r2.y||
l2.y>r1.y
)returnfalse
returntrue
}
七:按下標插入
題目:現在有一個數組存放字元串數據:
['item1','item2','item3','item4','item5']
有另外一個數組存放一組對象:
[
{content:'section1',index:0},
{content:'section2',index:2}
]
它每個對象表示的是會往原來的數組的index坐標插入content數據(index不會重復):
01234
item1itme2item3item4item5
^^
||
section1section2
最後結果是:['section1','item1','item2','section2','item3','item4',
'item5']
請你完成injectSections函數,可以達到上述的功能:
injectSections(
['item1','item2','item3','item4','item5'],
[
{content:'section1',index:0},
{content:'section2',index:2}
]
)//=>['section1','item1','item2','section2','item3','item4',
'item5']
答案:
constinjectSections=(items,sections)=>{
/*需要插入坐標對應數據存放到map裡面*/
constsectionsMap=newMap(sections.map(({index,content})=>[index,
content]))
/*新建一個數組,然後往裡面push原來數組的數據*/
returnitems.rece((ret,item,index)=>{
/*push的時候先檢查map裡面有沒有,有的話先pushmap裡面的數據*/
if(sectionsMap.has(index))ret.push(sectionsMap.get(index))
/*再push原來的數據*/
ret.push(item)
returnret
},[])
}
八:數組拍平(二)
題目:編寫一個JavaScriptgenerator函數,接受一個僅包含數字的多維數組
,返回一個迭代器,可以遍歷得到它拍平以後的結果。例如:
constnumbers=flatten2([1,[[2],3,4],5])
numbers.next().value//=>1
numbers.next().value//=>2
numbers.next().value//=>3
numbers.next().value//=>4
numbers.next().value//=>5
答案:
function*flatten2(arr){
for(leti=0;i
constitem=arr[i]
/*yield*的使用可以大大簡化程序編寫*/
Array.isArray(item)?yield*flatten2(item):yielditem;
}
}
/*用flatten2來完成flatten也是很方便的*/
//constflatten=(arr)=>[...flatten2(arr)]
九:判斷兩個Set是否相同
題目:完成isSameSet函數,它接受了兩個Set對象作為參數,請你返回true/false來表明這兩個set
的內容是否完全一致,例如:
consta={}
constb=1
constc='ScriptOJ'
constset1=newSet([a,b,c])
constset2=newSet([a,c,b])
isSameSet(set1,set2)//=>true
答案:
//codefrom#/js-example.html
/*這道題不能簡單地使用sort,使用sort並不靠譜。因為Set裡面的內容可能有很多種類
*字元串、對象、數字,不同類型之間是不可對比的,所以排序結果並不會一致
*
*最好的方式是按照數學上集合相等的定義:
*A=B當且僅當A是B的子集並且B是A的子集。
*
*這種判斷方式還可以用在對象、map等其他數據類型的判斷當中。
*/
constisSameSet=(s1,s2)=>{
/*獲取一個集合所有的值,判斷另外一個集合是否全部包含該這些值*/
constisSame=(a,b)=>{
constvalues=[...a]
for(letvalofvalues){
/*及時跳出循環,可以降低演算法復雜度*/
if(!b.has(val))returnfalse
}
returntrue
}
/*a包含b,b包含a,那麼兩個集合相同*/
returnisSame(s1,s2)&&isSame(s2,s1)
}
/*By陳小俊*/
//constisSameSet=(set1,set2)=>
//[...set1].every((o)=>set2.has(o))&&
//[...set2].every((o)=>set1.has(o))
十:記憶化斐波那契函數(Memoization)
題目:斐波那契數列指的是類似於以下的數列:
1,1,2,3,5,8,13,....
也就是,第n個數由數列的前兩個相加而來:f(n)=f(n-1)+f(n-2)
請你完成fibonacci函數,接受n作為參數,可以獲取數列中第n個數,例如:
fibonacci(1)//=>1
fibonacci(2)//=>1
fibonacci(3)//=>2
...
測試程序會從按順序依次獲取斐波那契數列中的數,請注意程序不要超時,也不要添加額外的全局變數。
本題來源:《JavaScript語言精髓》
答案:
constfibonacci=((memo=[0,1])=>{
constfib=(n)=>{
letresult=memo[n]
if(typeofresult!=="number"){
result=fib(n-1)+fib(n-2)
memo[n]=result
}
returnresult
}
returnfib
})()
最後就是反應能力,臨場出現意外什麼的了,這就看你自己了,萬一自己一不留神說錯話了,大神給你指出來,請記得謝謝一定要謙虛!在這里小編也希望每一位web培訓班畢業的學員都能順利找到稱心的工作!
免責聲明:內容和圖片源自網路,版權歸原作者所有,如有侵犯您的原創版權請告知,我們將盡快刪除相關內容
在互聯網時代,瀏覽器幾乎主宰著一切,而前端開發人員決定著瀏覽器的內容展現形式和信息的提供,是不可或缺的一部分。前端開發實際上具有很明顯的時代特徵,它在很大程度上決定著大眾的信息攝入,以及用戶讀取信息的有效方式。那麼今天小編為大家總結了一些web前端的面試題,希望對大家有幫助哦!
一:字體高亮函數
題目:請你完成highlight函數,可以把模版字元串中的插入內容替換掉,並且插入文檔以後顯示紅色。例如:
constyourName='ScriptOJ'
constmyName='Jerry'
document.body.innerHTML=highlight`Hello,${yourName}.Iam
${myName}.`
上面例子的頁面顯示如下:
0_1498033735172_upload-2abd65b1-1e98-46ba-b46f-df4188a036a5
請你完成highlight函數的編寫。
答案:
css:
.highlight{
color:red;
}
js:
//考察的是Taggedtemplateliterals的使用
//
#/en-US/docs/Web/JavaScript/Reference/Template_literals
consthighlight=(strings,...args)=>{
returnstrings.rece((str,cur,i)=>{
return`${str}${cur}${args[i]?`class="highlight">${args[i]}`:''}`
},'')
}
二:數組去重
題目:編寫一個函數unique(arr),返回一個去除數組內重復的元素的數組。例如:
unique([0,1,2,2,3,3,4])//=>[0,1,2,3,4]
unique([0,1,Ƈ',Ƈ',2])//=>[0,1,Ƈ',2]
答案:
constunique=(arr)=>[...newSet(arr)]
三:解析字串
題目:完成一個extractStr函數,可以把一個字元串中所有的:到.的子串解析出來並且存放到一個數組當中,例如:
extractStr('Mynameis:Jerry.Myageis:12.')//=>['Jerry',']
注意,:和.之間不包含:和.。也即是說,如果::abc..,則返回['abc']。
(本題來源:《JavaScriptCookbook》)
答案:·
constextractStr=(str)=>{
constret=str.match(/:([^:.])*?./g)||[]
returnret.map((subStr)=>subStr.replace(/[:.]/g,''))
}
四:spacify題目:
請你給字元串都添加上原型方法spacify,可以讓一個字元串的每個字母
『貳』 誰能給我出一兩道 web前端筆試題 上機題啥的,呵呵,比較常考的
[面試題] 某企業前端開發面試題
【HTML & CSS】
1. Doctype? 嚴格模式與混雜模式-如何觸發這兩種模式,區分它們有何意義?
2. 行內元素有哪些?塊級元素有哪些?CSS的盒模型?
3. CSS引入的方式有哪些? link和@import的區別是?
4. CSS選擇符有哪些?哪些屬性可以繼承?優先順序演算法如何計算?內聯和important哪個優先順序高?
5. 前端頁面有哪三層構成,分別是什麼?作用是什麼?
6. css的基本語句構成是?
7. 你做的頁面在哪些流覽器測試過?這些瀏覽器的內核分別是什麼?經常遇到的瀏覽器的兼容性有哪些?怎麼會出現?解決方法是什麼?
8. 如何居中一個浮動元素?
9. 有沒有關注HTML5和CSS3?如有請簡單說一些您對它們的了解情況!
10. 你怎麼來實現下面這個設計圖,主要講述思路 (效果圖省略)
11. 如果讓你來製作一個訪問量很高的大型網站,你會如何來管理所有CSS文件、JS與圖片?
12. 你對前端界面工程師這個職位是怎麼樣理解的?它的前景會怎麼樣?
【Javascript】
1. js是什麼,js和html 的開發如何結合?
2. 怎樣添加、移除、移動、復制、創建和查找節點
3. 怎樣使用事件以及IE和DOM事件模型之間存在哪些主要差別
4. 面向對象編程:b怎麼繼承a
5. 看看下面alert的結果是什麼
view sourceprint?1.function b(x, y, a) {
.arguments[2] = 10;
.alert(a);
}
b(1, 2, 3);
如果函數體改成下面,結果又會是什麼?
a = 10;
alert(arguments[2] );
6. 請編寫一個JavaScript函數 parseQueryString,它的用途是把URL參數解析為一個對象
var obj = parseQueryString(url);
alert(obj.key0) // 輸出0
7. ajax是什麼? ajax的交互模型? 同步和非同步的區別? 如何解決跨域問題?
8. 什麼是閉包?下面這個ul,如何點擊每一列的時候alert其index?
<ul id=」test」>
<li>這是第一條</li><li>這是第二條</li><li>這是第三條</li>
</ul>
9. 最近看的一篇Javascript的文章是?
10. 常使用的庫有哪些?常用的前端開發工具?開發過什麼應用或組件?
11.說說YSlow(可以詳細一點)
答案在參考資料裡面可以找到,答案在參考資料裡面可以找到,答案在參考資料裡面可以找到
『叄』 Web前端課程都學什麼
前端開發則是網站的前台代碼實現,包括基本的HTML和CSS以及JavaScript/ajax,最新的高級版本HTML5、CSS3,以及SVG等。
前端開發需要學習的技術
1 掌握基本web前端開發技術:HTML、CSS、JavaScript、DOM、BOM、AJAX等,而且要了解它們在不同瀏覽器上的兼容情況、渲染原理和存在的Bug
2 必須掌握網站性能優化、SEO和伺服器端開發技術的基礎知識
3 必須學會運用各種web前端開發與測試工具進行輔助開發
4 除了掌握技術層面的知識,還要掌握理論層面的知識,包括代碼的可維護性、組件的易用性、分層語義模板和瀏覽器分級支持等
5 未來web前端開發工程師還要研究HTML5、web視覺設計、網站配色、網站交互設計模式等相關技術
在互聯網行業,前端有WEB前端、HTML前端等,隨著互聯網技術發展,就業方向也有很多。web前端的就業方向有web架構師、web前端工程師、HTML前端開發工程師、網頁設計師等等。
HTML前端開發
與Web前端開發不同的是,使用HTML5不僅僅可以開發前端,還有網頁游戲,手機APP,使用瀏覽器進行3D渲染等一系列建立在HTML5標准與搭載其標准瀏覽器上的開發,而未來可能會有更多的功能分支並入HTML5標准。web前端工程師
這個方向是目前從事Web前端開發的主要就業方向
Web架構師
薪資普遍比較高,技術要求高,掌握多種技能,包括:後端技術、DBA、Platform等等,甚至包括網站優化SEO技術。
數據方向
數據研發這個是在Web開發的基礎上用數據附能,懂可視化的一定是有前端能力的,懂hadoop的一定java要熟悉,屬於Web開發的拓展方向。
大前端方向
比如阿里,在大量實踐rn和weex;由於公司內部安卓/ios式微,一定程度上,前端把ios和安卓收編了,統稱大前端。
圖形學方向
前端自然是與圖形學有千絲萬縷的聯系,除了上面提到了可視化,還有相關3d引擎的開發工作。做這一行要求也非常高了,圖形學相關的演算法,3d引擎的開發,這都需要圖形學相關知識。
『肆』 web前端面試經常問到的面試題有哪些
Web前端經常被問到的面試題及答案
一、HTML+CSS
1.對WEB標准以及W3C的理解與認識
標簽閉合、標簽小寫、不亂嵌套、提高搜索機器人搜索幾率、使用外
鏈css和js腳本、結構行為表現的分離、文件下載與頁面速度更快、內容能被更多的用戶所訪問、內容能被更廣泛的設備所訪問、更少的代碼和組件,容易維
護、改版方便,不需要變動頁面內容、提供列印版本而不需要復制內容、提高網站易用性;
2.xhtml和html有什麼區別
HTML是一種基本的WEB網頁設計語言,XHTML是一個基於XML的置標語言
最主要的不同:
XHTML 元素必須被正確地嵌套。
XHTML 元素必須被關閉。
標簽名必須用小寫字母。
XHTML 文檔必須擁有根元素。
3.Doctype? 嚴格模式與混雜模式-如何觸發這兩種模式,區分它們有何意義?
用於聲明文檔使用那種規范(html/Xhtml)一般為 嚴格 過度 基於框架的html文檔
加入XMl聲明可觸發,解析方式更改為IE5.5 擁有IE5.5的bug
4.行內元素有哪些?塊級元素有哪些?CSS的盒模型?
塊級元素:div p h1 h2 h3 h4 form ul
行內元素: a b br i span input select
Css盒模型:內容,border ,margin,padding
5.CSS引入的方式有哪些? link和@import的區別是?
內聯 內嵌 外鏈 導入
區別 :同時載入
前者無兼容性,後者CSS2.1以下瀏覽器不支持
Link 支持使用javascript改變樣式,後者不可
6.CSS選擇符有哪些?哪些屬性可以繼承?優先順序演算法如何計算?內聯和important哪個優先順序高?
標簽選擇符 類選擇符 id選擇符
繼承不如指定 Id>class>標簽選擇
後者優先順序高
7.前端頁面有哪三層構成,分別是什麼?作用是什麼?
結構層 Html 表示層 CSS 行為層 js
8.css的基本語句構成是?
選擇器{屬性1:值1;屬性2:值2;……}
9.你做的頁面在哪些流覽器測試過?這些瀏覽器的內核分別是什麼?
Ie(Ie內核) 火狐(Gecko) 谷歌(webkit) opear(Presto)
二、Javascript
1.javascript的typeof返回哪些數據類型
Object number function boolean underfind
2.例舉3種強制類型轉換和2種隱式類型轉換?
強制(parseInt,parseFloat,number)
隱式(== – ===)
3.split() join() 的區別
前者是切割成數組的形式,後者是將數組轉換成字元串
4.數組方法pop() push() unshift() shift()
Push()尾部添加 pop()尾部刪除
Unshift()頭部添加 shift()頭部刪除
5.事件綁定和普通事件有什麼區別
6.IE和DOM事件流的區別
1.執行順序不一樣、
2.參數不一樣
3.事件加不加on
4.this指向問題
7.IE和標准下有哪些兼容性的寫法
Var ev = ev || window.event
document.documentElement.clientWidth || document.body.clientWidth
Var target = ev.srcElement||ev.target
8.ajax請求的時候get 和post方式的區別
一個在url後面 一個放在虛擬載體裡面
有大小限制
安全問題
應用不同 一個是論壇等只需要請求的,一個是類似修改密碼的
9.call和apply的區別
Object.call(this,obj1,obj2,obj3)
Object.apply(this,arguments)
10.ajax請求時,如何解釋json數據
使用eval parse 鑒於安全性考慮 使用parse更靠譜
11.b繼承a的方法
12.寫一個獲取非行間樣式的函數
function getStyle(obj,attr,value)
{
if(!value)
{
if(obj.currentStyle)
{
return obj.currentStyle(attr)
}
else
{
obj.getComputedStyle(attr,false)
}
}
else
{
obj.style[attr]=value
}
}
『伍』 面試Web前端需要注意什麼會面試哪些問題
作為一名HTML5前端工程師,為了工作,為了就業我們免不了要參加各種各樣的面試。為此總結了面試前的注意事項:
第一:注意自己的儀容儀表
面試之前,一定要再次從頭到腳地將自己的儀容儀表檢查一遍。檢查時主要包括,自己的牙縫是不是還有食物殘渣,所以你需要就近找一個衛生間,如果沒有衛生間就近找一個角落也是可以的,但是切記一定不要在大庭廣眾之下。因此,為了給自己整理出著裝的時間請在約定時間前20分鍾到達。
第二:再次檢查面試時所需的資料是否都已帶全
這些資料主要包括:身份證明、學歷文憑證明、個人簡歷、以往作品等等,如果這些東西齊全之後,需要對這些資料做一個整理與排序。因為沒有哪個面試官希望看到面試者拿出一堆「莫名其妙」的東西塞給他,讓他自己再一頁一頁的翻找自己需要的內容,如果說這些資料在面試官手中不小心散落一地,結果可想而知。這樣的求職者在面試官眼中也一定不是一個讓人放心、有條不紊的員工。當然如果檢查時發現資料沒有帶全,也不要緊張。反而你要慶倖幸虧及時檢查,也有足夠的時間組織語言去向面試官解釋。
第三:面試之前將通信工具調成振動或關閉狀態
雖然說面試者與面試官之間是一個平等的關系,但畢竟你是去人家公司求職的,始終處於一個被動的狀態,所以最起碼的尊重還是要做到的。曾經有調查顯示,對於面試過程中接電話或是被電話打斷的求職者,會被HR減分。
第四:等候面試官時,仔細觀察多了解面試公司
在等候面試官時,可以暗自觀察一下公司的大體情況比如員工的著裝風格、公司的LOGO或是貼在牆上的企業文化、公司的環境等等,一來可以在接下來的面試過程中表現出自己對公司的認同感,二來也可以讓自己對求職公司多些了解,以確定是否要接受這里的工作。如果你身邊有公司的資料宣傳架,不妨取一本翻看一下,也會增加HR對你的好感。
第五:放鬆心情,保持自信
面試時一定要保持一定的自信,這樣也會給面試官留下很好的印象。面試只是你步入工作的第一步,即便是失敗了那也是人生重要的經歷。失敗是為了更好的迎接下一個挑戰。
作為一名web前端工程師千萬不要覺得懂技術面試就能萬事大吉了,像以上五點細節性的東西也是一定要掌握的。
面試題系列:
網頁鏈接
『陸』 Web前端崗位面試題有哪些
前端面試題匯總,基本上會有四大類問題,具體如下:
一、HTML
1、Doctype作用?嚴格模式與混雜模式如何區分?它們有何意義?
2、HTML5 為什麼只需要寫 <!DOCTYPE HTML>?
3、行內元素有哪些?塊級元素有哪些? 空(void)元素有那些?
4、頁面導入樣式時,使用link和@import有什麼區別?
5、介紹一下你對瀏覽器內核的理解?
6、常見的瀏覽器內核有哪些?
7、html5有哪些新特性、移除了那些元素?如何處理HTML5新標簽的瀏覽器兼容問題?如何區分 HTML 和 HTML5?
8、簡述一下你對HTML語義化的理解?
9、HTML5的離線儲存怎麼使用,工作原理能不能解釋一下?
10、瀏覽器是怎麼對HTML5的離線儲存資源進行管理和載入的呢?
11、請描述一下 cookies,sessionStorage 和 localStorage 的區別?
12、iframe有那些缺點?
13、Label的作用是什麼?是怎麼用的?(加 for 或 包裹)
14、HTML5的form如何關閉自動完成功能?
15、如何實現瀏覽器內多個標簽頁之間的通信? (阿里)
16、webSocket如何兼容低瀏覽器?(阿里)
17、頁面可見性(Page Visibility)API 可以有哪些用途?
18、如何在頁面上實現一個圓形的可點擊區域?
19、實現不使用 border 畫出1px高的線,在不同瀏覽器的Quirksmode和CSSCompat模式下都能保持同一效果。
20、網頁驗證碼是幹嘛的,是為了解決什麼安全問題?
21、tite與h1的區別、b與strong的區別、i與em的區別?
二、css
1、介紹一下標準的CSS的盒子模型?與低版本IE的盒子模型有什麼不同的?
2、CSS選擇符有哪些?哪些屬性可以繼承?
3、CSS優先順序演算法如何計算?
4、CSS3新增偽類有那些?
5、如何居中div?如何居中一個浮動元素?如何讓絕對定位的div居中?
6、display有哪些值?說明他們的作用。
7、position的值relative和absolute定位原點是?
8、CSS3有哪些新特性?
9、請解釋一下CSS3的Flexbox(彈性盒布局模型),以及適用場景?
10、用純CSS創建一個三角形的原理是什麼?
11、一個滿屏 品 字布局 如何設計?
三、常見兼容性問題?
1、li與li之間有看不見的空白間隔是什麼原因引起的?有什麼解決辦法?
2、經常遇到的瀏覽器的兼容性有哪些?原因,解決方法是什麼,常用hack的技巧 ?
3、為什麼要初始化CSS樣式。
4、absolute的containing block計算方式跟正常流有什麼不同?
5、CSS里的visibility屬性有個collapse屬性值是幹嘛用的?在不同瀏覽器下以後什麼區別?
6、position跟display、margin collapse、overflow、float這些特性相互疊加後會怎麼樣?
7、對BFC規范(塊級格式化上下文:block formatting context)的理解?
8、CSS權重優先順序是如何計算的?
9、請解釋一下為什麼會出現浮動和什麼時候需要清除浮動?清除浮動的方式
10、移動端的布局用過媒體查詢嗎?
11、使用 CSS 預處理器嗎?喜歡那個?
12、CSS優化、提高性能的方法有哪些?
13、瀏覽器是怎樣解析CSS選擇器的?
14、在網頁中的應該使用奇數還是偶數的字體?為什麼呢?
15、margin和padding分別適合什麼場景使用?
16、抽離樣式模塊怎麼寫,說出思路,有無實踐經驗?[阿里航旅的面試題]
17、元素豎向的百分比設定是相對於容器的高度嗎?
18、全屏滾動的原理是什麼?用到了CSS的那些屬性?
19、什麼是響應式設計?響應式設計的基本原理是什麼?如何兼容低版本的IE?
20、視差滾動效果,如何給每頁做不同的動畫?(回到頂部,向下滑動要再次出現,和只出現一次分別怎麼做?)
21、::before 和 :after中雙冒號和單冒號 有什麼區別?解釋一下這2個偽元素的作用。
22、如何修改chrome記住密碼後自動填充表單的黃色背景 ?
23、你對line-height是如何理解的?
24、設置元素浮動後,該元素的display值是多少?(自動變成display:block)
25、怎麼讓Chrome支持小於12px 的文字?
26、讓頁面里的字體變清晰,變細用CSS怎麼做?(-webkit-font-smoothing: antialiased;)
27、font-style屬性可以讓它賦值為「oblique」 oblique是什麼意思?
28、position:fixed;在android下無效怎麼處理?
29、如果需要手動寫動畫,你認為最小時間間隔是多久,為什麼?(阿里)
30、display:inline-block 什麼時候會顯示間隙?(攜程)
31、overflow: scroll時不能平滑滾動的問題怎麼處理?
32、有一個高度自適應的div,裡面有兩個div,一個高度100px,希望另一個填滿剩下的高度。
33、png、jpg、gif 這些圖片格式解釋一下,分別什麼時候用。有沒有了解過webp?
34、什麼是Cookie 隔離?(或者說:請求資源的時候不要讓它帶cookie怎麼做)
35、style標簽寫在body後與body前有什麼區別?
四、JavaScript
1、介紹JavaScript的基本數據類型。
2、說說寫JavaScript的基本規范?
3、JavaScript原型,原型鏈 ? 有什麼特點?
4、JavaScript有幾種類型的值?(堆:原始數據類型和 棧:引用數據類型),你能畫一下他們的內存圖嗎?
5、Javascript如何實現繼承?
6、Javascript創建對象的幾種方式?
7、Javascript作用鏈域?
8、談談This對象的理解。
9、eval是做什麼的?
10、什麼是window對象? 什麼是document對象?
11、null,undefined的區別?
12、寫一個通用的事件偵聽器函數(機試題)。
13、[「1」, 「2」, 「3」].map(parseInt) 答案是多少?
14、關於事件,IE與火狐的事件機制有什麼區別? 如何阻止冒泡?
15、什麼是閉包(closure),為什麼要用它?
16、javascript 代碼中的」use strict」;是什麼意思 ? 使用它區別是什麼?
17、如何判斷一個對象是否屬於某個類?
18、new操作符具體幹了什麼呢?
19、用原生JavaScript的實現過什麼功能嗎?
20、Javascript中,有一個函數,執行時對象查找時,永遠不會去查找原型,這個函數是?
21、對JSON的了解?
22、[].forEach.call($$("*"),function(a){ a.style.outline="1px solid #"+(~~(Math.random()*(1<<24))).toString(16) }) 能解釋一下這段代碼的意思嗎?
23、js延遲載入的方式有哪些?
24、Ajax 是什麼? 如何創建一個Ajax?
25、同步和非同步的區別?
26、如何解決跨域問題?
27、頁面編碼和被請求的資源編碼如果不一致如何處理?
28、模塊化開發怎麼做?
29、AMD(Moles/Asynchronous-Definition)、CMD(Common MoleDefinition)規范區別?
30、requireJS的核心原理是什麼?(如何動態載入的?如何避免多次載入的?如何 緩存的?)
31、讓你自己設計實現一個requireJS,你會怎麼做?
32、談一談你對ECMAScript6的了解?
33、ECMAScript6 怎麼寫class么,為什麼會出現class這種東西?
34、非同步載入的方式有哪些?
35、documen.write和 innerHTML的區別?
36、DOM操作——怎樣添加、移除、移動、復制、創建和查找節點?
37、.call() 和 .apply() 的含義和區別?
38、數組和對象有哪些原生方法,列舉一下?
39、JS 怎麼實現一個類。怎麼實例化這個類
40、JavaScript中的作用域與變數聲明提升?
41、如何編寫高性能的Javascript?
42、那些操作會造成內存泄漏?
43、JQuery的源碼看過嗎?能不能簡單概況一下它的實現原理?
44、jQuery.fn的init方法返回的this指的是什麼對象?為什麼要返回this?
45、jquery中如何將數組轉化為json字元串,然後再轉化回來?
46、jQuery 的屬性拷貝(extend)的實現原理是什麼,如何實現深拷貝?
47、jquery.extend 與 jquery.fn.extend的區別?
48、jQuery 的隊列是如何實現的?隊列可以用在哪些地方?
49、談一下Jquery中的bind(),live(),delegate(),on()的區別?
50、JQuery一個對象可以同時綁定多個事件,這是如何實現的?
51、是否知道自定義事件。jQuery里的fire函數是什麼意思,什麼時候用?
52、jQuery 是通過哪個方法和 Sizzle 選擇器結合的?(jQuery.fn.find()進入Sizzle)
53、針對 jQuery性能的優化方法?
54、Jquery與jQuery UI有啥區別?
55、JQuery的源碼看過嗎?能不能簡單說一下它的實現原理?
56、jquery 中如何將數組轉化為json字元串,然後再轉化回來?
57、jQuery和Zepto的區別?各自的使用場景?
58、針對 jQuery 的優化方法?
59、Zepto的點透問題如何解決?
60、jQueryUI如何自定義組件?
61、需求:實現一個頁面操作不會整頁刷新的網站,並且能在瀏覽器前進、後退時正確響應。給出你的技術實現方案?
62、如何判斷當前腳本運行在瀏覽器還是node環境中?(阿里)
63、移動端最小觸控區域是多大?
64、jQuery 的 slideUp動畫 ,如果目標元素是被外部事件驅動, 當滑鼠快速地連續觸發外部元素事件, 動畫會滯後的反復執行,該如何處理呢?
65、把 Script 標簽 放在頁面的最底部的body封閉之前 和封閉之後有什麼區別?瀏覽器會如何解析它們?
66、移動端的點擊事件的有延遲,時間是多久,為什麼會有? 怎麼解決這個延時?(click 有 300ms 延遲,為了實現safari的雙擊事件的設計,瀏覽器要知道你是不是要雙擊操作。)
67、知道各種JS框架(Angular, Backbone, Ember, React, Meteor, Knockout…)么? 能講出他們各自的優點和缺點么?
68、Underscore 對哪些 JS 原生對象進行了擴展以及提供了哪些好用的函數方法?
69、解釋JavaScript中的作用域與變數聲明提升?
70、那些操作會造成內存泄漏?
71、JQuery一個對象可以同時綁定多個事件,這是如何實現的?
72、Node.js的適用場景?
(如果會用node)知道route, middleware, cluster, nodemon, pm2, server-side rendering么?
73、解釋一下 Backbone 的 MVC 實現方式?
74、什麼是「前端路由」?什麼時候適合使用「前端路由」? 「前端路由」有哪些優點和缺點?
75、知道什麼是webkit么? 知道怎麼用瀏覽器的各種工具來調試和debug代碼么?
76、如何測試前端代碼么? 知道BDD, TDD, Unit Test么? 知道怎麼測試你的前端工程么(mocha, sinon, jasmin, qUnit..)?
77、前端templating(Mustache, underscore, handlebars)是幹嘛的, 怎麼用?
78、簡述一下 Handlebars 的基本用法?
79、簡述一下 Handlerbars 的對模板的基本處理流程, 如何編譯的?如何緩存的?
80、用js實現千位分隔符?(來源:前端農民工,提示:正則+replace)
檢測瀏覽器版本版本有哪些方式?
81、我們給一個dom同時綁定兩個點擊事件,一個用捕獲,一個用冒泡,你來說下會執行幾次事件,然後會先執行冒泡還是捕獲
『柒』 一份超全的Web前端工程師面試題!收藏~
今天小編為大家准備了一份超全的Web前端工程師面試題,准備換工作參加Web前端工程師面試的小夥伴們快來和小編一起看一看這些題目吧,希望能夠對你的面試有所幫助!
一、HTML
§Doctype作用?嚴格模式與混雜模式如何區分?它們有何意義?
§HTML5為什麼只需要寫?
§行內元素有哪些?塊級元素有哪些?空(void)元素有那些?
§頁面導入樣式時,使用link和@import有什麼區別?
§介紹一下你對瀏覽器內核的理解?
§常見的瀏覽器內核有哪些?
§html5有哪些新特性、移除了那些元素?如何處理HTML5新標簽的瀏覽器兼容問題?如何區分HTML和HTML5?
§簡述一下你對HTML語義化的理解?
§HTML5的離線儲存怎麼使用,工作原理能不能解釋一下?
§瀏覽器是怎麼對HTML5的離線儲存資源進行管理和載入的呢?
§請描述一下cookies,sessionStorage和localStorage的區別?
§iframe有那些缺點?
§Label的作用是什麼?是怎麼用的?(加for或包裹)
§HTML5的form如何關閉自動完成功能?
§如何實現瀏覽器內多個標簽頁之間的通信?(阿里)
§webSocket如何兼容低瀏覽器?(阿里)
§頁面可見性(PageVisibility)API可以有哪些用途?
§如何在頁面上實現一個圓形的可點擊區域?
§實現不使用border畫出1px高的線,在不同瀏覽器的Quirksmode和CSSCompat模式下都能保持同一效果。
§網頁驗證碼是幹嘛的,是為了解決什麼安全問題?
§tite與h1的區別、b與strong的區別、i與em的區別?
二、CSS
§介紹一下標準的CSS的盒子模型?與低版本IE的盒子模型有什麼不同的?
§CSS選擇符有哪些?哪些屬性可以繼承?
§CSS優先順序演算法如何計算?
§CSS3新增偽類有那些?
§如何居中div?如何居中一個浮動元素?如何讓絕對定位的div居中?
§display有哪些值?說明他們的作用。
§position的值relative和absolute定位原點是?
§CSS3有哪些新特性?
§請解釋一下CSS3的Flexbox(彈性盒布局模型),以及適用場景?
§用純CSS創建一個三角形的原理是什麼?
§一個滿屏品字布局如何設計?
§常見兼容性問題?
§li與li之間有看不見的空白間隔是什麼原因引起的?有什麼解決辦法?
§經常遇到的瀏覽器的兼容性有哪些?原因,解決方法是什麼,常用hack的技巧?
§為什麼要初始化CSS樣式。
§absolute的containingblock計算方式跟正常流有什麼不同?
§CSS里的visibility屬性有個collapse屬性值是幹嘛用的?在不同瀏覽器下以後什麼區別?
§position跟display、margincollapse、overflow、float這些特性相互疊加後會怎麼樣?
§對BFC規范(塊級格式化上下文:blockformattingcontext)的理解?
§CSS權重優先順序是如何計算的?
§請解釋一下為什麼會出現浮動和什麼時候需要清除浮動?清除浮動的方式
§移動端的布局用過媒體查詢嗎?
§使用CSS預處理器嗎?喜歡那個?
§CSS優化、提高性能的方法有哪些?
§瀏覽器是怎樣解析CSS選擇器的?
§在網頁中的應該使用奇數還是偶數的字體?為什麼呢?
§margin和padding分別適合什麼場景使用?
§抽離樣式模塊怎麼寫,說出思路,有無實踐經驗?[阿里航旅的面試題]
§元素豎向的百分比設定是相對於容器的高度嗎?
§全屏滾動的原理是什麼?用到了CSS的那些屬性?
§什麼是響應式設計?響應式設計的基本原理是什麼?如何兼容低版本的IE?
§視差滾動效果,如何給每頁做不同的動畫?(回到頂部,向下滑動要再次出現,和只出現一次分別怎麼做?)
§::before和:after中雙冒號和單冒號有什麼區別?解釋一下這2個偽元素的作用。
§如何修改chrome記住密碼後自動填充表單的黃色背景?
§你對line-height是如何理解的?
§設置元素浮動後,該元素的display值是多少?(自動變成display:block)
§怎麼讓Chrome支持小於12px的文字?
§讓頁面里的字體變清晰,變細用CSS怎麼做?(-webkit-font-smoothing:antialiased;)
§font-style屬性可以讓它賦值為「oblique」oblique是什麼意思?
§position:fixed;在android下無效怎麼處理?
§如果需要手動寫動畫,你認為最小時間間隔是多久,為什麼?(阿里)
§display:inline-block什麼時候會顯示間隙?(攜程)
§overflow:scroll時不能平滑滾動的問題怎麼處理?
§有一個高度自適應的div,裡面有兩個div,一個高度100px,希望另一個填滿剩下的高度。
§png、jpg、gif這些圖片格式解釋一下,分別什麼時候用。有沒有了解過webp?
§什麼是Cookie隔離?(或者說:請求資源的時候不要讓它帶cookie怎麼做)
§style標簽寫在body後與body前有什麼區別?
三、JavaScript
§介紹JavaScript的基本數據類型。
§說說寫JavaScript的基本規范?
§JavaScript原型,原型鏈?有什麼特點?
§JavaScript有幾種類型的值?(堆:原始數據類型和棧:引用數據類型),你能畫一下他們的內存圖嗎?
§Javascript如何實現繼承?
§Javascript創建對象的幾種方式?
§Javascript作用鏈域?
§談談This對象的理解。
§eval是做什麼的?
§什麼是window對象?什麼是document對象?
§null,undefined的區別?
§寫一個通用的事件偵聽器函數(機試題)。
§[「1」,「2」,「3」].map(parseInt)答案是多少?
§關於事件,IE與火狐的事件機制有什麼區別?如何阻止冒泡?
§什麼是閉包(closure),為什麼要用它?
§javascript代碼中的」usestrict」;是什麼意思?使用它區別是什麼?
§如何判斷一個對象是否屬於某個類?
§new操作符具體幹了什麼呢?
§用原生JavaScript的實現過什麼功能嗎?
§Javascript中,有一個函數,執行時對象查找時,永遠不會去查找原型,這個函數是?
§對JSON的了解?
§[].forEach.call($$("*"),function(a){a.style.outline="1pxsolid
#"+(~~(Math.random()*(1<<24))).toString(16)})能解釋一下這段代碼的意思嗎?
§js延遲載入的方式有哪些?
§Ajax是什麼?如何創建一個Ajax?
§同步和非同步的區別?
§如何解決跨域問題?
§頁面編碼和被請求的資源編碼如果不一致如何處理?
§模塊化開發怎麼做?
§AMD(Moles/Asynchronous-Definition)、CMD(CommonMole
Definition)規范區別?
§requireJS的核心原理是什麼?(如何動態載入的?如何避免多次載入的?如何緩存的?)
§讓你自己設計實現一個requireJS,你會怎麼做?
§談一談你對ECMAScript6的了解?
§ECMAScript6怎麼寫class么,為什麼會出現class這種東西?
§非同步載入的方式有哪些?
§documen.write和innerHTML的區別?
§DOM操作——怎樣添加、移除、移動、復制、創建和查找節點?
§.call()和.apply()的含義和區別?
§數組和對象有哪些原生方法,列舉一下?
§JS怎麼實現一個類。怎麼實例化這個類
§JavaScript中的作用域與變數聲明提升?
§如何編寫高性能的Javascript?
§那些操作會造成內存泄漏?
§JQuery的源碼看過嗎?能不能簡單概況一下它的實現原理?
§jQuery.fn的init方法返回的this指的是什麼對象?為什麼要返回this?
§jquery中如何將數組轉化為json字元串,然後再轉化回來?
§jQuery的屬性拷貝(extend)的實現原理是什麼,如何實現深拷貝?
§jquery.extend與jquery.fn.extend的區別?
§jQuery的隊列是如何實現的?隊列可以用在哪些地方?
§談一下Jquery中的bind(),live(),delegate(),on()的區別?
§JQuery一個對象可以同時綁定多個事件,這是如何實現的?
§是否知道自定義事件。jQuery里的fire函數是什麼意思,什麼時候用?
§jQuery是通過哪個方法和Sizzle選擇器結合的?(jQuery.fn.find()進入Sizzle)
§針對jQuery性能的優化方法?
§Jquery與jQueryUI有啥區別?
§JQuery的源碼看過嗎?能不能簡單說一下它的實現原理?
§jquery中如何將數組轉化為json字元串,然後再轉化回來?
§jQuery和Zepto的區別?各自的使用場景?
§針對jQuery的優化方法?
§Zepto的點透問題如何解決?
§jQueryUI如何自定義組件?
§需求:實現一個頁面操作不會整頁刷新的網站,並且能在瀏覽器前進、後退時正確響應。給出你的技術實現方案?
§如何判斷當前腳本運行在瀏覽器還是node環境中?(阿里)
§移動端最小觸控區域是多大?
§jQuery的slideUp動畫,如果目標元素是被外部事件驅動,當滑鼠快速地連續觸發外部元素事件,
動畫會滯後的反復執行,該如何處理呢?
§把Script標簽放在頁面的最底部的body封閉之前和封閉之後有什麼區別?瀏覽器會如何解析它們?
§移動端的點擊事件的有延遲,時間是多久,為什麼會有?怎麼解決這個延時?(click有300ms
延遲,為了實現safari的雙擊事件的設計,瀏覽器要知道你是不是要雙擊操作。)
§知道各種JS框架(Angular,Backbone,Ember,React,Meteor,Knockout)么?
能講出他們各自的優點和缺點么?
§Underscore對哪些JS原生對象進行了擴展以及提供了哪些好用的函數方法?
§解釋JavaScript中的作用域與變數聲明提升?
§那些操作會造成內存泄漏?
§JQuery一個對象可以同時綁定多個事件,這是如何實現的?
§Node.js的適用場景?
§(如果會用node)知道route,middleware,cluster,nodemon,pm2,server-side
rendering么?
§解釋一下Backbone的MVC實現方式?
§什麼是「前端路由」?什麼時候適合使用「前端路由」?「前端路由」有哪些優點和缺點?
§知道什麼是webkit么?知道怎麼用瀏覽器的各種工具來調試和debug代碼么?
§如何測試前端代碼么?知道BDD,TDD,UnitTest么?知道怎麼測試你的前端工程么(mocha,sinon,jasmin,
qUnit..)?
§前端templating(Mustache,underscore,handlebars)是幹嘛的,怎麼用?
§簡述一下Handlebars的基本用法?
§簡述一下Handlerbars的對模板的基本處理流程,如何編譯的?如何緩存的?
§用js實現千位分隔符?(來源:前端農民工,提示:正則+replace)
§檢測瀏覽器版本版本有哪些方式?
§我們給一個dom同時綁定兩個點擊事件,一個用捕獲,一個用冒泡,你來說下會執行幾次事件,然後會先執行冒泡還是捕獲。
四、其他問題
§原來公司工作流程是怎麼樣的,如何與其他人協作的?如何誇部門合作的?
§你遇到過比較難的技術問題是?你是如何解決的?
§設計模式知道什麼是singleton,factory,strategy,decrator么?
§常使用的庫有哪些?常用的前端開發工具?開發過什麼應用或組件?
§頁面重構怎麼操作?
§列舉IE與其他瀏覽器不一樣的特性?
§99%的網站都需要被重構是那本書上寫的?
§什麼叫優雅降級和漸進增強?
§是否了解公鑰加密和私鑰加密。
§WEB應用從伺服器主動推送Data到客戶端有那些方式?
§對Node的優點和缺點提出了自己的看法?
§你有用過哪些前端性能優化的方法?
§http狀態碼有那些?分別代表是什麼意思?
§一個頁面從輸入URL到頁面載入顯示完成,這個過程中都發生了什麼?(流程說的越詳細越好)
§部分地區用戶反應網站很卡,請問有哪些可能性的原因,以及解決方法?
§從打開app到刷新出內容,整個過程中都發生了什麼,如果感覺慢,怎麼定位問題,怎麼解決?
§除了前端以外還了解什麼其它技術么?你最最厲害的技能是什麼?
§你用的得心應手用的熟練地編輯器&開發環境是什麼樣子?
§對前端界面工程師這個職位是怎麼樣理解的?它的前景會怎麼樣?
§你怎麼看待WebApp、hybridApp、NativeApp?
§你移動端前端開發的理解?(和Web前端開發的主要區別是什麼?)
§你對加班的看法?
§平時如何管理你的項目?
§說說最近最流行的一些東西吧?常去哪些網站?
§如何設計突發大規模並發架構?
§說說最近最流行的一些東西吧?常去哪些網站?
§是否了解開源的工具bower、npm、yeoman、grunt、gulp,一個npm的包里的package.json
具備的必要的欄位都有哪些?(名稱、版本號,依賴)
§每個模塊的代碼結構都應該比較簡單,且每個模塊之間的關系也應該非常清晰,隨著功能和迭代次數越來越多,你會如何去保持這個狀態的?
§Git知道branch,diff,merge么?
§如何設計突發大規模並發架構?
§當團隊人手不足,把功能代碼寫完已經需要加班的情況下,你會做前端代碼的測試嗎?
§說說最近最流行的一些東西吧?平時常去哪些網站?
§知道什麼是SEO並且怎麼優化么?知道各種metadata的含義么?
§移動端(AndroidIOS)怎麼做好用戶體驗?
§簡單描述一下你做過的移動APP項目研發流程?
§你在現在的團隊處於什麼樣的角色,起到了什麼明顯的作用?
§你認為怎樣才是全端工程師(FullStackdeveloper)?
§介紹一個你最得意的作品吧?
§你有自己的技術博客嗎,用了哪些技術?
§對前端安全有什麼看法?
§是否了解Web注入攻擊,說下原理,最常見的兩種攻擊(XSS和CSRF)了解到什麼程度?
§項目中遇到國哪些印象深刻的技術難題,具體是什麼問題,怎麼解決?。
§最近在學什麼東西?
§你的優點是什麼?缺點是什麼?
§如何管理前端團隊?
§最近在學什麼?能談談你未來3,5年給自己的規劃嗎?
§
以上就是小編今天為大家分享的關於web前端工程師面試題的文章,希望本篇文章能夠對正准備學習編程技術的小夥伴們有所幫助。想要了解更多web前端相關知識記得關注北大青鳥web前端培訓官網哦!最後希望小夥伴們能夠好好准備這些問題的答案,在面試中取得好成績,成為一名優秀的web前端工程師!
§
『捌』 web前端經典面試題
為大家帶來一些web前端的面試題,希望可以幫助到大家啊。
1.css3有哪些新特性?
選擇器、圓角、動畫、多重背景、背景的寬度高度flex布局響應式布局邊框陰影文本陰影
2.響應式布局怎麼理解的,響應式布局是通過什麼實現?
根據不同的屏幕載入不同的css樣式
1).移動端適配
2).一套代碼適配pc端移動端多個
3.js創建對象有哪幾種方式?
1).自面量
2).newObject
3).構造函數
4.es6有哪些新特性?
1).letconst
2).模板字元串
3).方法的簡寫屬性的簡寫
4).三點運算符
5).解構賦值
6).箭頭函數
7).setmap
8).class類
9).模塊化
5.箭頭函數和普通的方法有什麼區別?
1).箭頭函數省略了function
2).箭頭函數裡面的this指向上下文(可以改變this指向)
6.gulp可以干什麼
gulp自動化構建工具。
壓縮代碼合並代碼壓縮圖片自動處理前綴創建web服務處理sass
7.清除浮動有哪些方法。
1).浮動元素的父元素overflow:hiddenoverflow:auto
2).浮動元素的最後面加一個空div給他clear:both
3).after偽類清除浮動
.clearfix:after{
content:"";
dislpay:block;
height:0px;
clear:both;
}
4)、給父元素設置高度。
8.行內元素塊元素的區別?
1)塊元素默認獨佔一行,行內元素默認情況不獨佔一行,行內元素的的寬度就是內容的寬度
2)默認情況塊元素可以設置寬度高度默認情況行內元素不可以設置寬度高度
3)默認可以margin上下左右,行內默認只能margin左右不能上下。
9.網站載入速度優化?
1).圖片不失真盡量小
2).多個背景圖片合並
3).代碼壓縮代碼合並
4).js寫到頁面最底部
5).懶載入
6).不要有冗餘代碼
7).伺服器帶寬款一些
8).伺服器固態硬碟
9).開啟緩存
10.以前寫代碼什麼情況會成出現亂碼怎麼解決?
解決亂碼文件保存的編碼和設置的編碼必須保持一致
11.以前如何測試調試移動端頁面
1).首先在瀏覽器自帶的調試工具模擬器裡面調試
2).真機的內置瀏覽器調試
3).真機上面的UC裡面調試
4).真機上的微信裡面調試。
『玖』 Web前端站點有哪些功能測試的方法
有些測試方法的界限比較模糊,比如功能測試的同時會穿插一些兼容性和安全性的測試,以下列出簡單的一些點,可以參考下:
1、該頁所提供的功能邏輯方面有無問題;
2、各輸入項的合法性測試、輸入順序;(是否只做了前端的js驗證)
3、該頁許可權,既無訪問許可權的用戶能否直接訪問該頁;
4、不同瀏覽器下該頁的顯示;
5、該頁鏈接的參數是否可以修改,對功能的影響;
7、多個頁面打開該頁,進行操作,是否有不合法的影響;
8、網路環境異常情況下系統的處理;
9、頁面鏈接是否正確;
10、cookies測試;