㈠ web 前端開發面試的時候,主考官一般會問哪些知識
根據面試官的不同,面試的內容頁不一樣的。一般的話就是html+css布局佔一部分,例如各瀏覽器的兼容性,然後就是js的ajax,閉包,冒泡什麼的,js會占很大一部分,也有一部分面試官會拋開這些,直接問公司需要的內容,這樣的話就是考驗你的實際操作了,這類的面試官我很喜歡,就是直接問布局,數據填充之類的,能學到很多東西,建議面試時偷偷用手機錄音,回來之後聽一聽,研究一下自己不會的問題,因為面試完之後,你可能就會忘了面試時都問過什麼了
㈡ 誰能給我出一兩道 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前端的工作,會被問到什麼問題
在實際的面試中,你可能需要使用 JavaScript、CSS 和 HTML 來編寫代碼。在你的面試期間,你可能需要實現 UI、構建窗口小部件或使用 Lodash 和 Underscore.js 這樣的庫編寫常用的實用程序函數。例如:構建常見的 Web 應用程序的布局和交互,例如類似 Netflix 網站那樣的。實現小部件,如日期選擇器、輪播或電子商務網站購物車。寫一個類似 debounce 或深度 clone 對象的函數。
㈣ 怎麼准備Android面試
總體上來說可以分為兩種類型,小公司注重你的實踐能力,大公司看中你的綜合能力。小公司面試會比較集中安卓開發這一塊,比較在意你之前有沒有類似的項目經驗,有沒有遇到過目前他們所遇到的一些問題,准備這類公司面試除了基本的一些知識點還需要關注一些安卓開發實際中經常遇到的一些問題,諸如圖片緩存,常見的開源框架,oom問題等等。大公司面試比較在意你的綜合能力,無外乎是數據結構與演算法,計算機網路,操作系統,Java這。我想說在我列出的這么多考查點中,數據結構與演算法是一個分水嶺,這個的准備需要一個長時間的積累,真正的高手與一般人一試就知道,屢試不爽,所以很多公司都痴迷於考演算法,像是美團,網路,愛奇藝等公司,總共整個面試下來可以讓你手寫5個演算法題以上,我說這么多隻想告訴你這是一個門檻,能不能跨過去決定了你最終所找工作的水準,所以我都會建議每一個找程序員相關工作的人,這一塊要盡早准備,多刷一些leetcode或是其他類似的題。然後在剩下的幾塊知識中,我只想說你可以不用全部都懂,但是你必須要在某一塊知識點是有深入研究的,能夠回答面試官4到5個追加問題,如果所以知識點都只能答上一到兩個,面試官會覺得你的水平就是這樣了,另外也會覺得你沒有探究精神,關於後面一點是很恐怖的沒有探究精神做不了好的程序員。如果按照重要程度,面試安卓我覺得可以做一個這樣的排序:數據結構與演算法,java,安卓,計算機網路,操作系統,後面是資料庫或是設計模式之類的。java這一塊比較重要的是多線程同步非同步,java虛擬機內存回收,容器,面向對象一些知識點。就單單是多線程和虛擬機都可以看好幾本專門講解的書了,其他知識點就多啃啃java編程思想,遇到不懂在多翻翻博客加深理解。安卓這一塊,非同步機制,view的繪制,自定義控制項,四大組件都非常重要。不管是android或是java都最好看一些源碼,java可以看一些容器的源碼,android可以看handler,looper,message等非同步通信的源碼或是一些開源框架的源碼,會看源碼絕對是加分項。計算機網路可以注重看上面幾層,傳輸層注重研究。一般來說,前面這幾點掌握好了,足以聊好幾輪面試,一般面試官你都可以引導他去聊一些你擅長的知識點。後面幾塊知識點,你可以先掌握一些比較重要的,不一定每次面試都會遇到,但是也得准備。
我只提供一些大概的思路,具體到沒一塊知識點怎麼准備可以自己去搜集,大的方向對了加上好的執行力一般可以取得不錯的結果,祝好!
2016.03.14更新,加一些具體的准備建議:
上面這幾塊知識點,按照其重要程度排序,我個人認為可以這樣排:數據結構與演算法,Java,Android(如果不找安卓的就去掉這部分),計算機網路,操作系統,設計模式。下面我就按照這個順序給出一些准備建議。
Ø 數據結構與演算法
推薦書籍:大話數據結構,數據結構與演算法分析(java語言描述),劍指offer,進軍矽谷。
推薦在線刷題網站:Leetcode(LeetCode Online Judge),Lintcod(LintCode - 主頁),牛客網(在線編程_C++Java前端經典筆試面試題庫)
推薦方案:主要做三件事。
1, 先看一遍大話數據結構,熟悉一些基本概念,大話這本書只講了一些基本的數據結構,像是B樹,B+樹,紅黑樹需要自己看一些博客或是網站,推薦一個講解演算法的網站-七月演算法,另外海量數據處理也是一個經常考的專題,它結合了數據結構和操作系統的一些知識,這個需要進行針對性准備。
2,然後開始刷題,最推薦的肯定是leetcode,刷題建議按照標簽進行刷題(比如隊列,棧,哈希表),刷題從易到難,最好能夠刷一百題左右,如果一天一題,至少要三個月以上,所以這個耗時比較長,要從比較早開始准備。進軍矽谷這本書有按照專題進行編排,基本上的題目來自leetcode,可以作為一個參考。
2, 然後要分析一些常見數據結構的源碼實現(比如隊列,棧,hashmap之類的),數據結構與演算法分析這本書有講一些,可以結合一些博客進行准備。
Ø Java
找程序員工作,大多數情況下需要掌握好一門面向對象的語言,主流上分為Java和C++兩大陣營。這里講Java需要怎麼准備。
入門書籍:Java核心技術卷一,Head first in java(如果一點面向對象的概念都沒有那就看這本)
提高書籍:Java編程思想
Java虛擬機:深入理解Java虛擬機
Java多線程:Java多線程編程核心技術,Java並發編程實踐
其實我覺得如果有一定基礎建議直接看Java編程思想,面試中的考點經常都會在這本書中有講到。當然Java虛擬機和多線程這兩塊需要再看一些專門講解的書,每一次java面試考查內容幾乎都離不開這兩塊。
總體來說java考察內容包括以下這些:
1,面向對象的一些基本概念:繼承,多態之類的
2, 抽象類和介面
3, 靜態類,內部類
4, Java集合類,同步和非同步
5, Java類載入機制
6, Java內存模型和垃圾回收演算法
7, 線程同步機制(volatile,synchronized,重入鎖,threadlocal),線程間通信(wait,notify)
8, 異常處理
9, 多線程同步問題,生產者消費者,讀者寫者,哲學家就餐,用java實現
10,
了解java中設計模式的思想,用了哪些設計模式,有什麼好處
Ø Android
入門書籍:第一行代碼。
提高書籍:Android群英傳,Android開發藝術探索。
上面的書看好了,一般問題不大。主要問的一些問題:
1, Activity,Service,BrocastReceiver,Intent,Fragemnet,ContentProvider,這些組件的基礎知識,比如Activity兩種啟動方式,生命周期,四種啟動模式,Service則主要是:兩種啟動方式,生命周期。還有組件之間怎麼通信之類的問題。
2, Android的數據存儲方式,資料庫,sd卡,SharedPreferences 這些
3, Listview的優化,與scollview的區別
4, view狀態與重繪,view的繪制過程,view的事件分發機制,view的事件沖突處理
5, Android多線程非同步機制,AsyncTask工作原理與源碼實現,Handler,Message,Looper非同步實現機制與源碼分析
6, Android常見的開源框架(主要是網路通信,圖片載入這些),了解怎麼使用,分析源碼
7, Oom和anr異常引發的原因,怎麼解決
8, 了解一些常見的圖片緩存技術
Ø 計算機網路
推薦書籍:計算機網路自頂向下,tcp/ip協議詳解卷一
主要看:主要看應用層,傳輸層,網路層,其中傳輸層最為重要。主要的一些考察內容有:
1, TCP和UDP的區別
2, TCP的三次握手,和四次揮手,為什麼需要三次握手,為什麼要四次揮手(這兩個為什麼要考慮非常清楚)
3, TCP擁塞控制演算法(慢啟動,擁塞避免,快速恢復),流量控制演算法,滑動窗口協議,選擇重傳。
4, TCP可靠性是怎麼保證的(通過哪些機制保證)?
5, HTTP協議報文格式,請求方法欄位以及各個方法之間的區別,了解常見的響應狀態碼,了解cookie機制,了解WEB緩存技術(條件get方法)。
6, DNS協議的各層域名伺服器,兩種查詢方式(遞歸和迭代),dns緩存
7, Udp的特點,適用場景,校驗機制
8, 從輸入一個網址到最後網頁顯示整個過程發生了什麼?
9, IP地址組成,ARR,RARP,ICMP協議,路由選擇演算法
㈤ 有哪些經典的前端開發面試題及答案解析
行元素與塊元素的區別;
如何清除浮動;
定位方式當中,absolute與fixed、relative的區別;
事件的兼容問題;
Ajax是什麼;
如何優化你的頁面;
響應式布局是什麼等等。
經典的前端面試題至少有近百道,在這里也沒辦法全部給你列出來,你可以看看這個(小-程序),裡面有好幾百道面試真題,也有比較好的答案解析。
㈥ 如何面試前端工程師
隨著時代的發展,很多新興的就業職位隨之產生。前端工程師將就是隨著互聯網的快速發展而產生的。其實在很多人的觀念里,前端工程師也就是一個切頁面的而已,他們也就是會html、css、javascript這些沒有任何技術含量的網頁製作而已。然而隨著技術飛速發展,人們對這些技術的要求也是越來越高,如果只憑著一個人來把所有的事情都解決是很困難的,所以這個時候前端工程師就開始發揮著他們很大的作用了。
那我們應該如何來面試前端工程師呢?
談吐要大方得體
在我們在面對面試官時我們千萬不要緊張。在進行自我介紹時我們要努力做到自信大方、吐字清晰。我們在自我介紹時要用簡明扼要的話語來介紹自己,突出自己的優點表明自己的求職意向。你要通過寥寥數語把自己的優勢都向面試官介紹清楚。記住不必要的話語要少說。
好了關於如何面試前端工程師這個話題我就聊到這了。希望我的回答能對你有所幫助。
㈦ 有哪些經典的 Web 前端或者 JavaScript 面試筆試題
數組去重。。。。。。。。定時器,閉包的破題。
㈧ Web前端崗位面試題有哪些
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)
10.寫出幾種IE6 BUG的解決方法
1.雙邊距BUG float引起的 使用display
2.3像素問題 使用float引起的 使用dislpay:inline -3px
3.超鏈接hover 點擊後失效 使用正確的書寫順序 link visited hover active
4.Ie z-index問題 給父級添加position:relative
5.Png 透明 使用js代碼 改
6.Min-height 最小高度 !Important 解決』
7.select 在ie6下遮蓋 使用iframe嵌套
8.為什麼沒有辦法定義1px左右的寬度容器(IE6默認的行高造成的,使用over:hidden,zoom:0.08 line-height:1px)
11.標簽上title與alt屬性的區別是什麼?
Alt 當圖片不顯示是 用文字代表。
Title 為該屬性提供信息
12.描述css reset的作用和用途。
Reset重置瀏覽器的css默認屬性 瀏覽器的品種不同,樣式不同,然後重置,讓他們統一
13.解釋css sprites,如何使用。
Css 精靈 把一堆小的圖片整合到一張大的圖片上,減輕伺服器對圖片的請求數量
14.瀏覽器標准模式和怪異模式之間的區別是什麼?
盒子模型 渲染模式的不同
使用 window.top.document.compatMode 可顯示為什麼模式
15.你如何對網站的文件和資源進行優化?期待的解決方案包括:
文件合並
文件最小化/文件壓縮
使用CDN託管
緩存的使用
16.什麼是語義化的HTML?
直觀的認識標簽 對於搜索引擎的抓取有好處
17.清除浮動的幾種方式,各自的優缺點
1.使用空標簽清除浮動 clear:both(理論上能清楚任何標簽,,,增加無意義的標簽)
2.使用overflow:auto(空標簽元素清除浮動而不得不增加無意代碼的弊端,,使用zoom:1用於兼容IE)
3.是用afert偽元素清除浮動(用於非IE瀏覽器)
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
}
}
13.事件委託是什麼
讓利用事件冒泡的原理,讓自己的所觸發的事件,讓他的父元素代替執行!
14.閉包是什麼,有什麼特性,對頁面有什麼影響
閉包就是能夠讀取其他函數內部變數的函數。
15.如何阻止事件冒泡和默認事件
canceBubble return false
16.添加 刪除 替換 插入到某個接點的方法
obj.appendChidl()
obj.innersetBefore
obj.replaceChild
obj.removeChild
17.解釋jsonp的原理,以及為什麼不是真正的ajax
動態創建script標簽,回調函數
Ajax是頁面無刷新請求數據操作
㈨ 前端面試要上機實測,要去嗎
肯定是要去的,現在基本上都會要求上機實測,可能是編程,也可能是演算法。
前端面試上機都不是很難,主要是考察:處理問題的能力,文檔閱讀能力,前端基礎能力。前端上機都是實現一下基本頁面就可以了。遇到自己不會的,明確表達出這個問題不會,需要經過查找解決方法實現就過了。
可以在leetcode刷些簡單題目適應下,自己提前准備一下。
㈩ 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
}
}