一、面试流程
1、宣讲会:华为面试常常以宣讲会开始,宣讲会通常会介绍华为公司的发展历程、重要的项目经验和公司的文化等。在宣讲会期间,考生可以向公司的代表提出问题,以进一步了解公司和面试的注意事项。
2、笔试:笔试是面试中非常重要的一环。以往的笔试都是基于文本的,但是近年来,华为在笔试中越来越注重对编程技能和英文能力的检验。
3、群面环节:群面环节也是华为的传统环节之一,在这个环节中,组织者通常会把一堆人分成若干个小组,每个小组需要完成一些问题或任务。考生在这个环节中需要展示出自己的团队合作能力和解决问题的能力。
4、技术面:技术面相当于是华为面试的核心环节,技术面的问题通常与应聘者申请的职位和自己掌握的技能相关。除了常规的算法题目,面试官还会通过一些具体的技术问题评估应聘者对该领域的熟悉程度,以及其技能的掌握情况。
5、HR面:面试的最后一环是HR面,这个环节通常是为了更全面地了解应聘者,包括其对工作的价值观和对华为的认识等。千万别以为这个环节非常简单,因为往往面试官会做些刻意的或者些微的反问,以观察应聘者的应变能力和沟通能力。
二、技术面试题目
1、字符串操作:给定一个字符串数组和字符串s,找出字符串数组中那些含有字符串s的子串。
public List
findSubstring(String s, String[] words) {
List
res = new ArrayList<>();
if(s == null || words.length == 0) return res;
int n = s.length(), wordLength = words[0].length();
if(n < wordLength * words.length) return res;
Map
map = new HashMap<>();
for(String word : words) map.put(word, map.getOrDefault(word, 0) + 1);
for(int i = 0; i <= n - words.length * wordLength; i++){
Map
copy = new HashMap<>(map);
for(int j = i; j < i + words.length * wordLength; j += wordLength){
String str = s.substring(j, j + wordLength);
if(!copy.containsKey(str) || copy.get(str) < 1) break;
if(--copy.get(str) == 0) copy.remove(str);
}
if(copy.isEmpty()) res.add(s.substring(i, i + words.length * wordLength));
}
return res;
}
2、回文字符串:给定一个字符串s,找到这个字符串的最长回文子串。
public String longestPalindrome(String s) {
if(s == null || s.length() < 1) return "";
int start = 0, end = 0;
for(int i = 0; i < s.length(); i++){
int len1 = expand(s, i, i);
int len2 = expand(s, i, i + 1);
int len = Math.max(len1, len2);
if(len > end - start){
start = i - (len - 1) / 2;
end = i + len / 2;
}
}
return s.substring(start, end + 1);
}
public int expand(String s, int left, int right){
int L = left, R = right;
while(L >= 0 && R < s.length() && s.charAt(L) == s.charAt(R)){
L--;
R++;
}
return R - L - 1;
}
三、面试经验分享
1、充分准备:华为的面试题目通常都涉及到一些算法和数据结构,所以应聘者做好足够的准备是非常重要的。建议应聘者多刷一些刷题网站上的算法题,提高解决问题和编程的能力。
2、注重个人能力的展示:在面试过程中,应聘者一定要注重个人能力的展示,尤其是那些证明自己有能力的项目经验。可以通过项目经验告诉面试官自己业务能力的提高、协作团队的成功经历,以及个人成长过程中的故事。
3、考虑不同的情况:华为的面试官善于针对面试者的不同情况,提出不同的问题,所以在面试之前,应聘者可以思考不同情况下会遇到什么样的问题,并做好相关的准备。
4、着重了解企业文化:作为中国最重要的高科技企业之一,华为一直注重企业文化的建设。因此,在面试之前,应聘者要了解华为的核心价值观和愿景,这可以给面试加分。