騰訊社招筆面試題

金三銀四,跳槽旺季,而我也不例外,日前正在物色新工做。html

記得多少就分享多少,與你共勉。前端

筆試

經過正則去獲取cookie對應key的值。node

function getValueByKey () {
    let cookie = "age=12;id=123;name=jouryjc",
        _reg = /(^|\s|;)id=([^;]*)(;|$)/
    
    if (cookie.match(_reg)) {
        console.log(cookie.match(_reg)[2]) #[";id=123;", ";", "123", ";", index: 6, input: "age=12;id=123;name=jouryjc"]
    } else {
        console.warn(`no match result`)
    }
}
getValueByKey ()
複製代碼

主要考察的是正則的應用。/(^|\s|;)id=([^;]*)(;|$)/,()表示匹配項,若是匹配到告終果,match第一項返回整個匹配結果,後面依次是每一個匹配項。不懂能夠參考MDNwebpack

不定寬高的垂直水平居中(兼容IE6)git

跪了跪了,兼容IE6。知道的童鞋麻煩在評論區指導一下。es6

用原生JS寫事件添加函數 function on(elem, type, handler),兼容IE8,並將handler函數的上下文綁定到事件對象上。github

function on(elem, type, handler) {
    if (elem.addEventListener) {
        elem.addEventListener(type, function () {
            handler.bind(elem)
        })
    } else {
        elem.attachEvent(type, function () {
            handler.bind(elem)
        })
    }
}
複製代碼

這道題相對基礎。判斷addEventListener和attachEvent(兼容IE8)就能夠了。web

使用ES6語法實現類、靜態屬性、靜態方法、私有方法、私有屬性、繼承面試

比較簡單的一道題,考察ES6 class,忘了的童鞋趕忙補課吧。ajax

設計模式,寫三個以上你熟悉的設計模式,而且儘量詳細的描述。

工廠模式、單例模式、模塊模式、代理模式、職責鏈模式、策略模式、中介者模式.....推薦一篇我的認爲比較nice的設計模式詳解

TCP三次握手圖文詳細描述

http/網絡必考題,相信你們都懂的。

用node手寫一個服務,並輸出 hello, handsome boy!!!

const http = require('http');

const srv = http.createServer( (req, res) => {
  res.writeHead(200, { 'Content-Type': 'text/plain' });
  res.end('hello, handsome boy!!!');
});
複製代碼

so easy!

實現兩個超出(>Number.MAX_VALUE || < Number.MIN_VALUE)整數(含負數)相加函數function add(a, b)

沒有寫出來,本想順着二進制(反碼、補碼等)作邏輯運算的思路去作,但無奈不少概念都忘了。bignumber.js,感興趣童鞋能夠去看看源碼。

面試

自我介紹都直接略過,直入項目:

說說你理解的前端工程化
跨域
ajax實現(state、readyState)
webpack原理
FileReader
對象deepCopy(JSON.parse(JSON.stringify())、廣度遍歷、遞歸))
flex佈局(flex-basis)
響應式佈局
相關文章
相關標籤/搜索