1. 程式人生 > >2018拼多多內推筆試記錄

2018拼多多內推筆試記錄

記錄下一些印象較深的或者自己以前不是特別明白的題目

選擇題中

1.將元素的寬高設定為0,其在頁面不一定就不顯示,它的子元素還是會顯示的;可以將子元素視作浮在該元素上面,所以是顯示的,因此該元素後面還有元素的時候,後面的元素會自然地顯示在子元素的下方。

2.點選按鈕觸發事件的順序: onmousedown,focus,onmouseup,onclick,更多使用技巧可參考 http://www.cnblogs.com/webflash/archive/2010/01/05/1639306.html

3.單擊a標籤在觸發什麼事件後跳轉:onmousedown,所以想禁止自動跳轉,在此事件上阻止預設行為

4.new date();無相容問題的建立格式:  基於'/'格式的日期字串,才是被各個瀏覽器所廣泛支援的,‘-’連線的日期字串,則是隻在chrome下可以正常工作。

5.觸發瀏覽器reflow的情況:

1. 調整視窗大小(Resizing the window)
2. 改變字型(Changing the font)
3. 增加或者移除樣式表(Adding or removing a stylesheet)
4. 內容變化,比如使用者在input框中輸入文字(Content changes, such as a user typing text inan input box)
5. 啟用 CSS 偽類,比如 :hover (IE 中為兄弟結點偽類的啟用)(Activation of CSS pseudo classes such as :hover (in IE the activation of the pseudo class of a sibling))
6. 操作 class 屬性(Manipulating the class attribute)
7. 指令碼操作 DOM(A script manipulating the DOM)
8.計算 offsetWidth 和 offsetHeight 屬性(Calculating offsetWidth and offsetHeight)
9. 設定 style 屬性的值 (Setting a property of the style attribute)

大題:

1.水平居中一個元素:可參考之前的一篇部落格http://blog.csdn.net/mrzzhou/article/details/70453318

2.對閉包的理解

3.實現一個可以對js五中基本型別進行復制的函式:此題的點主要在判斷變數型別和值型別和引用型別的區別,知道這兩點就好辦了。

4.setInteval和setTimeout的區別,以及相應記憶體方面的分析。記憶體方面我寫了下關於他們引發記憶體洩漏的這方面

5.ajax的實現

6.輸入URL到頁面呈現的過程

7.記憶體洩漏的幾種情況 可參考 http://web.jobbole.com/88463/

js的兩個垃圾回收機制:標記清除(主要),引用計數

1.清除節點的時候,沒有將繫結的事件處理函式清除

2.函式中不小心定義的全域性變數,如function(){variable = 666;} 或 {function aa(){this.variable = 666;} aa();}

3.非正常的計時器

4.閉包

5.將div中指定字元標紅