最美情侣中文字幕电影,在线麻豆精品传媒,在线网站高清黄,久久黄色视频

歡迎光臨散文網(wǎng) 會(huì)員登陸 & 注冊(cè)

華為機(jī)考筆試范圍是什么?

2023-04-27 15:21 作者:平安測評(píng)  | 我要投稿

華為校招機(jī)考的題型:

編程:軟件測試工程師,算法,OD崗,三道編程題不限語言【C++,Python,Java】

校招:600分 120分鐘,100/200/300

社招:400分 150分鐘, 100/100/200

華為的校招和社招編程考試通常覆蓋了以下主要領(lǐng)域和知識(shí)點(diǎn):

數(shù)據(jù)結(jié)構(gòu)與算法:

  • 基本數(shù)據(jù)結(jié)構(gòu):數(shù)組、鏈表、棧、隊(duì)列、哈希表、集合、樹、圖等。

  • 常見算法:排序(冒泡、選擇、插入、快速、歸并等)、查找(二分查找、廣度優(yōu)先搜索、深度優(yōu)先搜索等)、動(dòng)態(tài)規(guī)劃、貪心算法、回溯法等。

  • 常見問題:字符串操作、鏈表操作、二叉樹遍歷、圖遍歷、最短路徑問題、最大子序列問題、最長公共子序列問題、背包問題等。


計(jì)算機(jī)基礎(chǔ)知識(shí):

  • 操作系統(tǒng):進(jìn)程、線程、內(nèi)存管理、文件系統(tǒng)、進(jìn)程間通信、死鎖等。

  • 計(jì)算機(jī)網(wǎng)絡(luò):OSI 七層模型、TCP/IP 協(xié)議棧、IP 地址、子網(wǎng)劃分、路由協(xié)議、HTTP 協(xié)議、DNS、網(wǎng)絡(luò)安全等。

  • 計(jì)算機(jī)組成原理:數(shù)據(jù)表示、運(yùn)算器、控制器、存儲(chǔ)器、輸入輸出設(shè)備、指令系統(tǒng)、總線、中斷等。


編程語言及編程技巧:

  • 掌握至少一門主流編程語言(如 C、C++、Java、Python 等),了解語言的基本語法、數(shù)據(jù)類型、控制結(jié)構(gòu)、函數(shù)、類等概念。

  • 熟悉常用庫和API的使用,例如:STL(C++)、Java 標(biāo)準(zhǔn)庫、Python 標(biāo)準(zhǔn)庫等。

  • 熟悉編程的基本技巧,例如:調(diào)試、代碼優(yōu)化、內(nèi)存管理、時(shí)間復(fù)雜度和空間復(fù)雜度分析等。


軟件工程及項(xiàng)目管理:

  • 軟件開發(fā)過程、軟件開發(fā)方法論(如敏捷開發(fā))、需求分析、設(shè)計(jì)、編碼、測試、維護(hù)等階段的知識(shí)。

  • 熟悉軟件質(zhì)量保證、軟件測試方法、軟件配置管理等概念。

  • 了解項(xiàng)目管理的基本原理,如項(xiàng)目規(guī)劃、進(jìn)度管理、風(fēng)險(xiǎn)管理、成本管理等。


數(shù)據(jù)庫原理及應(yīng)用:

  • 熟悉關(guān)系型數(shù)據(jù)庫原理,如 MySQL、Oracle、SQL Server 等,了解數(shù)據(jù)庫設(shè)計(jì)、范式、SQL 語言、事務(wù)處理、并發(fā)控制等。

  • 了解 NoSQL 數(shù)據(jù)庫(如 MongoDB、Redis 等)的基本概念和應(yīng)用。

在準(zhǔn)備華為編程考試時(shí),可以針對(duì)以上知識(shí)點(diǎn)進(jìn)行復(fù)習(xí),并通過在線編程平臺(tái)練習(xí)


點(diǎn)主頁可以看更多文章,每天一道編程題,分析思路以及解題代碼。


下面給大家分享一個(gè)題的案例:

給定一個(gè)整數(shù)數(shù)組arr,將這個(gè)數(shù)組中的值進(jìn)行解碼。

解碼規(guī)則:將數(shù)組中的元素轉(zhuǎn)換成對(duì)應(yīng)的ASCII碼,解碼后能拼出“csdnn”就視為解碼成功(每個(gè)元素只能用一次)。解碼成功返回1,否則返回0。

