騰訊、今日頭條、歡聚時代(YY)等前端工程師面試記錄及題目分享(2018.08社招)

讀者須知:

本人畢業於2017年6月,以下爲本人2018.07.17離職後的面試遇到過的面試題,面試的是中高級前端工程師崗位,適合擁有一年實際開發經驗的朋友閱讀,也歡迎經驗不夠但對前端有興趣的朋友閱讀以確立自己的方向。

面試過的公司:

騰訊、歡聚時代、今日頭條、三七互娛、多益網絡、CVTE、荔枝FM、深信服、平安科技、平安好房、鏈家、歐派家居、富力地產

面試題分享

以下題目排序不分先後、不區分哪間公司,因爲是面一面就記錄一下,所以有可能有題目重複,答案一般都能查找得到,重要的還是理解與應用。

理解與問答:

1、http工作原理

2、http緩存機制

3、首頁性能優化

4、vue雙向數據綁定原理

5、vue依賴收集的實現

6、Promise實現原理

7、CDN緩存與客戶端緩存

8、get請求與post請求區別,優缺點

9、進程與線程

10、UDP與TCP,適用場景

11、http與https區別

12、http1.0、http1.1與http2.0

13、webpack基本配置

14、OSI七層模型及對應協議

15、其中一間公司有問到MySQL、linux相關知識(其他公司很少見)

16、SQL注入的預防

17、對CSRF與XSS的認識與預防

18、瀏覽器渲染引擎相關知識

19、是否使用過express,談談express中間件機制及實現原理

20、跨域相關知識

21、git rebase作用及原理

22、迴流與重繪

23、xss與csrf攻擊

24、函數節流

25、前端性能優化

26、vue生命週期

27、flex佈局,flex取值

28、提交的兩種實現(input + type=”submit”, button+點擊事件)

29、get和post對比

30、不同瀏覽器的事件機制

31、JS跨域及解決方法

32、瀏覽器不同tab之間通信

33、瀏覽器緩存機制

34、異步機制

35、amd、cmd規範

36、vue-router的原理

37、url構成

38、cookie有哪些安全的設置

39、cookie和session的區別

40、cookie、sessionStorage、localStorage

41、同源策略的認識

42、css盒模型

43、跨域請求方式有哪些,怎麼實現

44、如何獲取元素相對瀏覽器的位置

45、拖拽事件

46、從事件的角度,說明點擊一個a標籤,控制檯輸出其href值的具體過程

47、什麼是事件代理

48、事件冒泡、捕獲

49、進程、線程,進程間通信

50、同源標籤之間如何通信

51、window.onload和document.ready是否是同時執行,爲什麼

52、cors請求和普通的http請求有什麼區別

53、vue雙向數據綁定原理

54、http與https區別

55、嚴格模式混雜模式

56、argument

57、進程間通信

58、tcp協議三次握手四次揮手過程

59、tcp和udp區別

60、JavaScript執行機制,事件循環、微任務、宏任務

61、Vue.js組件Render函數的作用是什麼?簡述使用場景

62、Vue Virtual DOM的作用是什麼?淺析其原理

63、Vue.js的keep-alive的作用是什麼?簡述使用場景

64、Vue mixins作用

65、vur-router實現原理

編程:

1、自己實現一個parseInt函數

2、解析一個url,包括hash值

3、寫一個url解析函數,解析出查詢參數

4、原生ajax、jsonp實現

5、編程獲取一個二叉樹的最大深度

6、寫一個對象的事件函數,考察es5和es6的區別

7、冒泡排序、插入排序

8、請使用數組的reduce方法實現數組的map方法

9、快速排序

10、請用至少兩種方法判斷一個對象是否是數組,如何將非數組轉化爲數組

11、實現節流去抖函數

12、實現bind函數

13、二分查找

14、無序數組n個數得到目標和,要求返回所有解

15、兩欄佈局,左邊定寬,右邊自適應

16、label關聯對象屬性,for

17、settimeout輸出12345,閉包問題

18、js實現對象深拷貝

19、事件委託怎麼寫

20、數組去重

21、原生ajax、jsonp實現

22、判斷一個單詞是否是迴文

23、統計一個字符串出現最多的字母

24、不借助臨時變量,進行兩個整數的交換

25、找出正數數組中的最大差值

26、隨機生成指定長度的字符串

27、實現類似getElementByClassName的功能

28、js實現二叉查找樹

29、原生js實現路由

30、原生js實現對象屬性監聽器

31、js繼承的方式,不同繼承方式的實現

32、基於Promise,原生js實現ajax

33、哈希表、平衡二叉樹等數據結構

34、排序算法(冒泡排序、插入排序、快速排序等)

35、重載與多態,JS如何實現

36、JS阻止事件冒泡及默認事件,兼容IE

37、實現傳入一個不定長度字符串,查找出重複次數前n名的字符並分別統計其次數。

38、a、b兩個字符串,不借助其他變量,實現a與b交換

39、js實現測試接口請求耗時

40、實現一個簡單的JQuery插件

41、寫一個方法,實現隨機生成長度爲n的字符串,字符串取值[a-z][0-9]

42、給Array增加原生方法,hash方式實現數組去重

43、事件委託怎麼寫

44、手寫一個閉包,根據此閉包問問題

45、事件冒泡、捕獲

46、自己實現一個parseInt函數

47、寫一個url解析函數,解析出查詢參數

48、js實現對象深拷貝

49、原生ajax、jsonp實現

50、解析一個url,包括hash值

51、淘寶等網站倒計時效果如何實現

52、是否瞭解紅黑樹,談談你的理解

53、一個大文件裏的整數需要排序,文件大小有10G,但機器內存只有2G,如何實現?(可使用熟悉的語言)

54、使用Node.js的fs模塊,實現文件夾的深度優先遍歷和廣度優先遍歷。輸入文件夾的路徑,輸出所有文件的列表。

55、實現一個複製函數,可以對JavaScript中的5種主要的數據類型(包括Number、String、Object、Array、Boolean)進行值複製。

56、通過代碼形式描述 async/await使用方法

57、通過正則表達式的方式,如何獲取在url上參數?請通過代碼形式描述

記憶比較清晰的每面有記錄的就這些,還有一些臨時做答的場景題,記得不是太清,就沒有記錄。

css類:

css類問題印象中問得很少,只有筆試遇到一些,記得的如下:
1、css清除浮動
2、position取值
3、z-index不生效的場景有哪些
4、不定寬高元素垂直水平居中
5、css實現一個佔屏幕寬度50%的正方形
6、佈局問題(三列布局、兩列布局)
7、實現兩列布局,第一列固定,第二列寬度自適應
8、css實現三角形
9、HSL色彩模型是什麼,在CSS中如何使用
10、css居中正方形,flex居中,正方形用padding做
11、請使用CSS3實現一個長寬等於100px的div,1000ms後變成一個有陰影原型,並橫向向右移動了50px的效果。加分:用畫布實現以上效果

總結:

大型互聯網公司社招比想象中更難一些,比較多原理性的知識,最喜歡的公司是騰訊,希望下次再面試能有進去的實力。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章