本文首發於 個人Github。css
年中決定離開當前所在的公司,想受一受外面社會的毒打。也面了 2 家還不錯的公司(字節跳動 和 拼多多),在此記錄分享一下。html
字節跳動的技術面試都是以視頻面試的形式進行的。前端
主要考察 js 中的基本類型、typeof
和 instanceof
等。vue
==
和 ===
判斷常規的類型比較題,比較基礎。react
[] == false
false == false
[1] == [1];
1 === "1";
複製代碼
function debounce(func, wait, immediate) {
let timeout;
const debounced = function() {
const context = this;
const args = arguments;
const later = function() {
timeout = null;
if (!immediate) {
func.apply(context, args);
}
};
const callNow = immediate && !timeout;
clearTimeout(timeout);
timeout = setTimeout(later, wait);
if (callNow) {
func.apply(context, args);
}
};
debounced.cancel = () => {
clearTimeout(timeout);
};
return debounced;
}
複製代碼
忽然問到了 操做系統 和 計算機網絡 的知識(忘光光)。webpack
sum
函數sum(1) == 1;
sum(1)(2) == 3;
sum(1)(2, 3, 4)(5) == 15;
複製代碼
注意這道題考的仍是 隱式轉換。git
function sum(...args) {
let value = 0;
function innerSum(...args) {
value = args.reduce((a, c) => (a += c), value);
return innerSum;
}
innerSum.valueOf = function() {
return value;
};
return innerSum(...args);
}
複製代碼
這道題注意考察對總體項目的理解和把握程度。es6
主要考察 HOC
,舉出寫過哪些高階組件,有什麼做用便可。github
多是 1 面問了相對太多問題,2 面很輕鬆,也很短暫。web
和字節跳動同樣,考察對項目的總體理解和把握能力。
兩家公司的面試難度都不是很大(雖然也多是考慮到我只有 1 年工做經驗),可是回味起來仍是意猶未盡,老是想到上高中時數學老師髮捲子時那痛心疾首的說道 "你看看,多簡單,150 的卷子,至少 120 是基礎題,大家咋就啥都不會呢" 。
最後,但願再過 2 年,能夠去阿里。