华为技术岗位笔试&面试题汇总-第二篇
说在前面
本篇文章是华为技术岗位笔试&面试题,第二篇。
后续将持续推出互联网大厂,如阿里,腾讯,百度,美团,头条等技术面试题目,以及答案,专家出题人分析汇总。
欢迎大家点赞关注转发。
题目1: 冒泡排序算法的时间复杂度是什么?
参考答案:
时间复杂度是O(n^2)。
题目2:Internet采用哪种网络协议?该协议的主要层次结构?
参考答案:
Tcp/Ip协议
主要层次结构为: 应用层/传输层/网络层/数据链路层/物理层。
题目3:IP地址的编码分为哪俩部分?
参考答案:
IP地址由两部分组成,网络号和主机号。不过是要和“子网掩码”按位与上之后才能区分哪些是网络位哪些是主机位。
题目4:用户输入M,N值,从1至N开始顺序循环数数,每数到M输出该数值,直至全部输出。写出C程序。
参考答案:
循环链表,用取余操作做
题目5: 谈谈你对拷贝构造函数和赋值运算符的认识
参考答案:
拷贝构造函数和赋值运算符重载有以下两个不同之处:
(1) 拷贝构造函数生成新的类对象,而赋值运算符不能。
(2) 由于拷贝构造函数是直接构造一个新的类对象,所以在初始化这个对象之前不用检验源对象是否和新建对象相同。而赋值运算符则需要这个操作,另外赋值运算中如果原来的对象中有内存分配要先把内存释放掉
注意:当有类中有指针类型的成员变量时,一定要重写拷贝构造函数和赋值运算符,不要使用默认的。
题目6:某32位系统下, C++程序,请计算sizeof 的值.
参考答案:
char str[] = “http://www.ibegroup.com/”
char *p = str ;
int n = 10;
请计算
sizeof (str ) = ?(1)
sizeof ( p ) = ?(2)
sizeof ( n ) = ?(3)
void Foo ( char str[100]){
请计算
sizeof( str ) = ?(4)
}
void *p = malloc( 100 );
请计算
sizeof ( p ) = ?(5)
(1)17 (2)4 (3) 4 (4)4 (5)4