- 一 ·css和html
A元素垂直居中
A元素距離螢幕左右各邊各10px
A元素裡的文字font—size:20px,水平垂直居中
A元素的高度始終是A元素寬度的50% 複製程式碼
<div class="box"> <div class="Abox">我是居中元素 </div> </div>
*{
padding:0;
margin: 0;
}
html,body{
width: 100%;
height: 100%;
}
.box{
position: relative;
background: red;
width: 100%;
height: 100%;
}
.Abox{
margin-left:10px;
width: calc(100vw - 20px);
height: calc(50vw - 10px);
position: absolute;
background: yellow;
top:50%;
transform: translateY(-50%);
display: flex;
align-items: center;
justify-content: center;
font-size: 20px;
}
A元素的高度始終是A元素寬度的50% 複製程式碼
- 二 · 函式arguments
函式中的arguments是陣列嗎?怎麼轉陣列?複製程式碼
這個灰常簡單 array.from ...arguments 他說就三個點嗎 我又說加各括號或者[]...我就是表示一下下...
function cc () {
console.log(Array.from(arguments))
console.log([...arguments])
}
複製程式碼
- 三·以下列印結果
if([]==false){console.log(1)};
if({}==false){console.log(2)};
if([]){console.log(3)}
if([1]==[1]){console.log(4)}
複製程式碼
這個也比較簡單 1 3 學好== 和轉換不成問題
1和2左右被轉成數字 3被轉成boolean 4 地址不一樣複製程式碼
- 四·以下列印結果
async function async1(){
console.log('async1 start')
await async2()
console.log('async1 end')
}
async function async2(){
console.log('async2')
}
console.log('script start')
setTimeout(function(){
console.log('setTimeout')
},0)
async1();
new promise(function(resolve){
console.log('promise1')
resolve();
}).then(function(){
console.log('promise2')
})
console.log('script end')複製程式碼
這個也很簡單 promise 優先於 setTimeout 微任務和巨集任務
script start
async1 start
async2
promise1
script end
promise2
async1 end
setTimeout
// await等async 後面的加入非同步不知道233333
// 還有最新V8和舊版本V8展示結果不一樣promise2 和async1 end略有互換
async function asyncFunc() {
const result = await otherAsyncFunc();
console.log(result);
}
// 等價於:
function asyncFunc() {
return otherAsyncFunc().then(result => {
console.log(result);
});}
複製程式碼
- 五· 改動錯誤
此處省略太長就是this和let 的問題
複製程式碼
這個只改了let 後來在提示下改了this 不過又被問住坑了
我說箭頭函式沒有this this只向外邊
他說 沒有this,this是從哪來的
我沒回答,又問this是宣告確定還是執行確定
我覺得this就是外面的這跟宣告確定還是執行確定有什麼關係
在面試官的一再引導下我竟然回答是執行確認,因為我覺得是執行的時候外面的
這真的是說法問題,其實this是繼承來的,我只是忘了這一點。就被問懵了
這個面試官說話給人感覺很衝啊,讓你經常懷疑自己,哼,大家心裡要強大啊
天啊嚕竟然能栽倒箭頭函式上複製程式碼
- 六 ·寫bind
這個bind我在網上看了好幾遍
覺得自己懂了
手寫程式碼其實有一部分上網搜了
少寫了一行就被發現了,自己作死,然後就被問住了,233333333複製程式碼
- 七 ·函式節流(此題有坑)
從圖上看大概就是100ms內阻止函式執行
覺得如此簡單的問題竟然能被問住
我要好好研究研究
不就是節流防抖嗎?
我發現好多問題明明知道一問就死複製程式碼
- 八 ·從一個無序,不相等的陣列中,選取N個數,使其和為M實現演算法
這個我竟然看錯題了 使其和為M實現演算法看成求和,哈哈哈哈哈哈哈哈
其實即便不看錯題,我手寫也寫不出來啊
這個得在機器上試幾邊才能寫出來啊
最後問了問幾個專案問題, 如何提升說去看 你不知道的js
(都知道一問也被問住了啊,有些事不面不知到啊)
然後他說不知道讓你過還是不過 哈哈哈哈哈哈哈哈哈哈
最後掛了,他說要好好看看vue原始碼
面試官長得很小隻,他扣的很死,經常說的話:你確定你寫的能執行?
我我我。。。心態不能輸 ,能!!!
經過兩個小時,面試卒,結束。
對比美團面試官,頭條小哥哥很好。
複製程式碼
結束後就立即去美團了
也許是上次美團小哥哥給我的感覺太好,這個美團面試官素質是如此之低,是我見過最差面試官沒有之一
這個人一來什麼基礎都沒問,全是問專案
問專案也就算了,問的還都是專案安全問題,大概她做的是安全方面的
問加密演算法 問https是怎麼回事,真的安全嗎?問dns解析怎麼回事,dns劫持知道嗎?
localhost如何不被篡改,對,全部是圍繞安全來的
最後看了看簡歷,你工作才1年半啊。經驗太少了,這個簡歷是你自己拿著,還是留著
我就不送了,自己出去吧,結果我連門卡都沒有,出都出不去。
就這樣10分鐘把我打發,態度非常惡劣,既然如此你又何必讓我來呢?
我這大老遠的跑過來就給10分鐘的時間。
天黑了,回家。複製程式碼
謝謝大家,技術沒有頂峰,要保持一直不斷的努力,學無止境,面試題不足以判斷一個人的真實能力,大家一起加油ヾ(◍°∇°◍)ノ゙