2018 淺談前端面試那些事

整理了一份最新前端知識點,希望對各位要面試的程序猿們能有幫助。


知識點匯總

1.HTML

HTML5新特性,語義化

瀏覽器的標準模式和怪異模式

xhtml和html的區別

使用data-的好處

meta標簽

canvas

HTML廢棄的標簽

IE6 bug,和一些定位寫法

css js放置位置和原因

什么是漸進式渲染

html模板語言

meta viewport原理-

2.CSS

盒模型,box-sizing

CSS3新特性,偽類,偽元素,錨偽類

CSS實現隱藏頁面的方式

如何實現水平居中和垂直居中。

說說position,display

請解釋*{box-sizing:border-box;}的作用,并說明使用它的好處

浮動元素引起的問題和解決辦法?絕對定位和相對定位,元素浮動后的display值

link和@import引入css的區別

解釋一下css3的flexbox,以及適用場景

inline和inline-block的區別

哪些是塊級元素那些是行級元素,各有什么特點

grid布局

table布局的作用

實現兩欄布局有哪些方法?

css dpi

你知道attribute和property的區別么

css布局問題?css實現三列布局怎么做?如果中間是自適應又怎么做?

流式布局如何實現,響應式布局如何實現

移動端布局方案

實現三欄布局(圣杯布局,雙飛翼布局,flex布局)

清除浮動的原理

overflow:hidden有什么缺點?

padding百分比是相對于父級寬度還是自身的寬度

css3動畫,transition和animation的區別,animation的屬性,加速度,重力的模擬實現

CSS 3 如何實現旋轉圖片(transform: rotate)

sass less

對移動端開發了解多少?(響應式設計、Zepto;@media、viewport、JavaScript 正則表達式判斷平臺。)

什么是bfc,如何創建bfc?解決什么問題?

CSS中的長度單位(px,pt,rem,em,ex,vw,vh,vh,vmin,vmax)

CSS 選擇器的優先級是怎樣的?

雪碧圖

svg

媒體查詢的原理是什么?

CSS 的加載是異步的嗎?表現在什么地方?

常遇到的瀏覽器兼容性問題有哪些?常用的hack的技巧

外邊距合并

解釋一下“::before”和“:after”中的雙冒號和單冒號的區別-

3.JS

js的基本類型有哪些?引用類型有哪些?null和undefined的區別。

如何判斷一個變量是Array類型?如何判斷一個變量是Number類型?(都不止一種)

Object是引用類型嘛?引用類型和基本類型有什么區別?哪個是存在堆哪一個是存在棧上面的?

JS常見的dom操作api

解釋一下事件冒泡和事件捕獲

事件委托(手寫例子),事件冒泡和捕獲,如何阻止冒泡?如何組織默認事件?

對閉包的理解?什么時候構成閉包?閉包的實現方法?閉包的優缺點?

this有哪些使用場景?跟C,Java中的this有什么區別?如何改變this的值?

call,apply,bind

顯示原型和隱式原型,手繪原型鏈,原型鏈是什么?為什么要有原型鏈

創建對象的多種方式

實現繼承的多種方式和優缺點

new 一個對象具體做了什么

手寫Ajax,XMLHttpRequest

變量提升

舉例說明一個匿名函數的典型用例

指出JS的宿主對象和原生對象的區別,為什么擴展JS內置對象不是好的做法?有哪些內置對象和內置函數?

attribute和property的區別

document load和document DOMContentLoaded兩個事件的區別

=== 和 == , [] === [], undefined === undefined,[] == [], undefined == undefined

typeof能夠得到哪些值

什么是“use strict”,好處和壞處

函數的作用域是什么?js 的作用域有幾種?

JS如何實現重載和多態

常用的數組api,字符串api

原生事件綁定(跨瀏覽器),dom0和dom2的區別?

給定一個元素獲取它相對于視圖窗口的坐標

如何實現圖片滾動懶加載

js 的字符串類型有哪些方法? 正則表達式的函數怎么使用?

深拷貝

編寫一個通用的事件監聽函數

web端cookie的設置和獲取

setTimeout和promise的執行順序

JavaScript 的事件流模型都有什么?

navigator對象,location和history

js的垃圾回收機制

內存泄漏的原因和場景

DOM事件的綁定的幾種方式

DOM事件中target和currentTarget的區別

typeof 和 instanceof 區別,instanceof原理

js動畫和css3動畫比較

JavaScript 倒計時(setTimeout)

js處理異常

js的設計模式知道那些

輪播圖的實現,以及輪播圖組件開發,輪播10000張圖片過程

websocket的工作原理和機制。

