华为软件开发工程师技术面经

技术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次握手

Tcpudp的区别

顺便把同学的技术面内容也添上:

编程题:链表带进位求和

问了一道动态规划的思路

智能指针

三面综合面:

问了对华为的认识,自己最失败的事情,优点,缺点

有什么很喜欢的爱好

运动习惯

长时间工作后你会怎么做?

是否有投其他公司

如果分配到其他岗位会如何

如果分配给你的职位不喜欢会怎么做?

总结:

课本的基础知识还是很重要的,操作系统重灾区,没项目经历的基本没问项目经历,用zoom远程面试的可以提前熟悉一下使用,可以熟悉一下IDE编译窗口的打开关闭,感觉笔试题的编程题侧重链表、字符串。

原文地址:https://www.cnblogs.com/hemeiwolong/p/12380329.html