(3年+offer)華為技術崗面試初面+綜合面試經驗總結


10月10號面試
10月17日收到進入資源池通知
10月24日收到offer短信,通知27日簽約(估計是兩方協議)。

如果說騰訊的面試是揮金如土(畢竟每個面試官都配了一件單獨的房間),那華為就是戒奢寧儉。兩個大會議廳坐滿了面試官,其中一個是初面面試區,另一邊是綜合面試區。初面區的面試官會來等待區一個一個叫我們過去面試。
面試桌采取一對一的形式,技術崗的面試通知短信雖然沒有通知說要帶簡歷,但是仍然帶了一份以免中途需要。(事實證明這是一個明智的選擇)

在這里插入圖片描述

初面

初面面試官點到我的名字之后,我跟着面試官去他的那個位置。

面試流程和大多數互聯網公司流程差不多,首先讓自己介紹一個比較滿意的項目。(可能想通過這個項目了解我們的技能程度)在我面試准備時,其實我就糾結過這個問題。因為在我的項目中,有兩個項目是我比較滿意的,第一個主要做后台,第二個主要做虛擬環境和數據交互。

“我有兩個項目是比較滿意的”,我先拋出這句話,希望面試官能夠給機會讓我將兩個項目都講一下,“我先講一下第一個我們當時做的換課平台,當時本來是一個課程項目,但是我們在這個課程項目之上,結合當時校內急需換課這個需求,做出了這么一個換課平台”,(首先提出項目目的),“然后這個項目大概實現了一個怎樣怎樣的功能”(拋出產品功能),“我在項目中主要負責后台開發和數據庫交互功能”(說下在項目中的角色),“整個項目的架構大致如下。。。。”(項目如何實現),我拿着紙筆在草稿上給面試官畫着后台所有的系統架構和數據流動方式,同時將涉及到的重要點的技術點都說了下。

按照之前整理過的描述流程,我將整個換課平台項目描述了一遍,中途偶爾面試官會問一下技術細節,不過都不是很難,可能因為我沒有使用“SSH”三大框架,而是使用純JSP進行的底層開發,所以面試官也不是太好提問。

不過有意思的是,在我介紹到項目中實現了實時聊天的時候,面試官提了兩個小問題,是我之前項目中沒碰到,而實際生產產品中可能遇到的問題:第一,我們的實時聊天是直接P2P,這樣需要雙方在同一子網下,那如果現在雙方不在同一子網下,外網某個移動端客戶A可以訪問后台服務器B,這時候某個web端C同時也可以訪問服務器,這個時候A和C是互相不同的,現在如果我們仍然想讓他們通信怎么辦;第二,考慮大量用戶同時訪問后台服務器的時候,該如何處理。

第一個我首先考慮到用服務器作為中介,但是當時老是想着可能打兩個聊天信息會對服務器造成壓力,所以一直很猶豫要不要用后台服務器作為中轉,以及,作為中轉該如何操作。不過面試官稍微提醒我可以用服務器作為中轉,這時候我突然意識到只要服務器收到之后,立刻將消息轉發出去就可以了,不用走數據庫。這時候我也才一直到為什么我以前分析微信的聊天服務時,會將所有的文本消息和圖片消息發送到微信的后台服務器,而且簡單的直接P2P對話,主要還是為了克服網絡問題

第二個不難,考慮雲計算中的負載均衡,我大致說了下思路,選取一台主機作為負載均衡調度機,其他的作為工作機即可。

第一個項目大概講了十分鍾,不知道是因為剛開始面試還是我項目確實對面試官的胃口。

第一個項目完了以后,面試官翻了下我的簡歷,“你要不說下你另一個項目?”我有blabla說了一通。

“有什么難點?”“項目中遇到過哪些問題?”

說完之后,初面基本也就結束了,整個過程十分和諧(可能我遇到的面試官比較nice)。最后讓我提一個問題,我大概問了下投遞的這個崗位今后具體會是什么工作,面試官大致給我講了下。(我投遞的雲計算開發崗,PaaS方向)

綜合面試

初面完之后,面試官指引我去綜合面試區等待綜合面試。

