前言
本篇文章主要分享技能學習的路線圖和前端校招面試題資料,希望能對想要校招和準備校招的同學有所幫助,
技能學習
一,HTML/CSS基礎
頁面設計是前端的基礎,也是入門的必經之路,無論是面試還是筆試,這部分都是必考的,
HTML是頁面中內容的載體,可以展示開發者想要用戶瀏覽的任何文字、圖片、音頻資訊,對于HTML的各類標簽,不僅要掌握日常開發中經常碰到的,也要慢慢積累那些不常用標簽,塊級、行內元素的定義以及二者相互轉換幾乎是每場技術一面必考問題,
如果將HTML標簽看成一個個搭起來的盒子,那CSS則是用來“裝飾”盒子的,如顏色、字體、背景、邊框等,在頁面開發時,展示內容的同時用戶體驗也至關重要,熟練使用CSS技術才能產出更高大上的頁面,

二, JavaScript基礎
JavaScript主要是為Web頁面添加互動行為,讓頁面中的盒子們“動”起來,
與C++、Java一樣也有自身的語法結構,基礎知識超高頻考點有資料型別以及判斷方法、閉包、塊級作用域、函式提升與變數提升、原型鏈、JS繼承、變數深淺拷貝等等,
另外,JS事件機制也是另一高頻考點,其中主要考點有原生事件系結、事件冒泡、事件委托、事件監聽、阻止默認事件觸發等等,

三,ES6新特征
JS的標準是以ECMA國際組織發布的ECMAScript為準的 ,根據不停的版本更替,不斷引入了很多新的語法特性,現在大多數瀏覽器與框架都支持ES6標準,
ES6新特性在面試中的必考點主要有:箭頭函式、Promise相關、let/const/var這三大塊,

四,瀏覽器相關
頁面在瀏覽器中顯示時,瀏覽器針對頁面中的HTML、CSS、JS代碼,以及各類圖片、音瞥澩有特定的渲染機制,
同時頁面資源請求是通過瀏覽器代為執行的,出于安全考慮,瀏覽器制定了同源策略,當請求方與目的地不同源則需要跨域請求資源,約有5~6種跨域方案,實作原理不同,也有不同方面的優缺點,此類問題幾乎是筆試中問答題的必考題,
五,框架相關
原生JS雖能實作絕大部分功能,但要么就是過于繁瑣,要么就是存在缺陷,故絕大多數開發者都會首選框架開發方案,
現階段較熱門是React、Vue兩大框架,兩者作業原理上存在共通點,也存在一些不同點,對于校招來說,不需要兩個框架都學得特別熟,一般面試官會針對你簡歷中寫的框架進行提問,

面試準備
面試資料(含答案決議)領取點擊==》《前端校招面試題精編決議大全》
HTML
- 瀏覽器頁面有哪三層構成,分別是什么,作用是什么?
- HTML5的優點與缺點?
- Doctype作用? 嚴格模式與混雜模式如何區分?它們有何意義?
- HTML5有哪些新特性、移除了哪些元素?
- 你做的網頁在哪些瀏覽器測驗過,這些瀏覽器的內核分別是什么?
- 每個HTML檔案里開頭都有個很重要的東西,Doctype,知道這是干什么的嗎?
- 說說你對HTML5認識?(是什么,為什么)
- 對WEB標準以及W3C的理解與認識?
- HTML5行內元素有哪些,塊級元素有哪些, 空元素有哪些?
- 什么是WebGL,它有什么優點?
- 請你描述一下 cookies,sessionStorage 和 localStorage 的區別?
- 說說你對HTML語意化的理解?
- …

