快手使用者增長實習一面。

2021-10-23 23:23:14 字數 2909 閱讀 9951

首先問了專案的背景。

問了js的資料型別

閉包、閉包的應用

es6的新特性

提了promise,進而提出巨集微任務。我說dom的是非同步操作是巨集任務,面試官給我講了下,說應該是微任務。給我舉例了vue中的nexttick方法,是在所有dom的非同步操作後執行。然後問我nexttick的實現原理,如果dom操作是非同步巨集任務,會等的比較長的時間,(巨集任務執行優先順序低?所以等的時間長,不是,而是macrotask有哪些可選的方案呢?前面提到了settimeout是一種,但它不是理想的方案。因為settimeout執行的最小時間間隔是約4ms的樣子,略微有點延遲。),非同步操作是微任務的話,就直接在微任務後新增乙個微任務就可以按順序執行了,也就是說nexttick也是微任務。

非同步任務和nexttick原理可以參考另乙個筆記【待更新,想要可以私聊我…】

題目的輸出

function bar() 

function foo()

var myname = 『使用者增長』;

foo();

var name = 『window』;

const person1 =

}person1.sayname();

var a = 『globala』;

var obj =

function test()

obj.test();

const globaltest = obj.test;

globaltest();

console.log(『script start』);

settimeout(function() , 0);

promise.resolve().then(function() ).then(function() );

console.log(『script end』);

css方面

position的屬性值有哪些,都有什麼區別。

flex的屬性名都有哪些?

這個沒怎麼打出來,都給忘了,很不應該。

justify-content:flex-start,space-around,space-between,center,flex-end;

align-items:flex-start,flex-end,center,baseline,stretch

flex-direction:row,row-reverse,column,column-reverse

flex-wrap:nowrap,wrap,wrap-reverse

實現乙個div的水平垂直居中。

答了利用浮動,flex,絕對定位。

實現左側固定,右側自適應

手寫幾種**。

演算法題實現二分查詢

//while迴圈實現

// function search(arr,target)else

// }

// return -1;

// }

//遞迴實現

function search(arr,target)

console.log(arr[midindex])

return -1;

}console.log(search([1,2,3],6));

​ b. 使用兩個棧實現乙個佇列

//用兩個棧實現乙個佇列。

// 封裝乙個棧,只有進棧,出棧操作。

class

stack

push

(item)

pop()}

//兩個棧模擬佇列。

function

stacktoqueue()

stacktoqueue.prototype.

enqueue

=function

(item)

stacktoqueue.prototype.

dequeue

=function()

else

;return

this

.stack2.

pop();

}}stacktoqueue.prototype.

tostring

=function()

for(

let i=

0;i<

this

.stack1.length;i++

)return str;

//return this.stack2.reverse().join(',')+','+this.stack1.join(',');

}let queue =

newstacktoqueue()

;queue.

enqueue(1

);queue.

enqueue(2

);queue.

enqueue(3

);queue.

enqueue(4

);queue.

enqueue(5

);queue.

enqueue(6

);console.

log(queue.

tostring()

);queue.

dequeue()

;console.

log(queue.

tostring()

);queue.

enqueue(7

);queue.

enqueue(8

);console.

log(queue.

tostring()

);

網易實習(一面)

因為過去很久了,所以有些記得不太清了。首先自我介紹,巴拉巴拉 專案,專案遇到的困難,如何解決?開始說你了解多執行緒是嗎?來說說執行緒池的優點 執行緒消耗什麼系統資源具體點?執行緒池的底層原理,七大引數,拒絕策略 執行緒池建立,有幾種阻塞佇列,他們分別的區別?來吧說說tcp的三次握手,四次揮手 tim...

快手一面二面面經

9點半開始面試,第一次來西二旗,8點多點就到了,在大廳等待區域等著,順便看下美團的面經。自我介紹,聊了一下為什麼轉專業,為什麼考研 與 equals 區別?過 重寫和過載?物件導向有哪些特點,與面向過程相比有哪些優勢?過 聊一下jvm的執行時資料區吧?棧區域能詳細說一下嘛?這個棧沒有詳細了解過。執行...

滴滴前端實習一面

說說envent loop 巨集佇列和微佇列 js閉包 輸入乙個 中間發生了什麼事,當請求到資料時瀏覽器具體怎麼渲染的 談談vuex 聊聊es6 如何解決跨域問題 說說你專案中印象最深刻的部分,如何解決的 如何實現控制項的拖拽功能 瀏覽器快取策略 http每個狀態碼的含義 說說js中的繼承,具體說說...