手指點擊可以觸控的屏幕時,是什么事件? 什么是函數柯里化?以及說一下JS的API有哪些應用到了函數柯里化的實現?(函數柯里化一些了解,以及在函數式編程的應用,- 最后說了一下JS中bind函數和數組的reduce方法用到了函數柯里化。)

JS代碼調試-

4.ES6

談一談 promise

所有的 ES6 特性你都知道嗎?如果遇到一個東西不知道是 ES6 還是 ES5, 你該怎么區分它

es6的繼承和es5的繼承有什么區別

promise封裝ajax

let const的優點

es6 generator 是什么,async/await 實現原理

ES6和node的commonjs模塊化規范區別

箭頭函數,以及它的this-

5.計算機網絡

HTTP協議頭含有哪些重要的部分,HTTP狀態碼

網絡url輸入到輸出怎么做?

性能優化為什么要減少 HTTP 訪問次數?

Http請求的過程與原理

https(對是https)有幾次握手和揮手?https的原理。

http有幾次揮手和握手?TLS的中文名?TLS在哪一網絡層?

TCP連接的特點,TCP連接如何保證安全可靠的?

為什么TCP連接需要三次握手,兩次不可以嗎,為什么

為什么tcp要三次握手四次揮手?

tcp的三次握手和四次揮手畫圖(當場畫寫ack 和 seq的值)?

tcp與udp的區別

get和post的區別?什么情況下用到?

http2 與http1 的區別?

websocket

什么是tcp流,什么是http流

babel是如何將es6代碼編譯成es5的

http2的持久連接和管線化

域名解析時是tcp還是udp

域名發散和域名收斂

Post一個file的時候file放在哪的?

HTTP Response的Header里面都有些啥?-

6.瀏覽器相關

跨域,為什么JS會對跨域做出限制

前端安全:xss,csrf…

瀏覽器怎么加載頁面的?script腳本阻塞有什么解決方法?defer和async的區別?

瀏覽器強緩存和協商緩存

瀏覽器的全局變量有哪些

瀏覽器同一時間能夠從一個域名下載多少資源

按需加載,不同頁面的元素判斷標準

web存儲、cookies、localstroge等的使用和區別

瀏覽器的內核

如何實現緩存機制?(從200緩存,到cache到etag再到)

說一下200和304的理解和區別

什么是預加載、懶加載

一個 XMLHttpRequest 實例有多少種狀態?

dns解析原理,輸入網址后如何查找服務器

服務器如何知道你?

瀏覽器渲染過程

ie的某些兼容性問題

session

拖拽實現

拆解url的各部分-

7.工程化

對webpack,gulp,grunt等有沒有了解?對比。

webpack的入口文件怎么配置,多個入口怎么分割。

webpack的loader和plugins的區別

gulp的具體使用。

前端工程化的理解、如何自己實現一個文件打包,比如一個JS文件里同時又ES5 和ES6寫的代碼,如何編譯兼容他們-

8.模塊化

對AMD,CMD,CommonJS有沒有了解?

為什么要模塊化?不用的時候和用RequireJs的時候代碼大概怎么寫?

說說有哪些模塊化的庫,有了解過模塊化的發展的歷史嗎?

分別說說同步和異步模塊化的應用場景,說下AMD異步模塊化實現的原理?

如何將項目里面的所有的require的模塊語法換成import的ES6的語法?

使用模塊化加載時,模塊加載的順序是怎樣的,如果不知道,根據已有的知識,你覺得順序應該是怎么樣的?


9.框架

使用過哪些框架?

zepto 和 jquery 是什么關系,有什么聯系么?

jquery源碼如何實現選擇器的,為什么$取得的對象要設計成數組的形式,這樣設計的目的是什么

jquery如何綁定事件,有幾種類型和區別

什么是MVVM,MVC,MVP

Vue和Angular的雙向數據綁定原理

Vue,Angular組件間通信以及路由原理

react和vue的生命周期

react和vue的虛擬dom以及diff算法

vue的observer,watcher,compile

react和angular分別用在什么樣的業務嗎?性能方面和MVC層面上的區別

jQuery對象和JS的Element有什么區別

jQuery對象是怎么實現的

jQuery除了它封裝了一些方法外,還有什么值得我們去學習和使用的?

jQuery的$(‘xxx’)做了什么事情

介紹一下bootstrap的柵格系統是如何實現的-

10.Nodejs

對nodejs有沒有了解

Express 和 koa 有什么關系,有什么區別?

nodejs適合做什么樣的業務?

nodejs與php,java有什么區別

Nodejs中的Stream和Buffer有什么區別?

node的異步問題是如何解決的?

node是如何實現高并發的?

說一下 Nodejs 的 event loop 的原理-

11.數據結構

基本數據結構:(數組、隊列、鏈表、堆、二叉樹、哈希表等等)

8種排序算法,原理,以及適用場景和復雜度

