華為研發(fā)面試題常出題型,你會幾個?
2020-04-22閱讀 1481


第一種類型:字符串處理問題,是華為開發(fā)筆試中常考類型,屬于中、低難度,主要考核面試者的縝密度和細心程度,還有基本的代碼能力

 

題目:簡單錯誤記錄

描述:

開發(fā)一個簡單錯誤記錄功能小模塊,能夠記錄出錯的代碼所在的文件名稱和行號。

處理:

1、 記錄最多8條錯誤記錄,循環(huán)記錄(或者說最后只輸出最后出現(xiàn)的八條錯誤記錄),對相同的錯誤記錄(凈文件名稱和行號完全匹配)只記錄一條,錯誤計數(shù)增加;

2、 超過16個字符的文件名稱,只記錄文件的最后有效16個字符;

3、 輸入的文件可能帶路徑,記錄文件名稱不能帶路徑。

 

輸入描述:

一行或多行字符串。每行包括帶路徑文件名稱,行號,以空格隔開。

輸出描述:

將所有的記錄統(tǒng)計并將結(jié)果輸出,格式:文件名 代碼行數(shù) 數(shù)目,一個空格隔開,如:

示例1

輸入

E:\V1R2\product\fpgadrive.c   1325

輸出

fpgadrive.c 1325 1

 

 

第二種類型:全面型考題,涉及數(shù)學(xué)運算,字符轉(zhuǎn)換,進制轉(zhuǎn)換,邏輯判斷及相關(guān)知識

 

題目: 識別有效的IP地址和掩碼并進行分類統(tǒng)計

描述:

請解析IP地址和對應(yīng)的掩碼,進行分類識別。要求按照A/B/C/D/E類地址歸類,不合法的地址和掩碼單獨歸類。

所有的IP地址劃分為   A,B,C,D,E五類

A類地址1.0.0.0~126.255.255.255;  

B類地址128.0.0.0~191.255.255.255;  

C類地址192.0.0.0~223.255.255.255;  

D類地址224.0.0.0~239.255.255.255;

E類地址240.0.0.0~255.255.255.255  

私網(wǎng)IP范圍是:

10.0.0.0~10.255.255.255  

172.16.0.0~172.31.255.255  

192.168.0.0~192.168.255.255  

子網(wǎng)掩碼為二進制下前面是連續(xù)的1,然后全是0。(例如:255.255.255.32就是一個非法的掩碼)

注意二進制下全是1或者全是0均為非法

注意:

1. 類似于【0.*.*.*】的IP地址不屬于上述輸入的任意一類,也不屬于不合法ip地址,計數(shù)時可以忽略

2. 私有IP地址和A,B,C,D,E類地址是不沖突的

輸入描述:

多行字符串。每行一個IP地址和掩碼,用~隔開。

 

輸出描述:

統(tǒng)計A、B、C、D、E、錯誤IP地址或錯誤掩碼、私有IP的個數(shù),之間以空格隔開。

 

示例1 :

輸入

10.70.44.68~255.254.255.0

1.0.0.1~255.0.0.0

192.168.0.2~255.255.255.0

19..0.~255.255.255.0

輸出

1 0 1 0 0 2 1

 

第三種類型:涉及數(shù)據(jù)結(jié)構(gòu),鏈表、數(shù)組處理

 

題目:從單向鏈表中刪除指定值的節(jié)點

描述:

輸入一個單向鏈表和一個節(jié)點的值,從單向鏈表中刪除等于該值的節(jié)點,刪除后如果鏈表中無節(jié)點則返回空指針。

鏈表結(jié)點定義如下:

struct ListNode

{

int         m_nKey;

ListNode* m_pNext;

};

詳細描述:

本題為考察鏈表的插入和刪除知識。

鏈表的值不能重復(fù)

構(gòu)造過程,例如

1 <- 2

3 <- 2

5 <- 1

4 <- 5

7 <- 2

最后的鏈表的順序為 2 7 3 1 5 4

刪除 結(jié)點 2

則結(jié)果為 7 3 1 5 4

輸入描述:

1 輸入鏈表結(jié)點個數(shù)

2 輸入頭結(jié)點的值

3 按照格式插入各個結(jié)點

4 輸入要刪除的結(jié)點的值

輸出描述:

輸出刪除結(jié)點后的序列,每個數(shù)后都要加空格

示例1

輸入

5

2

3 2

4 3

5 2

1 4

3

輸出

2 5 4 1

 

第四類型:數(shù)獨問題,涉及算法及二維數(shù)組

題目: Sudoku-Java

問題描述:數(shù)獨(Sudoku)是一款大眾喜愛的數(shù)字邏輯游戲。玩家需要根據(jù)9X9盤面上的已知數(shù)字,推算出所有剩余空格的數(shù)字,并且滿足每一行、每一列、每一個粗線宮內(nèi)的數(shù)字均含1-9,并且不重復(fù)。

輸入描述:

包含已知數(shù)字的9X9盤面數(shù)組[空缺位以數(shù)字0表示]

輸出描述:

完整的9X9盤面數(shù)組

示例1

輸入

0 9 2 4 8 1 7 6 3

4 1 3 7 6 2 9 8 5

8 6 7 3 5 9 4 1 2

6 2 4 1 9 5 3 7 8

7 5 9 8 4 3 1 2 6

1 3 8 6 2 7 5 9 4

2 7 1 5 3 8 6 4 9

3 8 6 9 1 4 2 5 7

0 4 5 2 7 6 8 3 1

輸出

5 9 2 4 8 1 7 6 3

4 1 3 7 6 2 9 8 5

8 6 7 3 5 9 4 1 2

6 2 4 1 9 5 3 7 8

7 5 9 8 4 3 1 2 6

1 3 8 6 2 7 5 9 4

2 7 1 5 3 8 6 4 9

3 8 6 9 1 4 2 5 7

9 4 5 2 7 6 8 3 1

 

第五種類型:典型的動態(tài)規(guī)劃問題,面試華為15級以上一般可能會考一道動態(tài)規(guī)劃題

題目: 火車進站

描述:

給定一個正整數(shù)N代表火車數(shù)量,0<N<10,接下來輸入火車入站的序列,一共N輛火車,每輛火車以數(shù)字1-9編號。要求以字典序排序輸出火車出站的序列號。

輸入描述:

有多組測試用例,每一組第一行輸入一個正整數(shù)N(0<N<10),第二行包括N個正整數(shù),范圍為1到9。

輸出描述:

輸出以字典序從小到大排序的火車出站序列號,每個編號以空格隔開,每個輸出序列換行,具體見sample。

 

示例1

輸入   

3

1 2 3

輸出

1 2 3

1 3 2

2 1 3

2 3 1

3 2 1