也是讓某濕兄幫忙內推,然后過了四五天,電話打來了
一面:
1.首先是簡單的自我介紹
2.你覺得一個前端工程師應該具備什么技能
比如用戶體驗這個方面他就貴問你具體的例子
3.讓你設計一個web站點,假如只有你一個人設計實現,前端后端都讓你一個人負責,具體你要怎么做?
我主要分成了:
需求文檔(需求明確),后端數據設計,前端界面設計,前端靜態頁面實現,前端動態邏輯(與后端數據接口)實現,整體實現,還有細節實現等
4.對應前端框架,你怎么選
我主要分成了四部分:
第一就是跟html+css展示層關系比較大的,比如bootstrap;
第二就是跟js聯系比較大的,比如jQuery;
第三就是html+css+js聯系比較大的,比如各種MV**之類的如 angular.js ;
第四就是大前端組織的框架,如模塊化 require.js等等
然后就圍繞展開啦(但我沒有深入理解MV** 所以又跳坑了)
5.你覺得自己做得比較滿意的一個項目是什么?
談到了實習期間的XX,然后圍繞XX遇到的技術難點,遇到的問題,怎么解決說了一通
6.我看你還做過一個在線聊天室是吧,能說一下及時通訊實現的思路么
也是圍繞socket.io說,然后就被問到
7. socket套接字是工作在協議中的哪一層呢,有沒有考慮到其他的通訊實現方式
應該是應用層吧(究竟是哪一層..),談到了ajax的通訊實現,然后又扯到了WebSocket(又悲催了我也沒了解過只是知道名字..)
8.描述一下TCP請求時的握手過程
同步序列報文
同步序列報文&應答報文
應答報文
(很久沒看了,都忘了具體的東西,應該去看看網絡協議了)
9.看你有提到過mongodb,它和mysql有什么區別?
balabla 又是淺顯的認識
10.你js有經常使用么,了解得怎么樣?
應該蠻久了吧
11.ok那你能講講js的面向對象么
主要是基於原型實現的
12.嗯那它怎么實現繼承?
我只舉例了原型鏈方式的繼承 A.prototype = new B(); 然后
13.那為什么子類的原型為什么要指向父類的實例,為什么不直接等於向父類的原型?
(看來我對原型還是理解地有點淺,說不出..)
14.你用原生的js多么,原生js發送ajax請求一般要經過哪些步驟?
balabala open方法,send方法,get和post時send參數的不同,事件監聽狀態碼的改變
15.那一般有哪些狀態碼返回?
1,2,3,4,5,開頭的 .. 然后再細分說明,
16.你能講講304緩存的原理嗎
然后我就扯到了緩存實現的那幾種,比如
catch-control:max-age
Expires:
Etag:
If-Modified-Since/Last-Modifed
(然后被問到具體怎么用,組合使用還是單獨用,Etag一般怎么生成,可惜我只看過而沒實現過,所以又是跳坑)
17.你用ajax的時候有遇到過跨域問題么
談到了常見的幾種
jsonp :但只支持get請求
CORS :使用Access-Control-Allow-Origin
主域相同的使用 document.domain
比如frame框架的使用 window.name
還有HTML5的 PostMessage方法
18.你有經常使用CSS吧,水平垂直居中怎么實現?
定位,top:50% 然后再讓50%這個值減掉div高度的一般(郁悶啊,我本來是想表達負邊距半個div高的..)
flex布局實現
面試官:還有嗎?(母雞啊我想不粗來鳥..)
19.你對web攻擊手段有了解么,web安全
講了XSS的原理以及預防方法
講了CSRF是大致原理(但這或實在了解不多,也沒話了)
20.1000以內的質數,然你找出來,你怎么實現?
我主要講了普通的方法,然后當然被叫優化啦..然后想不出了..(只能想到 去除偶數,記錄當前質數,下一次判斷質數的時候判斷與已有質數的取模值..)
21.能說是快排的原理嗎
快排忘了(囧),然后就用冒泡排序說了一下大概的原理(可能說得也有問題..)
22.你知道堆、隊列、棧的區別嗎
數據結構很久沒復習了,大概按自己理解描述了一下,然后就被問如何實現隊列和棧
23.你對頁面做過優化嗎,比如一些內存啊CPU的優化
不懂說什么.. 就說了那幾條Web性能優化准則(知道還不行,看來得深入理解)
24.你現在有拿到XX的offer嗎
沒有啊..我現在是在 暑期實習..
25. 你有什么問題要問嗎
整個一面持續了55分鍾
一面結束了,說是兩周之內給結果..
總之,這次騰訊的一面跟阿里的一面完全就不是一個檔次,考察的內容太廣太全面了,看來還得抽空復習數據結構算法操作系統..
然后呢,才過了十幾分鍾,就來短信說已經過了一面,復試需要等到9月份跟校招同步,面試官是 AlloyTeam 的。
難怪了..問的問題那么高級O_O