我就普通的投了個(gè)騰訊SNG,意向城市還填的北京窝稿,怎么就被深圳IMWeb撈起來(lái)了呢野揪?
一面 8.27
晚上九點(diǎn)多突然襲擊访忿。問(wèn)的都是基礎(chǔ),問(wèn)的比較多的是XSS和CSRF斯稳。
然后又約了29號(hào)在線編程海铆,用QQ共享屏幕在本地寫代碼,可以chrome調(diào)試挣惰,出了兩道題
- 大數(shù)相加
- 頁(yè)面內(nèi)有一個(gè)正方形元素A以及一個(gè)待放置區(qū)域B卧斟,實(shí)現(xiàn)對(duì)其拖拽和放下到B區(qū)域內(nèi),并且改變B區(qū)域背景顏色(不可用html5原生事件)憎茂。
難度不大珍语,應(yīng)付過(guò)去了
二面 8.30
二面整了一個(gè)多小時(shí),從來(lái)沒(méi)面試這么長(zhǎng)時(shí)間竖幔,做了4道編程題板乙,表現(xiàn)來(lái)看應(yīng)該是涼了。
自我介紹后問(wèn)了一下怎么學(xué)的前端赏枚,看了什么書亡驰,然后就是做題
- 寫一個(gè)三欄布局
我一開(kāi)始拿float
寫了,簡(jiǎn)直是坑自己饿幅。一開(kāi)始寬度沒(méi)加border-box
, 把右邊那一欄擠到下面去了凡辱。加上之后右邊欄還在下面,又把中間那一欄放到后面栗恩。然后又忘了加clearfix
被面試官指出來(lái)了透乾。
然后面試官讓把中間欄放前面,想了想說(shuō)不會(huì)寫。然后又問(wèn)還能怎么寫乳乌,又用flex
寫了一遍捧韵。然后問(wèn)了flex-grow
和flwx-shrink
的作用,它們的默認(rèn)值是什么汉操。默認(rèn)值忘了再来,被跳過(guò)。
- 創(chuàng)建一個(gè) Person 類磷瘤,其包含公有屬性 name 和私有屬性 age 以及公有方法 setAge 芒篷;創(chuàng)建一個(gè) Teacher 類,使其繼承 Person 采缚,并包含私有屬性 studentCount 和私有方法 setStudentCount 针炉。
沒(méi)看懂公有屬性和私有屬性啥意思。我還問(wèn)了JS沒(méi)有公有私有的語(yǔ)法吧扳抽。然后就把共有屬性那些都放prototype
里了篡帕。被懟說(shuō)這都是你那本紅寶書里著重大篇幅講過(guò)的,可見(jiàn)你面向?qū)ο笥玫木筒皇炀殹?/p>
面試完查了一下贸呢,私有屬性就是用閉包定義在構(gòu)造函數(shù)里的局部變量镰烧。這幾個(gè)名詞整的真是玄,還有共享屬性和靜態(tài)屬性楞陷。您稍微提醒一下閉包我不就會(huì)了嘛拌滋。參考代碼:
function Person(name) {
var age
this.setAge = function(value) {
age = value
}
this.getAge = function() {
return age
}
this.name = name
}
function Teacher(name) {
Person.call(this, name)
var studentCount
this.setStudentCount = function(value) {
studentCount = value
}
this.getStudentCount = function() {
return studentCount
}
}
Teacher.prototype = Object.create(Person.prototype)
Teacher.prototype.constructor = Teacher
- 請(qǐng)寫一個(gè)函數(shù),計(jì)算一篇英文文章中出現(xiàn)次數(shù)最多的單詞及出現(xiàn)次數(shù)猜谚。
這道題用正則表達(dá)式分割然后計(jì)數(shù)败砂,最后面試官說(shuō)做的不錯(cuò),參考代碼
function mostFrequentWord(str) {
let count = {}
let words = str.split(/\W+/)
let max = 0
let result = []
words.forEach(word => {
count[word] = count.hasOwnProperty(word) ? count[word]+1 : 1;
if (count[word] > max) {
max = count[word]
result = [word]
} else if (count[word] === max) {
result.push(word)
}
})
return {words: result, count: max}
}
- 最后說(shuō)出個(gè)正則表達(dá)式吧魏铅。在頁(yè)面里通過(guò) js 如何判斷頁(yè)面是否屬于騰訊(qq.com昌犹,包括子域名)?
function isTecent() {
let origin = location.origin
return /^https?:\/\/([^\.]*\.)?qq\.com$/.test(origin)
}
一開(kāi)始寫了個(gè)location.domain
(VSCode自動(dòng)提示的鍋)览芳,被提醒location
沒(méi)有domain
屬性吧斜姥。
然后正則表達(dá)式?jīng)]加括號(hào),寫成了/^http[s]?:\/\/[^\.]*\.qq\.com$/
沧竟,被提醒用qq.com
試一下铸敏,而且那個(gè)s不用加方括號(hào)。
最后又問(wèn)你學(xué)校在北京悟泵,我們部門在深圳杈笔,能不能來(lái)實(shí)習(xí),最好還是能來(lái)實(shí)習(xí)糕非。
最后面試官總結(jié)了一下蒙具,CSS和面向?qū)ο筇∪跚蛴埽惴ê驼齽t還好,HTML/CSS這塊希望的是寫出來(lái)效果就差不多了禁筏,最多微調(diào)一下持钉,而我是像瞎猜一樣折騰半天,優(yōu)點(diǎn)缺點(diǎn)都特別明顯篱昔,就拜拜了每强。
說(shuō)還有三面,看來(lái)沒(méi)涼透州刽。舀射。。