「面經(jīng)」字節(jié)校招四輪技術面
點擊上方關注 TianTianUp,一起學習,天天進步
大家好,分享的內(nèi)容是字節(jié)跳動四輪技術面試題目。
內(nèi)容來自牛客網(wǎng),作者我叫旋仔,更多內(nèi)容點閱讀原文。
作者:我叫旋仔 鏈接:https://www.nowcoder.com/discuss/662919?source_id=discuss_experience_nctrack&channel=-1 來源:牛客網(wǎng)
【一面】1hour
自我介紹 項目難點介紹,怎么進行解決與優(yōu)化的 數(shù)字的千分位轉(zhuǎn)化,如:123123234.123 -> 123,123,234.123
1、為什么第二次訪問項目白屏的時間會縮短,引出http緩存;是通過什么方式來找到本地緩存文件的?
2、css、js解析順序與相互阻塞;引出defer、async
3、cdn緩存原理;引出http強制緩存cache-control:public
4、Linux 找到名稱nginx并殺掉的方法;講一下守護進程
5、死鎖的理解
6、socket websocket的理解
7、http 400 502的含義
8、http 2.0的新特性?引出多路復用的流程及二進制分幀、頭部壓縮hpack的原理
9、內(nèi)存泄露的場景及如何解決?引出內(nèi)存泄漏的排查工具 chrome tools
10、點擊事件的幾個階段?preventDe***t是否會阻止冒泡
11、instanceof的原理
12、0.1 + 0.2 === 0.3,解釋原因;引出二進制浮點數(shù)對于小數(shù)的處理
13、const a = {},是否可以改變對象屬性值?如果屬性值不能改變怎么做?
14、變量提升的理解?
15、異步任務js是怎么處理的?引出了event loop的流程及宏任務與微任務的介紹
16、如何判斷一個元素是否在視口范圍?
17、css postion fixed absolute的區(qū)別;他們是怎么定位的,有參考對象嗎?
19、vue data為什么不能是個對象;引出為什么不能是箭頭函數(shù)?
20、dom diff的原理及時間復雜度
21、通過多叉樹的廣度優(yōu)先遍歷,找到值為xxx的節(jié)點
【二面】1hour
自我介紹
判斷數(shù)組的方法?說一下instanceof的原理?
說一下下面結果輸出什么?
var length = 10;
function fn() {
return this.length+1;
}
var obj = {
length: 5,
test1: function() {
return fn();
}
};
obj.test2=fn;
//下面代碼輸出是什么
console.log(obj.test1())
console.log(fn()===obj.test2())手寫寄生組合式繼承
假設有n個人,標號為1到n。
從第一個人開始計數(shù),到第k個人則出列,隨后從第k+1個人重新計數(shù),到第k再出列....。直至剩下最后一個人。問最后剩下的人的編號?標題:輸入電話號碼時自動推薦出下一位合法的數(shù)字集
描述信息
公司有10萬名員工,每名員工都有一個座機號碼。現(xiàn)在要在網(wǎng)頁上實現(xiàn)一個“自動補位推薦” 的功能,問如何實現(xiàn)?
解釋:
“自動補位推薦” 功能:有一個輸入框,用戶每輸入一個數(shù)字,立馬推薦出下一位合法的數(shù)字集合。
比如只有 5789234、5623786、5633678三個電話號碼,當?shù)谝晃惠斎?時,立馬推薦下一位有效數(shù)字集合[ 7, 6 ],
如果第二位輸入6時,下一位有效數(shù)字集合為[2,3]....補充:
數(shù)字轉(zhuǎn)換為千分位有哪幾種方式?都說一下是如何實現(xiàn)的
說一下實現(xiàn)一個SPA應用統(tǒng)計pv的SDK的思路
說一下掃碼登錄的實現(xiàn)流程
說一下為什么不能客戶端生成二維碼ID?
說一下以下題的思路 實現(xiàn)一個repeat方法
// 需要實現(xiàn)的函數(shù)
function repeat (func, times, wait) {},
// 使下面調(diào)用代碼能正常工作
const repeatFunc = repeat(console.log, 4, 3000);
repeatFunc("hello world");//會輸出4次 hello world, 每次間隔3秒用鏈表實現(xiàn)約瑟夫環(huán)算法
【三面】1hour
項目特點介紹
講一下項目是如何進行優(yōu)化的?
手寫一個compose的方法
a(b(c(d('xxxx'))))
const func = compose(a, b, c, d)
func('xxx')說一下vue組件的通信的實現(xiàn)方式?eventbus的設計模式是什么?
補充:
如何對兼容性代碼進行處理? 腳手架的代碼被修改后,別的使用到這個腳手架的項目也需要進行更新,那么這時候怎么處理會比較好? 你是如何去規(guī)范別人寫的代碼的?eslint的表現(xiàn)是怎么樣的?如何保證別人提交到github的代碼是正確的? grunt、gulp了解嗎,他們和webpack有什么區(qū)別?之間的優(yōu)勢和差別是在哪? 如果讓你實現(xiàn)一個腳手架,你應該需要考慮什么點? 你是強制要求模塊化劃分嗎,還是說有什么標準? 場景題:手寫一個組件,組件實現(xiàn)內(nèi)列表之間的狀態(tài)管理 對于前端之外的技術你還有哪些感興趣的?
【四面】0.5hour
簡單的自我介紹 項目特點詳細介紹,從頁面、架構設計分析 一個多商鋪商城的完整介紹(從用戶、產(chǎn)品的角度去分析介紹),C端、商家B端、平臺端 介紹一下你在前公司的定位,職責,干的事情 介紹前公司的項目報價、客單價、人天、項目成員分配
【hr面】
因為我在大學期間有過創(chuàng)業(yè)經(jīng)歷,所以主要是問我創(chuàng)業(yè)以及各方面綜合素質(zhì)的問題~
最后
面試交流群持續(xù)開放,分享了近 許多 個面經(jīng)。
加我微信: DayDay2021,備注面試,拉你進群。
我是 TianTian,我們下篇見~