CSS
- 解釋一下CSS的盒子模型?
- 請你說說CSS選擇器的型別有哪些,并舉幾個例子說明其用法?
- 請你說說CSS有什么特殊性?(優先級、計算特殊值)
- 要動態改變層中內容可以使用的方法?
- 常見瀏覽器兼容性問題與解決方案?
- 列出display的值并說明他們的作用?
- 如何居中div, 如何居中一個浮動元素?
- CSS中 link 和@import 的區別是?
- 請列舉幾種清除浮動的方法(至少兩種)?
- block,inline和inlinke-block細節對比?
- 什么叫優雅降級和漸進增強?
- 說說浮動元素會引起的問題和你的解決辦法
- …

前端基礎
- 說一下http和https
- tcp三次握手,一句話概括
- TCP和UDP的區別
- WebSocket的實作和應用
- HTTP請求的方式,HEAD方式
- 一個圖片url訪問后直接下載怎樣實作?
- 說一下web Quality(無障礙)
- 幾個很實用的BOM屬性物件方法?
- 說一下HTML5 drag api
- 說一下http2.0
- 補充400和401、403狀態碼
- fetch發送2次請求的原因
- …

前端核心
- JSONP的缺點
- 跨域(jsonp,ajax)
- 如何實作跨域
- dom是什么,你的理解?
- 關于dom的api有什么
- ajax回傳的狀態
- 實作一個Ajax
- 如何實作ajax請求,假如我有多個請求,我需要讓這些ajax請求按照某種順序一次執行,有什么辦法呢?如何處理ajax跨域
- 如何實作一個ajax請求?如果我想發出兩個有順序的ajax需要怎么做?
- Fetch和Ajax比有什么優缺點?
- 移動應用和web應用的關系
- …

前端進階
- 前端測驗
- 介面檔案的制定
- webpack和gulp區別(模塊化與流的區別)
- redux用處
- redux里常用方法
- angularJs和react區別
- vue雙向系結原理
- 說說vue react angularjs jquery的區別
- node的事件方法講講看
- node的特性,適合處理什么場景
- 你有用到Express,講講Express
- promise的狀態有那些
- …

移動端開發
- 介紹一下react
- React單項資料流
- react生命周期函式和react組件的生命周期
- react和Vue的原理,區別,亮點,作用
- reactJs的組件交流
- 有了解過react的虛擬DOM嗎,虛擬DOM是怎么對比的呢
- 專案里用到了react,為什么要選擇react,react有哪些好處
- 怎么獲取真正的dom
- 選擇react的原因
- react的生命周期函式
- setState之后的流程
- react高階組件知道嗎?
- …

計算機基礎
- TCP 建立連接的三次握手程序
- cdn 原理
- HTTP 的頭部包含哪些內容,常見的請求方法(我為什么要 說后面的 options,head,connect)
- 請求方法 head 特性
- HTTP 狀態碼,301和302 有什么具體區別,200 和 304 的 區別
- OSI 七層模型
- TCP 和 UDP 的區別,為什么三次握手四次揮手
- HTTP 快取機制
- websocket 和 ajax 的區別是什么,websocket 的應用場景有哪些
- TCP/IP 的網路模型
- 知道什么跨域方式嗎,jsonp 具體流程是什么,如何實作 原生 Jsonp 封裝,優化,對于 CORS,服務器怎么判斷它該不 該跨域呢
- 怎么生成 token,怎么傳遞
- …

演算法與資料結構
- 二叉樹層序遍歷
- B 樹的特性,B 樹和 B+樹的區別
- 尾遞回
- 如何寫一個大數階乘?遞回的方法會出現什么問題?
- 把多維陣列變成一維陣列的方法
- 知道的排序演算法 說一下冒泡快排的原理
- Heap 排序方法的原理?復雜度?
- 幾種常見的排序演算法,手寫
- 陣列的去重,盡可能寫出多個方法
- 如果有一個大的陣列,都是整型,怎么找出最大的前 10 個數
- 知道資料結構里面的常見的資料結構
- …

最后:由于篇幅限制,需要校招面試題PDF檔案(含答案決議)完整版,可以點贊?+評論666,然后私信【校招】,免費獲取!
轉載請註明出處,本文鏈接:https://www.uj5u.com/qianduan/279611.html
標籤:其他
