半年工作經驗今日頭條和美團面試題面經分享

織雪紗奈發表於2018-05-22
昨天,下著小雨去面試了,特地避開雨天,竟然還是雨天,寶寶不想說話。。。 正好2點到,先去位元組跳動,一進去就是客廳沙發桌子,旁邊有書架和書,擺設一般,一點都感受不出大公司的氣質,去了一直等了30分鐘,催了前臺2次 後來給面試題,先答題,面試官不在旁邊 額...這下可以上網搜答案了 不廢話,放題
  •  一 ·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分鐘的時間。
天黑了,回家。複製程式碼

謝謝大家,技術沒有頂峰,要保持一直不斷的努力,學無止境,面試題不足以判斷一個人的真實能力,大家一起加油ヾ(◍°∇°◍)ノ゙


相關文章