綜合面試整體感覺和初面差不多,不過在綜合面試階段面試官首先問了我的籍貫,工作意向和理想的工作地點。

這里我表示並不挑,因為作為一個外省人,自從一個人出省讀書以后,就已經對在哪生活在哪上班沒有太多顧慮。

接着面試官問了我一些成績怎樣,家庭情況之類問題之后,開始問我的項目經驗。(雖然我不太明白,為什么綜合面試還會問初面中問過的關於項目經驗的問題)這里我就不在重復了,何處是一樣,我大致和面試官交流了一下我們的項目內容。

這一塊內容完成之后,感覺綜合面試整個流程已經基本結束了,面試官開始跟我介紹他們項目組的工作地點(深圳),工作內容,以及平常的一些工作,同時還給我介紹了一些將來工作中需要了解的基本知識——比如docker容器,k8s,部分國內國外的公有雲的運行原理,讓我回去之后提前自學一下。(到這里我開始感覺有戲了)

其實,綜面和初面差別其實沒有太大,不過感覺這還是和面試官有關系,因為在我同行的隊友中,他們有的就被問到了一些比較底層的知識點比如Java有什么特點之類,也有被問及面向對象的優點等等(這些我都沒被問到)。

數字處理

題目描述:給出一個不多於5位的整數,進行反序處理,要求

(1)求出它是幾位數

(2)分別輸出每一個數字(空格隔開)

(3)按逆序輸出各位數字(僅數字間以空格間隔,負號與數字之間不需要間隔)

輸入描述:位數不大於5的整數

輸出描述:1.整數位數 2.空格間隔輸出結果 3.逆序整數

#include <vector> #include <string> #include <iostream> using namespace std; int main() { int iInput; int iNum=0; char* strRst=""; int iOutput=0; cin >> iInput; int k = 0; int temp; int flag; int iTemp; if (iInput < -99999 || iInput > 99999) return -1; if (iInput < 0) { flag = -1; iInput = -iInput; } else flag = 1; temp = iInput; vector<int> resStr; while (temp) { ++iNum; iTemp = temp % 10; resStr.push_back(iTemp); iOutput = iOutput * 10 + iTemp; temp /= 10; } cout << iNum << endl; if (flag == -1) cout << "-"; for (int i = iNum - 1; i >= 0; --i) { if (i == iNum - 1) cout << resStr[i]; else { cout << " " << resStr[i]; } } cout << endl; iOutput = flag*iOutput; cout << iOutput << endl; system("pause"); return 0; } 

 

IP地址交集判斷

題目描述:輸入四個IP端,前兩個為第一個IP段的起始和終止地址,后兩個是第二個IP段的起始和終止地址,判斷這兩個IP段是否存在交集

輸入描述:輸入4個IP

輸出描述:如果存在交集,輸出 Overlap IP ; 如果不存在交集,輸出 No Overlap IP

#include<iostream> #include<stdio.h> #include<stdlib.h> #include<cassert> using namespace std; int *dec2bin(int decnum) { int i, a, *b = { 0 }; a = decnum; for (i = 7; i >= 0; i--) { b[i] = a % 2; a = a / 2; } return b; } int ipToInt(char *ipString) { assert(ipString != NULL); int i = 0, j, n, count = 0, return_num = 0; char *tmp; int *tmp_num=NULL, *num=NULL, *d2b; char *s = ipString, *s_tmp=NULL; if (*s == '.') count++; count++; if (count != 4) return 0; while (*s != '\0') { if (*s != '.') { n = s - s_tmp; tmp = (char*)malloc(n*sizeof(char)); memcpy(tmp, s, n); tmp_num[i] = atoi(tmp); d2b = dec2bin(tmp_num[i]); for (j = 0; j<8; j++) num[8 * i + j] = d2b[j]; s++; i++; s_tmp = s; } s++; } if (*s = '\0') { n = s - s_tmp; tmp = (char*)malloc(n*sizeof(char)); memcpy(tmp, s, n); tmp_num[i] = atoi(tmp); d2b = dec2bin(tmp_num[i]); for (j = 0; j<8; j++) num[8 * i + j] = d2b[j]; } for (j = 0; j<32; j++) return_num = return_num * 2 + num[j]; return return_num; } int main(void) { char *s1, *s2, *s3, *s4; s1 = new char; s2 = new char; s3 = new char; s4 = new char; cin >> s1 >> s2 >> s3 >> s4; int n1, n2, n3, n4, i; n1 = ipToInt(s1); n2 = ipToInt(s2); n3 = ipToInt(s3); n4 = ipToInt(s4); if (n4<n1 || n3>n2) cout << "No Overlap IP" << endl; else cout << "Overlap IP" << endl; system("pause"); return 0; }

