今天是2017年11月11日,9號投的簡歷,昨天中午收到電話通知。下午去參加宣講會,但去的有點遲了,所以在另一個教室等筆試,結果宣講完了之后hr過來說:早上電話通知的不用筆試,直接面試。然后就過去等面試了,等到別人筆試完了都沒輪到我,有點尷尬。到我之后,也沒面試多久。先問了什么時候接觸前端,為什么喜歡前端等等。
接下來就手寫了個題: var a = {x:1}; var b = {x:1}; a == b; a === b; ,問那兩個結果?如何使之相等?
var a = {x:1}; var b = {x:1}; document.writeln(a == b); //false document.writeln(a === b); //false for (let i in a) { if(typeof a[i] !== 'function'){ a = i + ": " + a[i]; //不確定是不是這樣寫。。。 } } for (let i in b) { if(typeof b[i] !== 'function'){ b = i + ": " + b[i]; } } document.writeln(a == b); //true document.writeln(a === b); //true
writeln( ) 方法與 write( ) 方法幾乎一樣,差別僅在於是前者將在所提供的任何字符串后添加一個換行符。在 HTML 中,這通常只會在后面產生一個空格(多復制幾個就看出來了,少了不明顯);不過如果使用了 <PRE> 和 <XMP> 標識,這個換行符會被解釋,且在瀏覽器中顯示。
如何遍歷?
//遍歷對象 var a = {x:1,y:2,z:3}; for (var i in a ) { if(typeof a[i] !== 'function') { document.writeln(i + ":" + a[i] ); //x:1 y:2 z:3 } } //Object.keys() 會把所有屬性名作為一個數組集合輸出 document.writeln(Object.keys(a)); //x,y,z //Object.values() 會把所有屬性值作為一個數組集合輸出 document.writeln(Object.values(a)); //1,2,3
http狀態碼: 1xx 表示消息(臨時響應) 2xx 表示成功 3xx 表示重定向 4xx 表示請求錯誤 5xx 表示服務器端錯誤
200 OK 表示請求成功,一切正常。
301 Moved Permanently 重定向(永久移動),客戶請求的文檔在其他地方,新的URL在Location頭中給出,瀏覽器應該自動地訪問新的URL。
302 Found 臨時重定向,類似於301,但新的URL應該被視為臨時性的替代,而不是永久性的。
304 Not Modified 客戶端有緩沖的文檔並發出了一個條件性的請求。服務器告訴客戶,原來緩沖的文檔還可以繼續使用。
400 Bad Request 請求出現語法錯誤。
403 Forbidden 資源不可用。
404 Not Found 無法找到指定位置的資源。
405 Method Not Allowed 請求方法(GET,POST,HEAD,DELETE,PUT,TRACE等)對指定的資源不適用。
500 Internal Server Error 服務器遇到了意料不到的情況,不能完成客戶的請求。
501 Not Implemented 服務器不支持實現請求所需要的功能。
503 Service Unavailable 由於臨時的服務器維護或者過載,服務器當前無法處理請求。(臨時的)
了解瀏覽器存儲嗎(cookie,localstorage,sessionstorage)?哪個更不安全點?
還有什么不記得了...
下面是segmentdefault上澹台宇鵬分享的面試經驗:
- 框架angular,有用到angular的一些什么功能
- flex布局兼容性
- 數組去重方法
ES6去重
var arr = [1,1,'1','1',null,null,undefined,undefined,NaN,NaN]; var newArr = Array.from(new Set(arr)); console.log(newArr);
- 跨域問題
- 本地存儲,cookie安全性(問過了)
- 怎么定義聲明一個JSON
- 阻止冒泡中stopPropagation,preventDefault和return false區別
1.event.stopPropagation()方法
這是阻止事件的冒泡方法,不讓事件向documen上蔓延,但是默認事件任然會執行,當你掉用這個方法的時候,如果點擊一個連接,這個連接仍然會被打開,
2.event.preventDefault()方法
這是阻止默認事件的方法,調用此方法是,連接不會被打開,但是會發生冒泡,冒泡會傳遞到上一層的父元素;
3.return false ;
這個方法比較暴力,他會同事阻止事件冒泡也會阻止默認事件;寫上此代碼,連接不會被打開,事件也不會傳遞到上一層的父元素;可以理解為return false就等於同時調用了event.stopPropagation()和event.preventDefault()
<style> .float-box.left{ float:left; } .float-box.right{ float:right; } </style> <div class="float-box"> <div class="left">靠左邊浮動</div> <div class="right">靠右邊浮動</div> </div> <div class="bottom-box"> <div>底部box</div> </div>
- 冒泡排序;數組鏈表
- 媒體查詢;響應式布局;職業規划;什么時候接觸前端的;
- 會問項目中某個東西具體是怎么實現的
- 有什么問題要問我們的嗎
- 一塊磚頭能干什么
