字节跳动后台开发实习面试回顾
2月21號在實習僧投的后臺開發實習的簡歷,2月22號接到字節跳動HR打來的電話預約了3月4號的面試,然后開始了十天的準備。。。
準備階段: 首先根據之前的面試經驗和網上的面經了解到的,總結了面試常問的幾大塊內容,數據庫、計算機網絡、操作系統、java基礎、java集合類、JVM(這一塊沒有問我,面試官似乎都是搞python、C++的。。。)、java多線程知識,逐一開始了這幾大塊內容的復習。數據庫和計算機網絡是在網上找的博客學習的,具體涉及到的點在我前面寫的博客都有記錄,JVM因為我以前看過Java虛擬機所以花了兩天復習了一下前七章和后面兩章,java基礎在網上找了幾篇博客看了一遍,然后每天5道算法題把劍指offer上大部分題刷完了,由于操作系統忘記復習所以面試問的題沒有答出來,大家不要學我。。。接下來就開始了面試,三輪技術面是在牛客網用視頻面的,HR面是打電話,忘記了很多,我盡量回憶。。。
一面
- 自我介紹
- 談我的一個爬蟲項目,balabalabala…
- 寫算法題:假如有一個數123456,找出這個數所有位重新排列組合可以得到的數中比它大一點的那個數(一開始就想到全排,排序,查找,暴力三連,在面試管的幾次提示下想到了好點的方法,然后又提示我用桶排序優化,然后開始寫代碼。。。具體的解答網上有,這里就不貼了)
- 忘記了,數據庫方面的一個題
- 寫算法題:好像挺簡單,給忘了。。。
二面:
- 自我介紹
- 聊我的爬蟲項目,引出HTTP的請求有多少種
- POST和GET請求有什么區別
- POST和PUT有什么區別
- HTTP和HTTPS有什么區別,講一下HTTPS
- 寫算法:模擬手機九個鍵打英文字母的功能,如按123要輸出123三個鍵包含的所以單詞,單詞庫以鏈表形式給出(一開始沒什么頭緒,還是想暴力三連,面試官問我能不能有O(1)的方法,然后就想到了用hash表,根據按鍵建索引值。。然后就寫出來了。。。)。
- 了解TCP嗎
- 說一下三次握手四次揮手
- TIME-WAIT和CLOSE-WAIT
三面:
- 日常自我介紹
- 說一下線程和進程的區別
- 有哪幾種鎖
- 在C++中,鏈表中如果要刪除節點,可以直接刪除并釋放空間嗎?(小聲BB:我是JAVA選手啊~然后我猜了一下,說可能會產生內存碎片。然后又問我怎么辦,我就說在java里面JVM會隔一段時間整理一下的,我并不了解C/C++有什么機制處理這種事。然后就放過我了)
- 如果讓你實現讀寫鎖你會怎么做
- 進程間通信方式(沒有復習操作系統所以忘了,就開始瞎講。。。)
- 寫算法題:判斷鏈表是否有環,自己寫測試用例(秒了)
- 智力題:4個人,A過橋要1分鐘,B過橋要2分鐘,C過橋要4分鐘,D過橋要8分鐘。現在他們四個人和一個燈籠都在橋的一邊,規定去橋對面必須兩個人帶著燈籠一起過去,回來的時候可以一個人帶這燈籠回來(好奇怪的規定,小聲BB。。。),怎么能使他們過橋時間最短?(想了塊20分鐘沒答出來。。。然后被放過了,回去一想覺得自己像個弱智,差一步想到正確答案,果然視頻面試還是會緊張啊。。)
- 寫算法題:翻轉字符串(秒)
HR面
第二天打電話面的,問了一下本科學校干了啥,為啥之前做Android,為啥要考研,考完研為啥要去實習(我說為了賺錢,HR直接回我這也太真實了吧。。。),還有實習時間等等,20多分鐘就結束了。
目前已經拿到了offer,感覺頭條還是比較重視算法題,面試的大部分時間都在寫題,基礎知識都是本科學的,實習的崗位好好準備了也不是很難(操作系統進程線程那塊一定要清楚!),幾個面試官和HR都很nice。自己還是有點菜,需要繼續努力。期待在字節跳動的生活。。。
總結
以上是生活随笔為你收集整理的字节跳动后台开发实习面试回顾的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 小米9好看又能打?
- 下一篇: python打擂台法_一起来捉妖:这种打