剛剛我經(jīng)歷了第一次正式的求職面試侍筛。終于我也要開始直面殘酷的社會了撒穷。
公司前一天晚上8點(diǎn)多通知我第二天晚上7點(diǎn)整電話面試端礼。說實話禽笑,我因此處于繃著的狀態(tài)整整一天(年輕人經(jīng)歷得還是太少啊——)蛤奥。下面說點(diǎn)干貨。
面試官在7點(diǎn)準(zhǔn)時打來電話凡桥,首先是讓做自我介紹,然后就是面試官根據(jù)你的簡歷啊掏,問下你做的項目詳情(這一塊我其實還是做了點(diǎn)東西衰猛,但是語言組織地混亂,口述也不流暢啡省,要是提前寫個稿子,好好組織下冕杠,會更好),期間會問你采用的技術(shù)方案(主要使用了哪些技術(shù)以及目的)兢交,如何解決的問題笼痹。
然后面試官會考察下你的基礎(chǔ)知識酪穿,我被問到了:
(1)網(wǎng)頁都有哪些方式可以向服務(wù)器請求數(shù)據(jù)晴裹。
(2)http協(xié)議,TCP三次握手涧团、四次揮手。
(3)給定一個數(shù)組钮追,要對其中的每個元素執(zhí)行異步處理,后續(xù)元素需要等前面元素處理完了才可以開始(鏈?zhǔn)剑绾螌崿F(xiàn)?(async await 寫法上最簡潔)
(3/14補(bǔ)充:這個問題的場景可以是對多個文件的異步讀取操作刊棕,如下段代碼所示待逞,這里用到了
generator
和thunk函數(shù)
甥角,寫法上類似同步操作飒焦,看起來更清晰屿笼。詳細(xì)資料
var g = function* (){
var f1 = yield readFileThunk('fileA');
var f2 = yield readFileThunk('fileB');
// ...
var fn = yield readFileThunk('fileN');
};
run(g);
)
(4)ES6的新語法(ES6這么好用,你還在等什么休雌,不兼容可以用 babel 案味稀);
(5)瀏覽器常用的緩存策略((a)如果要緩存一個圖片胸懈,應(yīng)該從哪個緩存里訪問?--圖片一般屬于靜態(tài)資源涌献,緩存在內(nèi)存或者硬盤上(b)一個站點(diǎn)緩存的cookie首有,能在另一個站點(diǎn)中獲取嗎枢劝?跨域的話不行)卜壕;
(6)說一下快速排序(選個pivot,將其他元素與其比較轴捎,小的放前面,大的放后面昨悼,再對pivot前后兩個區(qū)間進(jìn)行遞歸處理跃洛,直至每個區(qū)間長度為1。被追問pivot的選取有什么講究嗎汇竭?這應(yīng)該涉及快排的優(yōu)化)。
(3/15補(bǔ)充两曼,快排的深入了解)
快排優(yōu)化
整個過程大概持續(xù)了40分鐘(前35分鐘面試官問玻驻,我答。第35分鐘他問完了璧瞬,問我有什么想問的,我大概問了他5分鐘吧)渔欢,氣氛其實還好瘟忱,面試官很溫和,提出的問題也是根據(jù)我的水平來的访诱,問得比較細(xì)致,程度逐漸深入九榔。我有幾處真不知道,就直接說的不知道谜诫,后面會去學(xué)習(xí)攻旦。
心得:前期準(zhǔn)備很重要!基礎(chǔ)要扎實牢屋,知識要融會貫通成體系,不能只會概念锋谐,常見的難點(diǎn)截酷、疑點(diǎn)、誤區(qū)要弄清楚迂苛;口語表達(dá)要多練習(xí)。