前端 2018 屆校招筆試面經【百度,阿里,騰訊,阿里文娛,攜程,美團,拼多多】


另附上本人 2017 屆面經

2017年秋季校招前端面經(百度,騰訊,網易,華為,樂視等)

百度

1.塊級元素和行內元素的區別和舉例
2.HTML5的新特性
3.清除浮動的方法
4.BFC清除浮動的原理
5.盒子模型
6.標准模式和兼容模式
7.閉包的定義
8.原型鏈和作用域鏈
9.作用域鏈和閉包的區別
10.Object的原型對象是什么
11.怎么判斷一個屬性是對象上的屬性還是其原型對象上的屬性
12.判斷一個對象類型為數組
13.網絡安全的防御
14.localStorage和cookie的區別
15.前端性能優化
16.層疊上下文
17.手寫events模塊
18.手寫將一個段落里的單詞首字母都大寫的函數

1.三欄式布局
2.塊級元素和行內元素的區別和舉例
3.h5語義化理解,新增了哪些標簽
4.css有哪些選擇器,權重多少
5.get和post區別
6.瀏覽器緩存機制
7.盒子模型
8.es6有哪些新特性
9.跨域有哪幾種實現方式
10.郵箱正則匹配 xx@xx.com/cn
11.實現一個反轉字符串的函數
12.段落首字母大寫函數
13.觀察者模式
14.快速排序怎么實現的

騰訊

1.為什么喜歡學習前端。
2.對MVVM框架的理解。
3.angularJS雙向綁定原理。
4.了解過其他的MVVM框架嗎。
5.React虛擬DOM原理。
6.單向數據流動原理。
6.html5,css3,ES6新特性。
7.ES6中比較好用的語法。
8.對閉包和作用域的理解。
9.js怎么實現面向對象。
10.實現動畫的方式。
11.網站性能優化。
12.如何查看一個網站的性能。
13.網站上線后如何查看網站在客戶電腦上的性能。
14.收集用戶信息主要收集哪些信息。
15.如何進行跨站請求。
16.如果實現跨域資源共享。
17.網站開發的流程,像是技術選型,人員分工這一類,越詳細越好。
18.網絡分層分為哪幾層。
19.狀態碼301,302。
20.網絡中每一層都有哪些協議。
21.瀏覽器的緩存分為哪幾種。
22.常用的排序算法。
23.Web安全。
24.XSS攻擊原理及如何防止。
25.需要屏蔽哪些關鍵詞。
26.了解CDN嗎。
28.OPTIONS請求的作用。
29.HTTP協議有哪些內容。
30.HTTP2.0新特性。
31.HTTPS相對於HTTP新增了哪些內容。
32.HTTPS是怎么對傳輸內容進行加密的。
33.同一個頁面里面iframe之間怎么傳遞信息。
34.網站如何實現離線應用。
35.cookier有4096B(加減1)字節的長度限制,容量是多少?js高階教程p629
36.js怎么實現表單提交按鈕的短期重復點擊。
37.ajax的post、get方法,優缺點,實現原理
38.盒模型
39.跨域請求方式
40.瀏覽器安全問題
41.input鼠標滑過獲取內容
42.項目中遇到的困難
43.css帶src的標簽 <link> <a> <img> <audio> <video>
44.談談對閉包的理解
45. var x=5, o={
x:10,
show:function(x){
var x=20;
console.log(this.x);//10
(function show1(){
console.log(this.x);//5
})();
function show2(x){//x是window
console.log(this.x);//5
}
show2(x)
}
}
o.show();
46.typeof(null)==object


47.瀏覽器緩存的底層實現原理
48.設計模式
49.css框架實現(例如:bootstrap有哪些文件,作用)
50.經常瀏覽哪些網站(知乎、大漠、阮一峰博客等等,最好說下對公司對應的哪些技術感興趣)
51.百度前端學院,做了哪些題,怎樣實現

阿里

