华为软件开发工程师技术面经
技术1面(1小时):
编程题(20-30分钟):如何判断单向链表是否有环,运行不出来可以写伪代码
你擅长的语言
指针所占空间大小
介绍常见的排序算法
进程是如何执行的
c语言的数据结构有哪些?
听说过union吗?
数组和链表的优缺点,如何改进链表
你擅长的算法
技术2面(1小时):
编程题(20-30分钟):语句逆序,如:输入:how are you 输出:you are how
写出双向循环链表删除节点的操作
进程和线程的区别
有几种ip协议
Osi网络模型和tcp/ip网络模型
c++内存的分配方式
Static关键字的作用
Sizeof()的作用
例如:
Int a[10];
Sizeof(a)是多少?
进程调度策略
描述3次握手、4次握手
Tcp和udp的区别
顺便把同学的技术面内容也添上:
编程题:链表带进位求和
问了一道动态规划的思路
智能指针
三面综合面:
问了对华为的认识,自己最失败的事情,优点,缺点
有什么很喜欢的爱好
运动习惯
长时间工作后你会怎么做?
是否有投其他公司
如果分配到其他岗位会如何
如果分配给你的职位不喜欢会怎么做?
总结:
课本的基础知识还是很重要的,操作系统重灾区,没项目经历的基本没问项目经历,用zoom远程面试的可以提前熟悉一下使用,可以熟悉一下IDE编译窗口的打开关闭,感觉笔试题的编程题侧重链表、字符串。