數字排序

題目描述: 給定字符串內有很多正整數,要求對這些正整數進行排序,然后返回排序后指定位置的正整數,排序要求:按照每一個正整數的后三位數字組成的整數進行從小到大排序(1)如果不足三位,則按照實際位數組成的整數進行比較(2)如果相等,則按照輸入字符中的原始順序排序

說明:(1)字符串以‘\0’結尾,僅包含數字、空格(2)字符串內正整數之間以單個空格分隔,字符串首尾沒有空格(3)正整數格式為十進制,大小1~1000000,正整數的數字非零開始

輸入描述:第一行為一個整數字符串,里面包含若干個整數,以空格分割,第二行為一個整數,即指定的位置

輸出描述:輸出指定位置的整數

#include <iostream> #include <string> #include <vector> #include <algorithm> #include <string.h> using namespace std; int find_string(const char* input_string, int serial_number, int output_string_max_length, char* output_string) { int size = strlen(input_string); vector<int> vec; int tmp = 0; for (size_t i = 0; i <= size; ++i){ if (input_string[i] == ' ' || i == size){ if (tmp == 0){ return -1; } vec.push_back(tmp); tmp = 0; } else{ tmp = tmp * 10 + input_string[i] - '0'; } } int n = vec.size(); for (int i = 0; i < n - 1; ++i){ for (int j = 0; j < n - i - 1; ++j){ if (vec[j] % 1000 > vec[j + 1] % 1000){ swap(vec[j], vec[j + 1]); } } } if (serial_number > vec.size()){ return -1; } char num[11]; sprintf(num, "%d", vec[serial_number - 1]); int len = strlen(num); cout << num; return 0; } int main() { string s1; getline(cin, s1); int t; char *input_string = const_cast<char *>(s1.data()); int serial_number, output_string_max_length=0; char* output_string = NULL; cin >> serial_number; t=find_string(input_string, serial_number, output_string_max_length, output_string); system("pause"); return 0; }

總結

總的來說,其實華為的面試並沒有我想象中的困難。簡歷准備很重要, 尤其是項目經歷,個人blog,github這類容易加分的內容,最好能夠寫出來。兩場面試相比較同伴更加順利,有一定程度上就是簡歷給我加了分。

我在項目中重新添加了很多Java相關的項目經歷,雖然不是很重要,但是至少能讓面試官從中了解我在Java方面有不少經驗。

面試時候不用太緊張,在之前騰訊面試中我就明顯很緊張,腦子一片發蒙,而這次華為面試就感覺稍微舒服很多,不知道是因為已經經歷過幾次面試,還是因為面試官帶動的比較好。

最后還挺重要的要能夠及時清楚地描述自己想說的內容。畢竟將來工作崗位中,少不了和同事的交流。另外清晰的描訴對面試官了解你,了解你的項目會很有幫助。因此,不論是在給面試官講述自己項目的時候,還是在回答面試官問題,亦或是想表達自己觀點的時候,都需要清晰的表達。如果一時語塞,可以嘗試停頓一下,整理下思路然后重新描述,只要面試官能夠理解你的話,一般有些停頓是不會有什么大礙。

針對最近很多人都在面試,我這邊也整理了相當多的面試專題資料,也有其他大廠的面經。希望可以幫助到大家。

最新整理面試題

有需要的小伙伴可以:點擊這里!!暗號:BB

在這里插入圖片描述

真實面試經歷

在這里插入圖片描述

最新整理大廠面試文檔

在這里插入圖片描述
以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持。一鍵三連哦!


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM