1. 程式人生 > >實習面試準備

實習面試準備

華為線上筆試

三道程式設計題目(100+200+300)

題目一

題1-1.JPG

題1-2.JPG

題目二

題2-1.JPG

題2-2.JPG

題目三

題3-1.JPG

題3-2.JPG

思路與程式碼可以參考這個部落格

面試

1 專案經歷

2 static的作用

3 常用的排序演算法都有哪些,分別在什麼場景下使用?

4 平衡二叉樹,紅黑樹,霍夫曼樹如何構造?

5 用過哪些開源庫?哪些資料結構讓你驚豔?哪些演算法讓你印象深刻?

6 如果有一個程式存在記憶體洩漏,如何找到洩露的地方?

7 如果有一個幾百萬程式碼的程式崩潰了,如何定位問題所在?

8 如果想對linux核心進行修改,怎麼修改?

C++

1 解構函式原理及步驟

2 類物件的記憶體儲存方式

3 STL各種容器的特點以及實現方式/方式   frequency 2

4 C++程序記憶體空間分佈(棧從高到低分配,堆從低到高分配)

5 虛擬函式以及虛擬函式的作用(多型,本質是為了封裝),哪些是編譯時刻確定,哪些是執行時刻確定?

6 makefile編譯

7 gdb除錯

8 如何定位記憶體洩漏   frequency 2

9 動態連結和靜態連結的區別?

10 32位系統一個程序最多多少堆記憶體?

11 寫一個C程式辨別系統是64位或32位?

12 寫一個C程式辨別系統是打斷或小端位元組序?

13 巨集定義和展開?

14 位操作?

15 記憶體分配?

16 哪些困函式屬於高危函式?為什麼?(strcpy等等)

17 一個String類的完整實現必須快速寫出來(賦值構造,operator=是關鍵);

18 指標和引用的區別?

19 多重類構造和析構的順序(對稱)

20 extern c是幹啥的?必須將編譯器的函式名修飾的機制解答的很透析

21 volatile是幹啥的?必須將CPU的暫存器快取機制回答的很透徹

22 static/ const的用法   frequency 2

Linux

1 linux中各種I/O模型原理--select和epoll;阻塞和非阻塞I//O的區別;

2 linux系統檔案機制

3 多程序同步方式

4 使用過

演算法

資料結構

網路程式設計

資料庫

1 sql;

2 伺服器資料庫大規模資料如何設計

3 db各種效能和指標

海量資料程式設計

1 請統計100W個不等長字串中個字串的出現次數:

思路:建立雜湊表,遍歷一遍讓等長的字串對映到同一位置,裡面可以再雜湊連結串列。有2種情況:一種雜湊連結串列中沒出現過就儲存該字串並將對應的計數器設為0,有出現過的就加一。遍歷一遍就完成統計,然後遍歷雜湊表的計數器輸出就可以了。

2 設計資料結構可以快速返回0-10億中哪些數出現了0r沒出現。用125M的bitmap就可以實現(與上一題思路相同)

3 一個每秒百萬級訪問量的網際網路伺服器,每個訪問都有資料計算和I/O操作,如果讓你設計,如何設計?