說出越多越好的費波拉切數列的實現方法?-

12.性能優化

cdn的用法是什么?什么時候用到?

瀏覽器的頁面優化?

如何優化 DOM 操作的性能

單頁面應用有什么SEO方案?

單頁面應用首屏顯示比較慢,原因是什么?有什么解決方案?-

13.其他

正則表達式

前端渲染和后端渲染的優缺點

數據庫的四大特性,什么是原子性,表的關系

你覺得前端體系應該是怎樣的?

一個靜態資源要上線,里面有各種資源依賴,你如何平穩上線

如果要你去實現一個前端模板引擎,你會怎么做

知道流媒體查詢嗎?

SEO

mysql 和 mongoDB 有什么區別?

restful的method解釋

數據庫知識、操作系統知識

click在ios上有300ms延遲,原因及如何解決

移動端的適配,rem+媒體查詢/meta頭設置

移動端的手勢和事件;

unicode,utf8,gbk編碼的了解,亂碼的解決-

14.開放性問題

你都看過什么書?最近在看什么書?

用過什么框架?有沒有看過什么框架的代碼?

有沒有學過設計模式?

說一說觀察者模式吧!能不能寫出來?

你最大的優點是什么?那你最大的缺點呢?

你除了寫博客還有什么輸出?

現在你的領導給你了一份工作,要求你一個星期完成,但你看了需求以后估計需要3周才能完成,你該怎么辦?

平時關注的前端技術

如何規劃自己的職業生涯

項目過程中,有遇到什么問題嗎?怎么解決的?

最近在研究哪方面的東西?

請介紹一項你最熱愛、最擅長的專業領域,并且介紹的學習規劃。

請介紹你參與的印象最深刻的一個項目,為什么?并且介紹你在項目中的角色和發揮的作用。-

15.HR面

你為什么要學習前端?

你平時的是怎么學習前端的?有什么輸出?

你覺得自己最好的項目是什么?

身邊比較佩服的人有什么值得你學習的?你為什么沒有跟他們一樣?

同事的什么問題會讓你接受不了

壓力最大的事情是什么?

身邊的朋友通常對你的評價是什么

喜歡什么樣的工作氛圍

如何看待加班

有沒有對象

意向城市

其他的offer

為什么要錄取你?

周末都會干什么?

未來職業規劃

END

?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市,隨后出現的幾起案子,更是在濱河造成了極大的恐慌,老刑警劉巖,帶你破解...
    沈念sama閱讀 227,967評論 6 531
  • 序言:濱河連續發生了三起死亡事件,死亡現場離奇詭異,居然都是意外死亡,警方通過查閱死者的電腦和手機,發現死者居然都...
    沈念sama閱讀 98,273評論 3 415
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人,你說我怎么就攤上這事。” “怎么了?”我有些...
    開封第一講書人閱讀 175,870評論 0 373
  • 文/不壞的土叔 我叫張陵,是天一觀的道長。 經常有香客問我,道長,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 62,742評論 1 309
  • 正文 為了忘掉前任,我火速辦了婚禮,結果婚禮上,老公的妹妹穿的比我還像新娘。我一直安慰自己,他們只是感情好,可當我...
    茶點故事閱讀 71,527評論 6 407
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著,像睡著了一般。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發上,一...
    開封第一講書人閱讀 55,010評論 1 322
  • 那天,我揣著相機與錄音,去河邊找鬼。 笑死,一個胖子當著我的面吹牛,可吹牛的內容都是我干的。 我是一名探鬼主播,決...
    沈念sama閱讀 43,108評論 3 440
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了?” 一聲冷哼從身側響起,我...
    開封第一講書人閱讀 42,250評論 0 288
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后,有當地人在樹林里發現了一具尸體,經...
    沈念sama閱讀 48,769評論 1 333
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內容為張勛視角 年9月15日...
    茶點故事閱讀 40,656評論 3 354
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發現自己被綠了。 大學時的朋友給我發了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 42,853評論 1 369
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖,靈堂內的尸體忽然破棺而出,到底是詐尸還是另有隱情,我是刑警寧澤,帶...
    沈念sama閱讀 38,371評論 5 358
  • 正文 年R本政府宣布,位于F島的核電站,受9級特大地震影響,放射性物質發生泄漏。R本人自食惡果不足惜,卻給世界環境...
    茶點故事閱讀 44,103評論 3 347
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧,春花似錦、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 34,472評論 0 26
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至,卻和暖如春,著一層夾襖步出監牢的瞬間,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 35,717評論 1 281
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人。 一個月前我還...
    沈念sama閱讀 51,487評論 3 390
  • 正文 我出身青樓,卻偏偏與公主長得像,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 47,815評論 2 372

推薦閱讀更多精彩內容