前提:本人2023年畢業於乙個普通本科,工作不到2年。
1、將乙個4位元組的整數的二進位制表示中的001替換為011,輸出替換後的整數。
2、將乙個陣列右移幾位,比如陣列為1 2 3 4,右移一位即為4 1 2 3。
3、輸入乙個表示十六進製制的字串,轉換為十進位制的整數輸出。
4、單鏈表反轉。
5、乙個8*8的方格仔,a點在左下角,b點在右上角,求a點到b點的最短路徑有多少條。
第1題,我理解錯題意了,順便鄙視一下自己,我當時的想法是這樣的:整數有正有負,不能拿該整數直接右移,所以我用了乙個unsigned int mode = 7進行左移,是直接拿整數與mode相與,得到的結果與001比較,相同就替換,不同就把mode左移3位再與整數相與。面試官a直接指出我的思路有問題,相等替換後mode左移3位,不相等應該將mode左移1位,而不是左移3位,只有相等才把mode左移3位。這裡順便說一下,筆試完之後,面試官a是拿著你的筆試題一題一題的問你,根據你的題目結果要你說出你的計算過程的。答案:
將乙個4位元組整數的二進位制表示中的001替換為011
第2題,由於這道題我之前做過,思路就是:先把左邊反轉,再把右邊反轉,最後把整個陣列反轉就可以得到結果。但是悲劇的是,面試官a要我用數學證明我這種方法的正確性,o(╯□╰)o,最後我只能說:我之前做過這道題。如果當時,我能套用線性代數中矩陣的轉置的思想來說明這道題,那麼這道題的證明可能說得過去。所以說,要對你寫的**負責,要知其然,更要知其所以然。類似題目:
左旋轉字串
第3題,進製轉換,簡單,不過要分別考慮大小寫字母。
第4題,簡單,就不說了。答案在我的另一篇博文:單鏈表逆置
第5題,我也是想錯了方向,由於沒有時間了,**我沒寫,我只寫了個思路:即從a點開始用廣度優先搜尋,第乙個到達b點的肯定是最短路徑,記下此時a點到b點的步數,然後統計從a到b點等於這個步數的個數。其實,廣度優先搜尋只能求出最短路徑,但不能求出所有的最短路徑個數,要想求出所有最短路徑的個數,要用回溯法(後面我會給出**)。想想當時面試的時候還振振有詞的向面試官a講解我的思路,也不知道面試官a是怎麼想的,也不指出我的錯誤,怕是怕我難堪吧。
面試官a面完之後已經是12點多了,這是又來了乙個27、8歲的大哥(暫且稱為面試官b)來面試我,一上來就給我一道程式設計題,實現大數相加,給出**。我又刷刷的寫了20多分鐘,認為沒問題了,就拿給面試官b看,看了一小會,就指出我的**錯在什麼地方了,(哎,畢竟是手寫**,錯誤肯定很多),要我改正,一步一步的引導我將我的**改正,非常和藹的一位大哥哥,也是和我聊的最久的,聊到了下午2點多,差不多兩個鐘頭,期間主要問的問題各種各樣都有:
1、技術相關:map的實現機制是怎麼樣的啊;模板類的偏特化;動態載入dll和靜態載入dll的區別;執行緒和程序的區別;tcp的四次揮手協議;給定兩個陣列a和b,求所有在a陣列中不在b陣列的元素;快速排序的平均時間複雜度是多少,證明它的平均時間複雜度等。這些問題我都一一說出了我的答案,主要是我看過一點面試官b面完之後,叫我先出去吃午飯,下午回來還有一次面試。吃飯歸來之後,又來了一位也是27、8歲的大哥(暫且稱為面試官c),給我幾道邏輯題,要我20分鐘寫出答案,在我和他講解我的邏輯題之後,他問了幾個我不熟悉的或者已經記不清答案的問題:乙個程序由哪些方面構成,我記得總結:
1、沒有大公司面試經驗,並且由於事先也完全沒有做準備,好像趕鴨子上架
2、基礎一定要紮實,c++,資料結構和演算法,作業系統,網路程式設計要熟悉。
3、對自己寫的**負責
近期目標:
1、看資料結構和演算法
2、熟悉c++程式設計規範。
3、多看別人寫的優秀原始碼,爭取自己寫的**簡潔易懂
最後:
給出筆試的最後一道程式設計題的題目和我寫的答案,如果有任何問題,請指正。
題目:給定乙個8*8的方格仔,如下圖所示,求a點到b點的最短路徑有多少條?用演算法實現。
答:從圖中可以看出,a點到b點的最短路徑為16,即a點橫走8小格,縱走8小格才能最快到達b點,這是排列組合的問題,即從最短路徑16中選取8個橫走的小格仔(或者從最短路徑16中選取8個縱走的小格仔)。所以從a點到b點的最短路徑條數,直接可以算出來,即為:
**如下:
size_t g_num = 0; //執行介面如下:統計a點到b點的最短路徑條數
void shortestpathnumber(char grid[9][9], int row, int col, int &step)
if (row == 0 && col == 8
)
}else
}int _tmain(int argc, _tchar*argv)
;
int step = 0
; shortestpathnumber(grid,
8, 0, step); //
從a點開始搜尋
cout<
a點到b點的最短路徑條數為:
"return0;
}
2023年1月19 日
venow 完
社招2020百世技術面試經歷
2020 一面 兩個面試官 全程無笑 1 先自我介紹,然後介紹一下自己做過的乙個最有價值的專案。我就將之前做過的乙個排水公司監控大屏專案拿出來介紹,該專案裡面採用springcloud rabbitmq redis mysql websocket和quartz等。問了websocket的一些情況,長...
騰訊面試經歷
linux和os netstat tcpdump ipcs ipcrm 如果這四個命令沒聽說過或者不能熟練使用,基本上可以回家,通過的概率較小 這四個命令的熟練掌握程度基本上能體現面試者實際開發和除錯程式的經驗 cpu 記憶體 硬碟 等等與系統效能除錯相關的命令必須熟練掌握,設定修改許可權 tcp網...
騰訊2016校招技術崗面試經歷
關於筆試 只要前期複習到位,筆試還是很好過的,但是當然 分數 越高越好,否則後面會被面試官鄙視的。題目可能難度較大,但是要把會做的 都做 對,如果時間比較緊可以適度屏棄部分不會的題目。關於面試 9.14 晚上6點半 一面 30min 提前乙個小時到了酒店,簽到完就坐那裡等,雖然還沒來得及吃晚飯,但是...