說明:數(shù)組中的數(shù)值均在小寫字母之間(97-122),小寫’a’的ASCII碼是97,小寫‘z’的ASCII碼值是122。


示例1:

輸入:[99,100,101,110,115]

輸出:0

示例2:

輸入:[99,100,110,101,115,110]

輸出:1

二、C代碼實(shí)現(xiàn)

代碼如下:

#include<stdio.h>int decoding(int* arr, int arrLen) { ? ?int a = 0, b = 0, c = 0, d = 0, e=0; int i=0; for(;i<arrLen;i++){ ? ? ? ?if (arr[i] == 99) ? ? ? ? ? ?a = 1; ? ? ? ?if (arr[i] == 115) ? ? ? ? ? ?b = 1; ? ? ? ?if (arr[i] == 100) ? ? ? ? ? ?c = 1; ? ? ? ?if (arr[i] == 110 && d == 1) ? ? ? ? ? ?e = 1; ? ? ? ?if (arr[i] == 110) ? ? ? ? ? ?d = 1; ? ?} ? ?if (a&&b&&c&&d&&e) { ? ? ? ?return 1; ? ?} ? ?else { ? ? ? ?return 0; ? ?}}

測試示例1:

int main() { ? ?int arr[5] = {99,100,101,110,115}; ? ?int arrLen = 5; ? ?int x=decoding(arr, arrLen); printf("%d",x); getchar(); return 0; }

運(yùn)行結(jié)果:
0

測試示例2:

int main() { ? ?int arr[6] = {99,100,110,101,115,110}; ? ?int arrLen = 6; ? ?int x=decoding(arr, arrLen); printf("%d",x); getchar(); return 0; }

運(yùn)行結(jié)果:
1

三、C++代碼實(shí)現(xiàn)

代碼如下:

#include<iostream> using namespace std; int decoding(int *arr, int arrLen) { ? ?int a = 0, b = 0, c = 0, d = 0, e = 0; ? ?for (int i = 0; i < arrLen; ++i) ? ?{ ? ? ? ?if (arr[i] == 99) ? ? ? ? ? ?a = 1; ? ? ? ?if (arr[i] == 115) ? ? ? ? ? ?b = 1; ? ? ? ?if (arr[i] == 100) ? ? ? ? ? ?c = 1; ? ? ? ?if (arr[i] == 110 && d == 1) ? ? ? ? ? ?e = 1; ? ? ? ?if (arr[i] == 110) ? ? ? ? ? ?d = 1; ? ?} ? ?if (a && b && c && d && e) ? ? ? ?cout << 1 << endl; ? ?else ? ? ? ?cout << 0 << endl; ? ?return 0; }

測試示例2:

int main() { ? ?int arr[6] = { 99,100,110,101,115,110 }; ? ?int arrLen = 6; ? ?decoding(arr, arrLen); ? ?return 0; }

運(yùn)行結(jié)果:

1

四、Python代碼實(shí)現(xiàn):

def decode(arr): ? ?# 計(jì)算數(shù)組中每個(gè)元素的出現(xiàn)次數(shù) ? ?count = {} ? ?for num in arr: ? ? ? ?if num in count: ? ? ? ? ? ?count[num] += 1 ? ? ? ?else: ? ? ? ? ? ?count[num] = 1 ? ?# 檢查“csdnn”中的每個(gè)字符的ASCII碼是否在哈希表中,并且出現(xiàn)次數(shù)正確 ? ?target = "csdnn" ? ?for ch in target: ? ? ? ?ascii_code = ord(ch) ? ? ? ?if ascii_code not in count or count[ascii_code] == 0: ? ? ? ? ? ?return 0 ? ? ? ?count[ascii_code] -= 1 ? ?return 1# 測試示例arr1 = [99, 100, 101, 110, 115]arr2 = [99, 100, 110, 101, 115, 110]print(decode(arr1)) ?# 輸出:0print(decode(arr2)) ?# 輸出:1

這個(gè)解決方案的時(shí)間復(fù)雜度是 O(n),其中 n 是數(shù)組的長度。

這個(gè)問題用到的知識(shí)點(diǎn)有:

  1. 哈希表:用來存儲(chǔ)數(shù)組中每個(gè)元素的出現(xiàn)次數(shù)。

  2. 字符串:我們需要檢查目標(biāo)字符串 "csdnn" 中的每個(gè)字符。

  3. ASCII 碼:我們需要將目標(biāo)字符串中的每個(gè)字符轉(zhuǎn)換為它們對(duì)應(yīng)的 ASCII 碼,以便在哈希表中查找。