一面
1、自我介紹之后,一個項目一個項目介紹
2、vue的雙向綁定
3、vuex數據流動過程
4、ajax應用場景以及優缺點
5、http請求中post和get請求的區別
6、跨域cros和jsonp;jsonp是怎么獲取數據的
7、閉包及應用
8、說一下js的繼承。es6里面的extent是那種繼承方式
9、講一下let const var
10、講一下flexbox
11、講一下float
12、移動端適配
13、promise定義及應用
二面
1、介紹項目,項目中每一個點追着細問
2、https實現
3、跨域等問了幾個基礎問題
HR
1、聊人生、聊計划、周圍覺得厲害的人,影響較大的人、自己的缺點、最近集中面試對你有什么影響
2、建議:增加只是探索欲及主動性會對以后工作有很好的發展。

攜程

1.對js閉包的理解
2.對原型的理解
3.js怎么實現繼承
4.angular的雙向綁定實現
5.其他框架的雙向綁定實現
6.對鏈表和二叉樹的理解
7.鏈表和數組插入的效率
8.快速排序的原理
9.快速排序的時間復雜度和空間復雜度
10.組合和繼承的關系,哪個好用
11.組合和繼承的例子

//終面
1.項目介紹
2.前端和后端的區別和分工
3.對前端渲染和后端渲染的看法
服務端的計算和渲染效率比較高,但是服務端渲染返回的頁面就需要刷新頁面,用戶體驗不好
4.更喜歡哪一種為什么
5.對前后端聯合渲染有了解嗎
6.為什么技術選型angularjs
7.為什么要重構代碼
8.重構代碼的流程
9.具體一個控制器是怎么重構的
10.寫一個深度拷貝函數
11.怎么完成一個提交訂單頁面

美團

1、三欄式布局 margin float flexbox
2、行內元素性質 (非替換元素不可設置高度和margin-top,margin-bottom)
3、清除浮動(clear:both overflow:hidden :after{content:' ';height:0;clear:both})
4、angular雙向綁定、vue雙向綁定(get set)
5、瀏覽器緩存兩種方式
6、屏幕適配布局:rem
7、http狀態碼
8、不使用緩存方式:在請求路徑后面加rand隨機數
9、image原生布局為inline
原生屬性查看方式:var myDiv=document.getElementsByTagName("img")[0];
console.log(document.defaultView.getComputedStyle(myDiv,null));

總結主要問css和框架原理以及一些瀏覽器原理


1、自我介紹
2、bootstrap 布局,柵格布局 ,怎么處理不同設備上的差異
3、http 304 狀態碼是什么意思?其他狀態碼?HTTPS
4、ajax跨域,有哪些解決方法,舉了幾個實例讓實現跨域,訪問子域算不算跨域等等等
5、一兩個簡單的算法題(記不清了)
6、求數組中最大數
7、事件委托,點擊 ul 中的li 彈出li內容,動態添加li
8、原型鏈繼承:    b.prototype =new a() 不對嗎? 
9、es6 ,異步原因,promise set map等等
10、事件流 
11、cookie
12、數組去重
13、項目

 拼多多

1.兩欄布局,左邊固定,要求先加載內容區域,說出多種方法
2.正則對象test方法和exec方法的不同,分別返回什么
3.事件綁定的多種方式,事件監聽addEventListener的第三個參數是什么,取值各有什么意思
4.事件代理 阻止事件冒泡(stopPropagation cancelBubble) 阻止事件默認方式
5.js基本數據類型有哪些,寫一個函數判斷變量的類型
6.詳細說說box-sizing屬性取值的區別
box-sizing: content-box|border-box|inherit;
寬度和高度分別應用到元素的什么位置。
7.有一段文字,里面有電話號碼,電話號碼是連續數字,需要把電話號碼都替換成*,說出多種做法
var reg=/1[3 4 5 8]\d{9}/g;
1)str.replace(reg,'***********')
2)str.split(reg).join('***********')
3) var str1='';
var lastIndex=0;
while(arr=reg.exec(str)){//arr.index內容所在位置
str1+=str.slice(lastIndex,arr.index)+'***********';
lastIndex=reg.lastIndex;//正則表達式當前所在位置(在選中內容之后)
}
str1+=str.slice(lastIndex);
console.log(str1)
8.Header 頭 Set-cookie: http-only 是干什么用的?

