字節(jié)跳動(dòng)(提前批)——一面面經(jīng)
今天下午5點(diǎn)鐘面試的,杭州某部門的一面,原本以為會(huì)問(wèn)很多操作系統(tǒng),計(jì)算機(jī)網(wǎng)絡(luò)和數(shù)據(jù)庫(kù)的知識(shí),結(jié)果面試官當(dāng)場(chǎng)下載我的簡(jiǎn)歷,問(wèn)了清一色的JAVA問(wèn)題,全部都是根據(jù)簡(jiǎn)歷問(wèn)答,然后一直追問(wèn),問(wèn)到你不會(huì)為止;
- 自我介紹
- 我們來(lái)問(wèn)一些Java基礎(chǔ)知識(shí)吧,int 和Integer的區(qū)別?由Integer對(duì)象引出JVM內(nèi)存結(jié)構(gòu)?int型變量存儲(chǔ)在哪里?堆里有沒(méi)有,有的話存儲(chǔ)在堆哪里???(卡死,我回答如果對(duì)象有int屬性,會(huì)存儲(chǔ)int);
- 由Integer和int的區(qū)別引出,泛型的使用,泛型的實(shí)現(xiàn)原理?????(不會(huì));
- GC怎么回收?引用計(jì)數(shù)法和可達(dá)性分析哪個(gè)使用的多?為什么?(我說(shuō),引用計(jì)數(shù)***造成循環(huán)引用,無(wú)法回收),那么可達(dá)性分析存在這種情況嗎?怎么解決的?(卡死,無(wú)語(yǔ)了);
- HashMap的時(shí)間復(fù)雜度為什么是O(1)?怎么定位到查詢對(duì)象的位置?hashcode()返回值可能是個(gè)很大的int型變量,怎么定位到hash的?了解Hash算法嗎?(沒(méi)具體了解過(guò),end);
- 我們來(lái)做題吧:給了兩個(gè)鏈表1 ->2 -> 3表示321, 2 -> 4 -> 5表示542, 計(jì)算結(jié)果輸出為: 3 -> 6 -> 8 ,實(shí)現(xiàn) Node add ( Node a, Node b)。 主要是進(jìn)位處理,先講思路,再手寫,面試官看了沒(méi)啥問(wèn)題,也沒(méi)測(cè)試。
- 可能算法題做得比較快,還剩時(shí)間,又看了我簡(jiǎn)歷寫了設(shè)計(jì)模式,說(shuō)哪些用過(guò),那些沒(méi)有用過(guò),只有代理沒(méi)有用過(guò),那就講一下代理吧;??
- HashMap紅黑樹(shù)了解嗎?(是不是實(shí)在想不出問(wèn)題了,又來(lái)了?。┘t黑樹(shù)的時(shí)間復(fù)雜度為什么是log(n);(然后我巴拉巴拉,不了解紅黑樹(shù),用二叉樹(shù)解釋的,他說(shuō)還是沒(méi)說(shuō)為啥是log(n),數(shù)據(jù)結(jié)構(gòu)實(shí)在學(xué)的不好,就說(shuō),通過(guò)某種數(shù)學(xué)計(jì)算出來(lái),2的n次方,兩遍取對(duì)數(shù),得出來(lái)的!!!注意?。。。。∪缓髴騽⌒缘囊荒粊?lái)了?。?!他說(shuō):log(n)的下標(biāo)不是10嗎?怎么變成2了? 我說(shuō)一直是2啊,10下標(biāo)的是lg(n)沒(méi)有‘o’,他說(shuō):你確定嗎? 我被他問(wèn)的都懷疑了,說(shuō):確定吧。。。。他說(shuō):“你確定下標(biāo)是2?”,我:“確定!” 他:“為什么是2呢?” 我:。。。。。。。。??赡苁且环N約定吧??) 事后我查了一下,我沒(méi)有說(shuō)錯(cuò),下標(biāo)確實(shí)是2,但是我就不明白了,他一直以為是10,為什么還讓我解釋時(shí)間復(fù)雜度怎么算出來(lái)的,他學(xué)的是錯(cuò)的啊,哈哈~~~~
- 憋了好久,實(shí)在想不出來(lái)什么問(wèn)題了,他一直在撓頭想問(wèn)題,想不出來(lái)了(我尋思著,簡(jiǎn)歷還有好多,為啥不問(wèn),是自己不會(huì)嗎???),然后問(wèn)我有什么問(wèn)題嗎?
全程總共57分鐘,感覺(jué)他是現(xiàn)準(zhǔn)備的,遲到兩分鐘,下載我的簡(jiǎn)歷,就我簡(jiǎn)歷一直現(xiàn)想問(wèn)題,然后詢問(wèn),一直在撓頭想問(wèn)題,最后實(shí)在想不出來(lái)了,時(shí)間也快差不多了,就結(jié)束了,而且臨近結(jié)束時(shí)候,旁邊有人說(shuō):“吃飯去嗎?”,他說(shuō)馬上結(jié)束了。。。??
#字節(jié)跳動(dòng)校招提前批##字節(jié)跳動(dòng)##校招##Java工程師##面經(jīng)#