南京某211渣碩,第一次大廠面試給了頭條。感受好多基礎知識掌握的不牢靠。面試結束以後深入感覺到考前突擊的方式不可取,功在平時才能厚積薄發。爲了此次面試突擊了兩週,仍是有不少東西沒有準備充分,不少基礎不牢靠。之後得更加努力了。
上午十點半面試,面了一個半小時,說若是有二面,後續會再聯繫,但估計應該沒有後續了。要學習的東西還有不少,之後繼續加油吧。很喜歡字節跳動這個名字,第一次聽見的時候感受頗有靈性,很是但願能去字節的團隊。此次的失敗就看成對本身的激勵吧。java
以前還沒來得及準備線程池,哭暈,直接回復不太瞭解,第一個問題就這麼了結,實在有點過意不去。Java基礎太薄弱了。面試
用synchronized關鍵字加鎖,還有分段鎖。算法
以前只顧記概念了,沒能好好理解。瞎胡說一通,說不是對整個數據段加鎖,而是一段一段的加鎖(面試官心裏應該是奔潰的),性能比synchronized關鍵字好。數據庫
追問,知道哪些數據結構是用分段鎖的嗎?數據結構
回答只知道ConcurrentHashMap。架構
追問,那它是怎麼實現分段鎖的,瞭解過嗎?tcp
回答沒有。性能
除了這個還有沒有別的數據結構用分段鎖?學習
回答不是很清楚。ui
synchronized知道怎麼用嗎?
以前沒怎麼用過,回答在方法或變量前面使用。面試官心裏應該很崩潰了。
知不知道鎖的可重用是一個什麼樣的概念?
這個真沒了解過。
hash索引和B+樹索引,若是查詢單條記錄的話,hash索引比較方便。查詢多條記錄的話B+樹索引可以提升查詢效率。
追問:B+樹和B樹什麼區別?
回答:這個好像答反了,哭暈
爲何使用索引查詢會變快呢?
回答:自己數據庫的結構是按頁存儲,不一樣的頁之間構成一個循環鏈表,頁裏面的記錄也是單鏈表。若是不用索引而且數據量比較大的話,查詢效率低。若是用B+樹balabala,說的有點語無倫次。最主要緣由仍是對B+樹沒那麼瞭解。
知道聚簇索引嗎?
回答:聚簇索引也叫彙集索引。是以主鍵爲索引的。
追問:主鍵索引和普通的索引有什麼區別
回答:以主鍵索引查詢沒有回表的操做,普通索引的話好像沒有回表的操做。
追問:爲何主鍵索引就不須要回表呢,根本緣由是啥?
回答:好像是數據庫裏面是以主鍵存儲的。面試官:大體是這個意思
三次握手主要是爲了通訊雙方創建一個可靠的通訊信道。第一次握手balabala,第二次balabala,第三次balabala。
四次揮手balabala
追問:爲何握手要三次,改爲兩次行不行?
回答:沒理解面試官的意思,答偏了。直接說的兩次握手的話接收端沒法確認本身是否是發送成功,發送端是否是成功接收。
追問:兩次的話斷開會有什麼問題?
個人回答仍是創建在三次握手的基礎之上來思考的,沒有拋開三次握手的概念。
昨天基友剛答過這題,今天又來了。早上還瞄過一眼,感受應該不會再出現吧,但沒想到仍是出現了。用的是前序遍歷的方式對二叉樹進行序列化,反序列化的時候感受也挺順利的,但後面執行出現了一個bug,好像是有個遞歸的出口沒考慮到,網頁上寫代碼又不像用IDE,還能夠debug,一時半會沒找到緣由,期間還問了面試官StringBuilder在哪一個包下。。。再加上遇到問題解決不了,有點緊張,卡了好久。最後讓我回頭再調試。仍是不能太依賴於IDE,要學會在沒有IDE的狀況下寫代碼。
搭過集羣。producer往broker的特定topic發數據,consumer從topic讀數據。
問:知道什麼是consumer group嗎?
這個問題答得也很差,多是有點慌了。有點語無倫次,答非所問。
問:kafka的offset怎麼管理知道嗎?
聽錯問題了,覺得問的kafka集羣怎麼管理。答zookeeper。。。
追問:除了zookeeper有沒有其餘方式
答:只用過zookeeper。
問:topic的offset怎麼與consumer group對應上的?
亂答一通
問:offset是和什麼綁定的?
可能面試官知道我理解錯他的意思答偏了,又進一步引導了一下。當時腦子都亂了,說了一些offset的讀取策略,也不知道對不對。往文件裏面寫。
感受這一塊問題仍是由於本身平時理解的不夠深刻,光顧着使用,卻忘記總結了。若是基礎好的話,不至於那麼慌吧。
我問了三個問題
會作技術分享,每月都有人會作技術分享,一個組內,每一個人按月份分享。學東西的話在工做中遇到一些問題,解決了也可以學到一些東西。
通常遇到問題會去源碼那邊跟一下,若是單純學源碼的話,最好按模塊來看,架構是什麼樣子的。最好是可以跑起來,debug看一些數據。
找實習是最好的,或者本身接項目,作老師的項目。
如今還有不少不足的地方,得抓緊時間研究了,必定要功在平時啊。廣度優先的時候也要注意深度。多刷題,多總結才能走的遠,基礎是最重要的。
很想去字節跳動,後面繼續努力吧。加油啊。
若是後面還有二面(嗚。。。)繼續更新。