社招C++後臺面試-拿到offer
以前在一家小公司上班,主要是作C語言的嵌入式軟件開發,涉及過一點點C++。工做大概三年,而後去試試大公司,這個面試題是我拿到offer後4個月才拖拖拉拉的開始寫,題目大概記得,可是本身怎麼回答的忘記了。面試
一面-視頻面試
- 棧和堆的區別,怎麼解決棧的溢出問題
- #define的做用,有什麼具體用法,在編譯中會怎麼樣
- 大小端轉換
- 同步和異步的區別
- 內存池的瞭解
- STL中map和hashmap的區別,使用場合,hash創建須要注意什麼
- 傳輸過程當中文件完整性的判斷。爲何使用md5,可不能夠用文件大小判斷
這個映象比較深,由於上家公司在下載軟件版本升級的時候是先鏈接了安全網關的狀況下,也就是默認下載環境是安全的狀況下如何判斷。
以前是使用了md5校驗,可是被問到在安全的狀況下,直接判斷文件大小是否是能夠用文件大小判斷。
- 講了下交叉編譯和調試方式
- mips和mipsel的區別,el是什麼意思
- 剩下就是http的常規問題了,3次握手和4次揮手,沒有什麼特別的了。
- 數據庫的使用,由於只使用過sqlite3,被問到爲何要使用sqlite3,用文本存儲不行嗎。
二面-視頻面-手撕代碼-攝像頭對着本子寫
- 字符串中找不含重複字符的最長字串的長度
eg: abcdddabc -> 4
- 字符串中找最大重複字串
eg: abcdddabc -> abc
- 峯值元素是指其大於左右兩邊相鄰的元素。找峯值元素的下標
[1,2,3,1], 峯值元素爲3,輸出2
- 給定一個數組,將數組元素向右移K個位置,k>=0
eg:[1,2,2,3,4,5] k=2 -> [4,5,1,2,2,3]
- 實現一個單例類
- 互聯網和傳統行業的區別
三面-現場
主要是聊你的項目,主要是爲何作這個項目,你這樣作這個功能的目的是什麼,帶來了什麼效果sql
四面
HR