面经面经华为面经系列01
菠萝华为面经
主要用于面试准备环节。有些忘记标明出处了。
华为通用软件面经
一面 1h
自我介绍
问编程竞赛经历 (要回忆获奖比赛中的题目)
问实习遇到的问题(挤出3个)
循环队列判满判空方法
两个指针,头和尾,head,tail 如果 (head+1)%len = tail 表示满了。
dfs和bfs流程和各自应用场景
dfs:深度优先搜索
bfs:广度优先搜索
应用场景:dfs一般用于搜索有所答案。bfs的话一般用于搜索最短的路径答案。当然2者都可以使用。
括号匹配手撕
20. 有效的括号
func isValid(s string) bool { n := len(s) if n <= 1 { return false } str := []byte{'(', ')', '{', '}', '[', ']'} stack := make([]byte, 0) for i := 0; i < n; i++ { if s[i] == str[0] || s[i] == str[2] || s[i] == str[4] { stack = append(stack, s[i]) } else { if len(stack) == 0 { return false } ch := stack[len(stack)-1] stack = stack[:len(stack)-1] for j := 0; j < 3; j++{ if s[i] == str[j*2+1] && ch != str[j*2] { return false } } } } if len(stack) > 0 { return false } return true }
|
华为暑假实习面经
一、技术面(30min)
问了一下项目的具体内容
不赘述
c++类中的虚函数
不是学c++的不回答
c++对于内存的分配(堆/栈)
同上一问
TCP/UDP的区别
这个可好好好回答一下,主要从TCP是可靠于UDP不是可靠的去回答。
TCP:面向连接的可靠交付,以字节流传输,效率低,耗费资源少,适用于对通信数据严格的场景,如文件传输。首部20-60字节。
UDP:无连接的尽最大努力交付,以数据报文段传输,速度快,耗费资源少,适用于对通信速度要求高的场景,如在线视频。首部8个字节。
手撕:识别包含(),{}的字符串是否能配对(和leetcode上面的题差不多
func isValid(s string) bool { n := len(s) if n <= 1 { return false } str := []byte{'(', ')', '{', '}', '[', ']'} stack := make([]byte, 0) for i := 0; i < n; i++ { if s[i] == str[0] || s[i] == str[2] || s[i] == str[4] { stack = append(stack, s[i]) } else { if len(stack) == 0 { return false } ch := stack[len(stack)-1] stack = stack[:len(stack)-1] for j := 0; j < 3; j++{ if s[i] == str[j*2+1] && ch != str[j*2] { return false } } } } if len(stack) > 0 { return false } return true }
|
二、主管面(30min)
感觉这面试怎么这么快啊?二面直接就主管面试了。下面的题可以自己准备一下如何回复。
项目内容/难点/怎么解决/是否能优化
为什么选择华为
在校的社团/班干经历
如何平衡学习和竞赛
遇到什么努力很久但是没有实现的事情
最近读过的技术书/书
华为压力比较大,家人对于来华为工作的想法
自己能给华为带来什么