华为校园招聘面试题汇总
static的特点及注意事项
参考博文:
http://blog.youkuaiyun.com/yangpeng201203/article/details/8445574
1:static的特点
①、用来修饰成员(变量 + 函数)
②、用来修饰的成员被所有类的对象共享
③、static修饰的成员是随着类的创建(消亡)而创建(消亡)的
④、多了一种调用方式类.static
2:static变量和成员变量的区别
1、生命周期不同:static变量是随着类的加载而加载的,成员变量是随着对象的创建而创建的。
2、调用方式:多了一种类.static
3、数据存储的位置不同:成员变量存储在堆内存中;静态变量存储在共享数据区中。
4、注意:静态方法只能访问静态成员;非静态方法则既可以访问静态也可以访问非静态成员
5、什么时候需将成员设置成静态
①、对于静态变量:
a、所有对象的成员变量值都是相同的
b、对象对成员变量的值只需要使用而不用修改,则可定义成静态的
②、静态函数
a、该函数是否要访问对象中特有的数据(非静态成员变量数据)。引用与指针有什么区别?
????描述实时系统的基本特性
实时系统: 在特定时间内完成特定的任务
基本特性:实时性与可靠性全局变量和局部变量在内存中是否有区别?如果有,是什么区别?
变量的四种分类:局部变量、静态局部变量、全局变量、静态全局变量
1、局部变量
①、内存存储区域:栈内存
②、作用域:定义它的函数内有效,但是函数返回后释放内存
③、默认初始值:未知
2、静态局部变量
①、内存存储区域:内存的静态存储区域
②、作用域:定义它的函数内有效,只是程序仅分配一次内存,函数返回后,该变量不会消失
③、默认初始值:0
3、全局变量
①、内存存储区域:内存的静态存储区域
②、作用域:整个工程文件内都有效
③、默认初始值:0
4、静态全局变量
①、内存存储区域:内存的静态存储区域
②、作用域:只在定义它的文件内有效
③、默认初始值:0什么是平衡二叉树?
1、二叉排序树:
①、左子树结点<根节点<右子树结点
②、中序遍历递增
③、二叉排序树的构造、添加、删除(左子树最右端、右子树最左端)
④、平衡二叉树是对二叉排序树的改进:当元素递增时的二叉排序树退化成有序链表的查找
2、平衡二叉树:
①、左右子树都是平衡二叉树 且左右子树的深度差值的绝对值不大于1。
②、平衡因子
③、平衡二叉树的构造(平衡调整)、删除(左子树最右端、右子树最左端)堆栈溢出一般是由什么原因导致的?
没有回收垃圾资源。构造函数为什么不能声明为虚函数?
①、每一个拥有虚函数的类都有一个指向虚函数表的指针
②、通过对象来访问虚函数表中的虚函数。
③、但是通过new关键字创建对象的过程为:申请内存内存空间 + 调用构造函数 + 初始化数据
④、对象都不能生存还怎么调用虚构造函数冒泡排序算法的时间复杂度是什么?
平均 + 最坏(因为要比较和交换)时间复杂度是O(n^2)。
最好(已经有序,只需要比较不需要交换):O(n)写出float x 与“零值”比较的if语句。
因为计算机在处理浮点数的时候是有误差,
const float EPSINON = 0.00001;
if ((x >= - EPSINON) && (x <= EPSINON)
不可将浮点变量用“==”或“!=”与数字比较,应该设法转化成“>=”或“<=”此类形式。Internet采用哪种网络协议?该协议的主要层次结构? Tcp/Ip协议 ,主要层次结构为: 应用层/传输层/网络层/数据链路层/物理层。
应用层:应用层直接为用户应用程序提供服务,它提供了一些用户可以直接使用的协议譬如说HTTP协议,FTP协议,邮件传输协议SMTP
运输层:运输层为两个主机中进程之间的通信提供服务,运输层主要使用的协议有:TCP协议和UDP协议
网络层:网络层为网络中数据报(分组)的传输提供服务。网络层涉及到的协议有IP协议,arp协议和rarp协议
数据链路层:数据链路层为主机和路由器之间或者两个路由器之间帧数据的传输提供服务。数据链路层主要的协议有CSMA/CD(载波监听、多点接入、碰撞检测)
物理层:数据最终会以比特为单位传输的,物理层为比特流数据的发送和接收提供服务。Internet物理地址和IP地址转换采用什么协议?
Mac——RARP——IP;IP——ARP——MacIP地址的编码分为哪俩部分?
ip地址是一个32位的标识符,ip地址表示法的三个历史阶段:分类的ip地址—子网的划分—构成超网
1、分类的ip地址( ABCDE类)
分类的IP地址构成:<网络号,主机号>
2、划分子网(两级的IP地址不好用了,要三级)
a、两级IP升级到三级IP地址结构:<网络号,子网号,主机号>
b、子网掩码(两级变三级之后,IP数据报定位到网络号之后,再如何定位到是哪一个子网号的主机呢,这里就引入了子网掩码的概念,即子网掩码是为了找出三级IP地址中的子网号) ,IP地址 AND(与运算)子网掩码 == 网络地址
3、无分类编址CIDR(构造超网:子网掩码出来后,三级的IP还是有问题,譬如说B类地址快没了,因此要有进一步的解决方法,这里就引出了无分类编址,也就是构造超网,了解即可)
构造超网的两个特点
a、消除了ABC类地址及划分子网的概念,采用的是无分类的两级编址:<网络前缀, 主机号>(网络前缀代表网络号),例如:128.14.35.7/20用户输入M,N值,从1至N开始顺序循环数数,每数到M输出该数值,直至全部输出。写出C程序。
循环链表,用取余操作做switch的参数类型:
switch(expr1)中,expr1是一个整数表达式,整数表达式可以是int基本类型或Integer包装类型,由于,byte,short,char都可以隐含转换为int,所以,这些类型以及这些类型的包装类型也是可以的。因此传递给 switch 和case 语句的参数应该是 int、 short、 char 或者 byte,还有enum。 double、float(实行不能判断相等、实行是个范围)、long(转换成int的话会损失精度),string 都不能作用于swtich。
在jdk 1.7中switch的参数类型可以是字符串类型以下属于物理层的设备是
具体说:
物理层:网卡,网线,集线器,中继器,调制解调器
数据链路层:网桥,交换机
网络层:路由器
网关工作在第四层传输层及其以上
补充:中继器的作用是:放大网线中的信息号。一般网线的数据稳定传输距离是90米,在八十米位置的时候放一个中继器达到稳定转发数据报的作用。
网关:用于传输层及其以上不同网络的互连在以太网中,是根据(Mac )地址来区分不同的设备的
以太网:就是局域网以下为传输层协议的是(UDP)
ICMP:ping + IP层以下对MAC地址描述正确的是(6字节、48位、前3个字节又IEEE分配、后3个字节厂家自行指派)