二面(2017.08.24,25min)
1.自我介紹
2.講講你做過的項目
3.項目中提到了 React,問:React 組件的生命周期?父子組件之間如何通信?子組件之間如何通信?
4.前端性能優化?
5.http 緩存原理?(Expires Cache-Control if-Modified-Since/last-Modified if-None-Match/ETag)
6.JavaScript 的垃圾回收機制?
7.CSS BFC 原理?
8.box-sizing 屬性(兩種盒子模型)?
9.穩定的排序和不穩定的排序?
快速排序的思路?
堆排序的思路?
10.還有什么想問我的?


1、自我介紹
2、js繼承原理
3、閉包,經典閉包問題for循環i,實現指定輸出
4、狀態碼 499 client has closed connection
5、http有哪幾種請求的方法,options作用
6、CROS方法實現跨域
1)Access-Control-Allow-Origin
該字段是必須的。它的值要么是請求時Origin字段的值,
要么是一個*,表示接受任意域名的請求。
2)Access-Control-Request-Method
該字段是必須的,用來列出瀏覽器的CORS請求會用到哪些
HTTP方法,上例是PUT,GET,POST。
3)Access-Control-Expose-Headers
該字段可選。CORS請求時,XMLHttpRequest對象的
getResponseHeader()方法只能拿到6個基本字段:
Cache-Control、Content-Language、Content-Type、
Expires、Last-Modified、Pragma。如果想拿到其他字段,
就必須在Access-Control-Expose-Headers里面指定。
上面的例子指定,getResponseHeader('FooBar')可以返回
FooBar字段的值。
7、項目介紹,微信免登陸怎么實現
8、angular和vue區別
9、手寫多路歸並排序
10、前端性能優化?具體怎么實現的,用過哪些
11、sessionStorage和localStorage的不同

1、自我介紹
2、項目介紹,vue優點
3、盒子模型,怎樣在標准盒子模型中實現IE盒子模型
4、知道哪些排序算法,手寫快排,時間復雜度
5、怎樣知道一個元素在當前屏幕 getBoundingClientRect
6、實現空心圓,里面白色,外面紅色(偽元素、border、radial-gradient)
7、有三個函數,內部實現都是異步的,怎么讓這三個函數變成一個同步的,以節省時間
--promise.all

1、自我介紹
2、對拼多多有了解嗎,使用過嗎,了解工作機制嗎
3、為什么想從事電商,為什么選前端開發
4、有沒有面過其他公司,有沒有拿到其他公司的 Offer?
4、對工資有什么要求嗎
5、家庭成員,父母同意去上海嗎
6、保研的還是考研的,研究生成績怎么樣
7、有男朋友嗎
8、以后生活規划。。。

阿里文娛

一面:
1、==的類型強制轉換(0=='0') 3.0===3.0*1
變量提升
變量的命名原則
不同數據類型值的相互轉化
2、css3新特性
3、ul列表,設置前三列顏色不同,4-10列斑馬線布局,之后元素隱藏
4、元素隱藏方式
1)display:none 2)visibility:hidden 3)background-color=color
4)移出視口 position:absolute left float+margin-left 5)z-index:-1;
5、變量以什么開頭問題
6、ES6新特性
7、判斷數據類型的方式
1)typeof 2)instanceof 3)Object.prototype.toString.call();
8、MVC MVP MVVM區別
二面和HR(兩個面試官一起面的);
9、項目介紹
10、為什么選擇前端
11、用js寫Ajax
12、狀態碼
13、界面有大量的圖片,怎樣去加快加載時間
14、怎樣使用緩存
15、兩欄式布局實現
16、怎樣修改一個單選或復選框的樣式
17、跨域的方式
18、瀏覽器兼容(我說了綁定事件的)
19、怎樣去除字符串中空格,正則表達式可以應用於哪些方面
20、壓縮js和css文件的原理
21、閉包及應用
22、jquery語法
23、表述能力怎么樣,如果沒有任何工具,只口述介紹你的項目
24、希望再怎樣環境工作,或對工作環境有什么要求
25、最近吵過架嗎?贏了還是輸了(不知道意圖何在)
26、有什么問題問我的嗎(一面也有問)


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM