2016/9/21 前端筆試題筆記


  1. js實現(xiàn)語言繼承的核心是 prototype
    subTyoe.prototype = new superType();
    通過創(chuàng)建一個superType實例來實現(xiàn)繼承
  2. javascript 解析引擎在讀取一個Object的屬性的值時會沿著原型鏈向上找,如果沒有找到,則該屬性值為undefined
  3. 什么屬性會讓div脫離文檔流?
  4. float float是半脫離 還可以有文字環(huán)繞效果
  5. absolute fix 完全脫離文檔流 文字會跑到元素下面去
  6. 二叉排序樹
  7. 若它的左子樹不空,則左子樹上所有結(jié)點的值均小于它的根結(jié)點的值
  8. 若它的右子樹不空,則右子樹上所有結(jié)點的值均大于它的根結(jié)點的值
  9. 它的左、右子樹也分別為二叉排序樹。
    就像這樣

    求二叉排序樹的平均查找長度
  10. 先構(gòu)造二叉查找樹
  11. (每層的個數(shù)x層數(shù))/ 總個數(shù)
  12. HTML form 的enctype屬性

enctype 屬性規(guī)定在發(fā)送到服務器之前應該如何對表單數(shù)據(jù)進行編碼。
默認地,表單數(shù)據(jù)會編碼為 "application/x-www-form-urlencoded"。就是說,在發(fā)送到服務器之前,所有字符都會進行編碼(空格轉(zhuǎn)換為 "+" 加號,特殊符號轉(zhuǎn)換為 ASCII HEX 值)

enctype的屬性值有三個
application/x-www-form-urlencoded : 在發(fā)送前編碼所有字符(默認)
multipart/form-data : 不對字符編碼。在使用包含文件上傳控件的表單時,必須使用該值。
text/plain : 空格轉(zhuǎn)換為 "+" 加號,但不對特殊字符編碼。

  1. 伙伴地址
    哈哈哈 一臉蒙蔽
    原來是Linux內(nèi)存管理的一種方式
    原理不講 講點吧
    就是一種算法吧內(nèi)存分成11個量級的鏈表
    分別是1,2,4,8,16,32,64,128,256,512,1024.
    就為了方便申請合適大的內(nèi)存
    如果出現(xiàn)小的頁面滿了 就會找大的頁面 比如我要找一個256的頁面,滿了就會找512,如果找到就會拿出256來用,剩下的256就會插入到256的鏈表中。
    下面將計算伙伴地址

    滿足以下條件的兩個塊稱為伙伴:
    兩個快具有相同的大小,記作 b
    它們的物理地址是連續(xù)的
    第一塊的第一個頁框的物理地址是 2 * b * 2^12 的倍數(shù)

    舉個具體題目的例子
    二進制地址為011011110000,大小為4(10進制數(shù))和16(10進制數(shù))塊的伙伴地址分別為:
    怎么算呢
    我們先看大小為4的
    用這個地址除以24 我們知道2進制除以8就是減三個0
    發(fā)現(xiàn)可以整除
    那這個就是第一個框的地址 它的伙伴地址就是它+4
    就是011011110100
    然后再看大小是16的
    用這個地址除以2
    16 32是減5個0 發(fā)現(xiàn)不能整除 所以說他的伙伴地址是前面那一塊的首地址
    就應該是-16 得011011100000 這個數(shù)明顯就可以被32整除
    就這么簡單。

  2. cookies的各種屬性
    我們都知道cookies就是瀏覽器用來維持會話的一種方法,一段純文本。
    那么cookies都有哪些屬性呢

    1. expries cookie的過期時間
    2. domain 關(guān)聯(lián)的域名 如果domain的域名和請求的不一致那就會被忽略
    3. path path的值會與url中的值進行比對 假如path = /blog 如果你url中有/blog 或者/blogxxxxx 都會觸發(fā)cookie的發(fā)送
    4. secure 沒有值只是一個標記 如果有這個標記那么只有一個請求通過SSL或HTTPS創(chuàng)建cookie才能被發(fā)到服務器
    5. HttpOnly 如果有這個標記那么客戶端JS就無法用document.cookie來獲取cookie
  3. Linux 查看進程號
    ps命令
    ps -ef |grep 進程名

  4. 正則表達式的元字符(常用的)

  • \d 匹配一個數(shù)字 等價于 [0-9]
  • \D 匹配一個非數(shù)字 等價于 [^0-9]
  • \s 匹配一個空白字符 等價于 [ \f\n\r\t\v]
  • \w 匹配包括下劃線的任何單詞字符 等價于[A-Za-z0-9_]
  • 大寫就是非小寫匹配的字符
  1. 瀏覽器內(nèi)多標簽頁如何進行通信
  2. 使用localStorage
    先來介紹下localStorage這個東西
    因為cookie不適合大量數(shù)據(jù)的存儲,所以有了localStorage
    對于不同的網(wǎng)站,數(shù)據(jù)存儲于不同的區(qū)域,并且一個網(wǎng)站只能訪問其自身的數(shù)據(jù)
    我們可以通過window.localStorage 來獲得localStorage
    通過setItem() getItem() removeItem()來修改數(shù)據(jù)
    可以通過監(jiān)聽storage事件來監(jiān)測localStorage數(shù)據(jù)的變化
    window.addEventListener("storage",handle_storage)
  3. 使用cookie
    一個瀏覽器的所有標簽頁都是可以共享持久cookie的,但是只有同源的標簽頁可以共享
  4. window.postMessage()
    有兩個參數(shù)
    data : 要傳遞的數(shù)據(jù) 可以是js的任何類型或者可復制的對象
    orign : 目標窗口的源
    接受postMessage()的消息。
    監(jiān)聽message事件
  5. 使用window.name
    window對象有個name屬性,該屬性有個特征:即在一個窗口(window)的生命周期內(nèi),窗口載入的所有的頁面都是共享一個window.name的,每個頁面對window.name都有讀寫的權(quán)限,window.name是持久存在一個窗口載入過的所有頁面中的。
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關(guān)閱讀更多精彩內(nèi)容

  • 在線閱讀 http://interview.poetries.top[http://interview.poetr...
    前端進階之旅閱讀 115,567評論 24 450
  • Spring Cloud為開發(fā)人員提供了快速構(gòu)建分布式系統(tǒng)中一些常見模式的工具(例如配置管理,服務發(fā)現(xiàn),斷路器,智...
    卡卡羅2017閱讀 136,590評論 19 139
  • 本博客轉(zhuǎn)自:「作者:若愚鏈接:https://zhuanlan.zhihu.com/p/22361337來源:知乎...
    韓寶億閱讀 2,934評論 0 3
  • 常見試題 行內(nèi)元素:會在水平方向排列,不能包含塊級元素,設置width無效,height無效(可以設置line-h...
    他大舅啊閱讀 2,622評論 1 5
  • 把知識長在血和肉里,認清自己的方向,比盲目地合群有用多了。多火熱的群體也有曲終人散的一天,但知識和技能卻恒久遠,也...
    梅子Mey閱讀 324評論 0 0

友情鏈接更多精彩內(nèi)容