先說說自身情況, 雙非本科應屆生,科班,19年八月尾放棄考研準備秋招,持續了九月十月兩個月。
有一些不厲害的程序設計相關的獎項,無項目開發經驗,學科成績應該在年級前50%吧。
投了一些國內目前還算比較好的互聯網公司, 崗位都是c++後臺開發相關, 面試機會基本上都是參加筆試獲得的。
最後拿到了華爲通用軟件開發部和百度自動駕駛技術部的offer。
準備面試的同學一定要多投一點公司(大佬除外,中意哪個公司投哪個就好了。。。),暫時手裏沒有offer也不用太慌好好準備面試就行了,我也是十一月才接到的offer。
把去年秋招被面試官問過的問題回憶了一下,可能會遺漏了一些,給大家參考,希望有幫助。
另外給找工作的同學推薦一下牛客網,個人感覺是一個很好的平臺,有很多面經和公司招聘信息。
計算機網絡:
1、子網掩碼、主機號、網絡號、子網一些相關的知識和運算。
2、三次握手四次揮手詳細過程以及每個狀態,TIME-WAIT狀態的意義,如果某次握手或者揮手的信息丟失會發生什麼,爲什麼 不是四次握手,爲什麼不是三次揮手。
3、TCP和UDP的區別
4、http的鏈接過程,https的鏈接過程,http和https有什麼區別。
5、輸入一個url按下回車會經過哪些過程
6、詳細說一下DNS解析過程,ARP協議的作用
7、網絡的七層協議,五層協議
8、客戶端發出的請求到服務端接收到請求,每層協議對數據包做了什麼(就是一個封裝數據包和解析數據包的過程)
9、各種狀態碼的含義
10、TCP如何保證傳輸的準確性,擁塞控制
11、網絡編程相關(基本沒被問過)
操作系統:
1、線程和進程的區別
2、孤兒進程,殭屍進程
3、進程間通信方式(管道,消息隊列,共享內存,信號量)//弄懂原理即可
4、線程的各種鎖(互斥鎖,自旋鎖,讀寫鎖,信號量)//需要知道詳細的原理,能用代碼實現最好
5、c++的內存結構
6、死鎖的四個條件,如何預防死鎖,如何解決死鎖
7、爲什麼要有虛擬內存
7、進程有哪幾種狀態
8、IO多路複用,select、poll、epoll
9、linux的各種命令(隨緣吧,問的我沒有一個會的)
10、linux內核相關
數據庫:
1、索引,聯合索引,什麼時候應該建立索引,建索引的原則
2、爲什麼索引要用b+樹(建議瞭解b樹,b+樹的原理)
3、基本的增刪查改語句
4、複雜的查詢語句,多表的聯合查詢
5、ACID四大特性
6、可以瞭解一下redis
c++:
1、c++11的特性(智能指針、泛型編程等)
2、static的作用
3、虛函數的原理,爲什麼需要虛函數
4、指針和引用的區別
5、malloc和new的區別
6、析構函數爲什麼設計成虛函數
7、多態的實現方式
設計模式:
1、里氏代換原則
2、依賴倒轉原則
3、觀察者模式
算法&&數據結構:
1、vector和數組有什麼區別
2、鏈表的數組有什麼區別
3、hash衝突的解決辦法,hash表如何擴容,hash的時間複雜度(如何計算來的)
4、vector如何擴容
5、隊列和棧的區別,分別在那些場景中會用到
6、手寫歸併排序,快速排序(遞歸和非遞歸),堆排序
7、紅黑樹的原理,和avl樹的區別
8、map,set,unorder_map底層實現
9、二叉樹的各種遍歷(遞歸和非遞歸)
編程題:
頭條:
1、一堆數中只有一個數字出現了奇數次,其他的都是出現偶數次,找到出現奇數次的數。
2、複雜鏈表的複製(劍指offer原題)
3、設計一個LRU算法,要求操作時間複雜度都是O(1)
4、鏈表的插入排序,空間複雜度O(1)
5、鏈表的奇數項是升序,偶數項是降序,將整個鏈表變成升序
6、一個不規則硬幣,正面個反面出現的概率不等,現在兩個人需要用這個硬幣決策出誰先吃飯,設計一個公平的方案
深信服:
1、有一個很大的文件裏面都是url,如何判斷一個url是否在這個文件中出現過(說想法即可)
2、一個字符串中單詞被一些'#'分隔開,設計一個函數返回分離出的單詞數組(用純c寫)
3、有1,2,3,4,5元的紙幣,數量不限,湊夠一個n元的錢有多少種方式
華爲:
1、求兩個集合的交集
2、包含+-*/()的計算器
3、求字符串中的最長回問子串
4、求一個數組中每個數後面第一個比它大的數
快手:
1、大數加法
2、大數乘法
3、一個數列1,2,2,3,3,3,4...(n個n),輸入一個k,求前k個數的和(要求時間複雜度O(log(k));
4、輸入一個n,求n最少被幾個完全平方數組成(輸出那些數)
百度:
1、A表示1,B表示2...Z表示26,給一個數字,用字母表示,比如27=AA
2、兩個字符串,吧A串變成B串需要的最少步數,可以刪除一個字符,增加一個字符,改變一個字符
3、一個c++文本,裏面有很多註釋,刪掉所有的註釋部分。
4、二維平面上有2*n個點,沒有三點共線,判斷是否有一條直線能將這些點分成兩部分,每邊n個點(說想法即可)
5、1000瓶酒中有瓶有毒,老鼠喝了毒酒一週會死亡,一週內找出毒酒最少需要幾隻老鼠(說想法即可)
美團和騰訊的編程題想不起來了。。。