解題思路:

  1. 遍歷輸入數(shù)組,使用哈希表(Python中的字典)計(jì)算每個(gè)元素的出現(xiàn)次數(shù)。

  2. 遍歷目標(biāo)字符串 "csdnn",將每個(gè)字符轉(zhuǎn)換為對(duì)應(yīng)的 ASCII 碼。

  3. 檢查當(dāng)前字符的 ASCII 碼是否在哈希表中,并且出現(xiàn)次數(shù)大于 0。如果不滿足這個(gè)條件,則返回 0。

  4. 如果當(dāng)前字符的 ASCII 碼在哈希表中,將其出現(xiàn)次數(shù)減 1。

  5. 如果所有字符的檢查都通過,返回 1。

以下是我們邀請(qǐng)的華為導(dǎo)師MR.Zhangyu給大家的一些建議:

建立良好的編程基礎(chǔ):掌握至少一門主流編程語言,熟悉基本語法、數(shù)據(jù)類型、控制結(jié)構(gòu)、函數(shù)和類等概念。同時(shí)熟悉常用的庫和API,提高編程效率。
系統(tǒng)地學(xué)習(xí)數(shù)據(jù)結(jié)構(gòu)和算法:學(xué)習(xí)常見的數(shù)據(jù)結(jié)構(gòu)(如數(shù)組、鏈表、棧、隊(duì)列、哈希表等)和算法(如排序、查找、動(dòng)態(tài)規(guī)劃、貪心算法等),并掌握它們的應(yīng)用場景。理解時(shí)間復(fù)雜度和空間復(fù)雜度分析,優(yōu)化代碼性能。
多做練習(xí):通過在線編程平臺(tái)(如 LeetCode、??途W(wǎng)等)做題,提高解題速度和技巧。針對(duì)華為的題目特點(diǎn),關(guān)注一些典型問題和模式。
熟悉面試題庫:參考華為歷年編程題,了解題目類型和難度,找到自己的薄弱環(huán)節(jié)進(jìn)行針對(duì)性的學(xué)習(xí)。
學(xué)會(huì)調(diào)試和優(yōu)化:掌握使用調(diào)試工具排查問題的方法,學(xué)會(huì)分析代碼性能,優(yōu)化算法和內(nèi)存管理。
加強(qiáng)計(jì)算機(jī)基礎(chǔ)知識(shí):復(fù)習(xí)操作系統(tǒng)、計(jì)算機(jī)網(wǎng)絡(luò)、計(jì)算機(jī)組成原理等課程,強(qiáng)化對(duì)基本概念的理解。
模擬考試環(huán)境:在實(shí)際考試前,模擬考試環(huán)境,限時(shí)完成編程題,提高自己在壓力下的應(yīng)變能力。
保持良好的心態(tài):面對(duì)編程考試,保持積極的心態(tài),相信自己的實(shí)力,克服緊張情緒,發(fā)揮自己的最佳水平。
合理安排時(shí)間:在準(zhǔn)備過程中,合理安排學(xué)習(xí)時(shí)間,避免臨時(shí)抱佛腳,確保充足的復(fù)習(xí)時(shí)間。
交流與分享:和同學(xué)、朋友一起學(xué)習(xí)和討論問題,分享解題經(jīng)驗(yàn),共同進(jìn)步。

最后,祝你在機(jī)考中取得好成績!華為10年經(jīng)驗(yàn)多次OT留學(xué)生博士


華為機(jī)考筆試范圍是什么?的評(píng)論 (共 條)

分享到微博請(qǐng)遵守國家法律
扎囊县| 翁牛特旗| 丽江市| 井冈山市| 玉山县| 天津市| 方正县| 沂水县| 山西省| 宁津县| 曲水县| 长子县| 白玉县| 岑溪市| 辽宁省| 栾川县| 清涧县| 和龙市| 福州市| 麻栗坡县| 拜泉县| 普兰店市| 壤塘县| 华容县| 沐川县| 桂平市| 遂平县| 铁岭市| 湄潭县| 东乡县| 云和县| 玉溪市| 思南县| 自治县| 桃江县| 天门市| 吉木萨尔县| 林西县| 泰宁县| 陵水| 阿坝|