個人的面試經歷,見文章:2017年秋季校招前端面經(百度,騰訊,網易,華為,樂視等)
對面試中常見的問題,我也進行了匯總,並給出了答案:
去哪兒:兩道簡答題,兩道編程題,蠻假單的。
簡答題:
1、事件綁定的方法;
2、將location.search轉化為對象的形式{};
滴滴:前面選擇題是計算機網絡,操作系統加前端的知識外加能力測評(智力和邏輯的)。
一道多選題:12個黑球,一個白球,每次數到13拿走一個;怎么樣數能使最后留下來的是白球。
兩道編程題,只過了一道;
最后是一個簡答題,網頁從打開到顯示,經歷了哪些過程
攜程:剛開始一部分是能力測評,就是各種邏輯推理題做得我很心碎啊。表示腦子有點不夠用,不知道是不是因為當時有點累的緣故。
第二部分是選擇題,單選和多選混在一起,涉及can apply,innerHTML,innerTEXT,xss(Cross-site scripting)csrf(Cross-site request forgery,跨站請求偽造”)。AMD,(ipone6)vh, px pt, em; css3的menu,command,adiuo,canvas含義。
簡答題:
1、做一個下拉框,可以編輯的,有10w條數據.邊滑動邊顯示。如何進行輸入匹配,考慮算法的時間空間復雜度,盡可能高效。(這個不是一般的難啊.....)
2、水平垂直居中的方法。
3、常用的框架的優點
4、是一個js問題。
var bb=1; function aa(bb){bb=2;alert(bb)}; aa(bb);alert(bb).問最終的輸出結果是什么(這個很簡單啊)
網易:網易這次的題目很良心啊。
編程題三個,但是都很簡單,半個小時全部搞定通過。
而且選擇題基本都是前端的,考的挺注重細節的,涉及很多js語法,題目很新穎啊。
最后是一個簡答題:關於cookie的設置,獲取和移除。
美團 (第一次):做了美團后端,完全不懂,不過還是把碰到的題目說下。
選擇題:進程之間的通信方法,session,cookies,Tcp, snmp, smtp,ftp 缺頁中斷,哪些設計模式與系統的擴展性關系,java中的concurrent,復雜度的計算。命令可以確定文件的大小(ls,df,find, du)
主要涉及 概率論的排序,操作系統進程線程多線程,java程序的一些問題 equals 計算機網絡 ,數據庫一兩道,數據結構 (先序遍歷 棧等)
美團 (第二次):還是后端。沒做完,后面直接關閉網頁,交卷都不想交了。
涉及數據庫(select語句速度),計算機網絡(TCP握手),操作系統(進程,內存,線程),java(false,繼承),數據結構(棧,紅黑樹,哈弗曼編碼,復雜度)
搜狗:
location.assign,打開一個新頁面方法,iframe中的js通信,
數據結構,java,c/C++三選一。 其中有一個簡答題10分,
兩道編程題。
騰訊:全部同一張試卷,就一個js題目........貌似還做錯了
選擇題單選多選混在一起。。。真要命.............
里面有很多C++的指針,sizeof,enum,dns,路由匯聚,二叉樹知識,系統開銷,二分法,磁盤的最小單位等,磁盤最短查找路勁。
兩個編程題,兩個簡答題。
簡答題1:是網上一個面試題的改編,
簡答題2:是數據庫的設計
阿里:總共11題,兩道編程題,一道是關於模板渲染的
var str="<div all-for='key in list' {{key.a}}>{{key.a}}{{$index}}</div>";
var list=[{a:"tttt"},{a:"bbbb"}];
一道是判斷類型(string,number,error,regrex)
一道簡答題:關於混合app和原生app的區別
選擇題涉及css, nodejs, canvas, 96dpi, px pt rem em,cookies,Css3新特性
猿輔導:總共12道題目,60分鍾。
直接是研發大類同一張試卷,前端的一點東西都沒有。。。。直接跪啊
涉及概率論,操作系統,計算機網絡,兩道編程題,還有一個兩直線共線條件。。。。。。。
1、TCP擁塞機制
2、互斥鎖和信號量的區別
京東:選擇題30個,算法題2個,5個簡答題;120分鍾
選擇題涉及范圍很廣:算法,操作系統,liunix,前端等。
1、優雅降級和漸進增強;
2、圖片輪播;(可以講原理或者代碼)
3、cookies,sessionStorage ,localStorage的區別;
4、盒模型,行內元素和塊級元素的概念
5、前端性能優化
兩道編程題:只有你把平等看待java,c++和前端,也說明你不懂前端。。。。。。。
CVTE:25道選擇題,2道編程題;90分鍾
選擇題:數據庫,前端,計算機網絡;
1、圖片輪播(完整代碼)
2、對日期的格式化處理;
途牛:20道選擇題,4道簡答題;時間90分鍾
選擇題:前端;
簡答題:
1、為什么利用多個域名來存儲網絡資源會更有效?
2、文檔類型的作用是什么?你知道多少種文檔類型?
3、請說出三種減低頁面加載時間的方法(加載時間指感知的時間或者實際加載時間)
4、你能解釋一下JavaScript中的繼承是如何工作的嗎?
58筆試:
轉自:SHERO_Vae的博客
1.填空題(30分,10題)
(1)獲取隨機數的方法:________。
(2)JS中將一個變量強制改為浮點類型的方法:________。
(3)根據id獲取元素的原生JS方法:________。
(4)將文檔聲明為HTML5文檔類型,需要在文檔頭添加:________。
(5)Chrome瀏覽器的私有樣式前綴:________。
(6)CSS3設置圓角的屬性名:________。
(7)CSS中,#是根據________來選擇元素,.是根據________來選擇元素。
(8)form標簽特有的屬性請列舉三個:________、________、________。
(9)正則表達式中,$是什么意思:________。
(10)typeof‘123’返回:________。
2.簡答題(25分,5題)
(1)自定義一個瀏覽器兼容的事件綁定方法需要注意哪些問題?
(2)設計一個布局方案,使得頁面在pc端和pad端顯示為一行三列,在手機端為一列三行。
(3)請解釋JSONP的工作原理。
(4)display和position都有哪些值?分別列舉一下這些值的用途。
(5)地址欄輸入一個地址后,輸入回車,描述一下這時開始,瀏覽器做了什么。
3.應用題(25分,2題)
(1)創建一個JS類,模擬實現方法的重載。(15分)
(2)JS中也會有排序的需求,用JS實現一個標准的排序算法,對某個數字數組進行由低到高的排序。(10分)
4.編程題(20分,1題)
用html、css和js模擬實現一個下拉框,使得下拉框在各個瀏覽器下的樣式和行為完全一致。說出你的設計方案,並且重點說明功能設計時要考慮的因素。