一、技术问题部分(数据库部分)
1、表空间的管理方式有哪几种?
数据字典管理方式
本地文件管理方式
2、谈谈你对索引的理解?
索引是若干数据行的关键字的列表,查询数据时,通过索引中的关键字可以快速定位到要访问的记录所在的数据块,从而大大减少读取数据块的I/O次数,因此可以显著提高性能。
3、说说索引的组成?
索引列、rowid
4、分区表用过么?谈谈分区表的应用?
分区表在对表的DML的并行处理上有极大得优势,而且可以一部分设为只读,用在销售记录,医院处方等地方!!
5、你对分区表的理解?怎样截断分区表一个分区的记录?
一个分区表有一个或多个分区,每个分区通过使用范围分区、散列分区、或组合分区分区的行
分区表中的每一个分区为一个段,可各自位于不同的表空间中
对于同时能够使用几个进程进行查询或操作的大型表分区非常有用
alter table table_name truncate partition partition_name;
6、物理文件有哪几种?控制文件包含了什么信息?
1)数据文件2)控制文件3)日志文件
包含维护和验证有选举权据库完整性的必要信息、例如,控制文件用于识别数据文件和重做日志文件,一个有选举权据库至少需要一个控制文件
7、表空间用完了如何增加?
三种种扩展方式:
1 增加数据文件alter tablespace name add datafile …路径? size 4M;
2 扩展数据文件大小alter database datafile …路径? resize 4M;
3 把数据文件设为自动增长
alter database datafile …路径? autoextend on next 1M maxsize 20M;
8、SGA包含几部分?
Shared pool(共享池),DataBase Buffer Cache(数据缓冲区)
Redo Log Buffer(重做日志缓冲区), Large Pool,大池,JAVA池。
9、DECODE函数的用法?
DECODE的语法:DECODE(value,if1,then1,if2,then2,if3,then3,...,else),表示如果value等于if1时,DECODE函数的结果返回then1,...,如果不等于任何一个if值,则返回else。初看一下,DECODE 只能做等于测试,但刚才也看到了,我们通过一些函数或计算替代value,是可以使DECODE函数具备大于、小于或等于功能。还可以转化表结构!
10、DELETE和TRUNCATE的区别?
答:1、TRUNCATE在各种表上无论是大的还是小的都非常快。如果有
ROLLBACK命令DELETE将被撤销,而TRUNCATE则不会被撤销。
2、TRUNCATE是一个DDL语言,向其他所有的DDL语言一样,他将被隐式提交,不能对TRUNCATE使用ROLLBACK命令。
3、TRUNCATE将重新设置高水平线和所有的索引。在对整个表和索引进行完全浏览时,经过TRUNCATE操作后的表比DELETE操作后的表要快得多。
4、TRUNCATE不能触发任何DELETE触发器。
5、不能授予任何人清空他人的表的权限。
6、当表被清空后表和表的索引讲重新设置成初始大小,而delete则不能。
7、不能清空父表。
11、谈谈你对事务的理解?
ORACLE事务从COMMIT、ROLLBACK、连接到数据库或开始第一
条可执行的SQL语句时开始,到一条COMMIT、ROLLBACK语句或退出
数据库时结束。如果在一个事务中包含DDL语句,则在DDL语句的
前后都会隐含地执行COMMIT语句,从而开始或结束一个事务。
如果一个事务由于某些故障或者由于用户改变主意而必须在
提交前取消它,则数据库被恢复到这些语句和过程执行之前的状
态。
利用ROLLBACK语句可以在COMMIT命令前随时撤消或回退一个
事务。可以回退整个事务,也可以会退部分事务,但是不能回退
一个已经被提交的事务。回退部分事务的ROLLBACK命令为:
ROLLBACK to savepoint 存储点名
存储点是用户放入事务中的标记,用来表示一个可被回退的
位置。存储点通过在事务中放入一个SAVEPOINT命令而被插入。该
命令的语法是:
SAVEPOINT 存储点名
如果在ROLLBACK语句中没有给出存储点名,则整个事务被回
退。
12、给表A加一列abc口述?
数据库正在应用时应先使数据库处于静默状态再
alter table a add abc varchar2(10),
如果不是就直接用!!
13、客户端连接服务器需要修改什么文件?
tnsname.ora,listener.ora
14、索引重建的概念?说说索引重建的意义?
当我们创建索引时,oracle会为索引创建索引树,表和索引树通过rowid(伪列)来定位数据。当表里的数据发生更新时,oracle会自动维护索引树。但是在索引树中没有更新操作,只有删除和插入操作。
例如在某表id列上创建索引,某表id列上有值“101”,当我将“101”更新为“110”时,oracle同时会来更新索引树,但是oracle先将索引树中的“101”标示为删除
(实际并未删除,只是标示一下),然后再将“110”写到索引树中。
如果表更新比较频繁,那么在索引中删除标示会越来越多,这时索引的查询效率必然降低,所以我们应该定期重建索引。来消除索引中这些删除标记。
一般不会选择先删除索引,然后再重新创建索引,而是rebuild索引。在rebuild期间,用户还可以使用原来的索引,并且rebuild新的索引时也会利用原来的索引信息,这样重建索引会块一些。
15、你对游标的理解,游标的分类,使用方法?
游标是结果集数据中的指针,作用是为遍历结果集时,存储每条记录的结果,
1.声明游标,
2.打开游标,
3.提取游标,
4.关闭游标
游标for循环
显式游标,隐式游标,游标变量!
16、存储过程的用法?在存储过程中异常的处理,分类?举两个预定义异常的例子? 存储过程:是预编译数据库SQL的集合
存储过程是预编译过的,执行时勿须编译,执行速度更快,存储过程封装了一批SQL语句,便于维护数据的完整性与一致性。并且可以多次调用。
异常:自定义,预定义,非预定义
No_Data_Found Too_Many_Rows CASE_NOT_FOUND
17、谈谈你对分区索引的理解,说说分类和区别?
分区表和一般表一样可以建立索引,分区表可以创建局部索引和全局索引。当分区中出现许多事务并且要保证所有分区中的数据记录的唯
一性时采用全局索引。
1.3.1. 局部索引分区的建立:
SQL> create index dinya_idx_t on dinya_test(item_id)
2 local
3 (
4 partition idx_1 tablespace dinya_space01,
5 partition idx_2 tablespace dinya_space02,
6 partition idx_3 tablespace dinya_space03
7 );
Index created.
SQL>
看查询的执行计划,从下面的执行计划可以看出,系统已经使用了索引:SQL> select * from dinya_test partition(part_01) t where t.item_id=12; Execution Plan
----------------------------------------------------------
0 SELECT STATEMENT Optimizer=CHOOSE (Cost=2 Card=1 Bytes=187)
1 0 TABLE ACCESS (BY LOCAL INDEX ROWID) OF ?DINYA_TEST? (Cost=
2 Card=1 Bytes=187)
2 1 INDEX (RANGE SCAN) OF ?DINYA_IDX_T? (NON-UNIQUE) (Cost=1
Card=1)
Statistics
----------------------------------------------------------
0 recursive calls
0 db block gets
4 consistent gets
0 physical reads
0 redo size
334 bytes sent via SQL*Net to client
309 bytes received via SQL*Net from client
2 SQL*Net roundtrips to/from client
1 sorts (memory)
0 sorts (disk)
2 rows processed
SQL>
1.3.
2. 全局索引分区的建立
全局索引建立时global 子句允许指定索引的范围值,这个范围值为索引字段的范围值:
SQL> create index dinya_idx_t on dinya_test(item_id)
2 global partition by range(item_id)
3 (
4 partition idx_1 values less than (1000) tablespace dinya_space01,
5 partition idx_2 values less than (10000) tablespace dinya_space02,
6 partition idx_3 values less than (maxvalue) tablespace dinya_space03
7 );
Index created.
SQL>
本例中对表的item_id字段建立索引分区,当然也可以不指定索引分区名直接对整个表建立索引,如:
SQL> create index dinya_idx_t on dinya_test(item_id);
Index created.
SQL>
同样的,对全局索引根据执行计划可以看出索引已经可以使用:
SQL> select * from dinya_test t where t.item_id=12;
Execution Plan
----------------------------------------------------------
0 SELECT STATEMENT Optimizer=CHOOSE (Cost=2 Card=3 Bytes=561)
1 0 TABLE ACCESS (BY GLOBAL INDEX ROWID) OF ?DINYA_TEST? (Cost
=2 Card=3 Bytes=561)
2 1 INDEX (RANGE SCAN) OF ?DINYA_IDX_T? (NON-UNIQUE) (Cost=1
Card=3)
Statistics
----------------------------------------------------------
5 recursive calls
0 db block gets
10 consistent gets
0 physical reads
0 redo size
420 bytes sent via SQL*Net to client
309 bytes received via SQL*Net from client
2 SQL*Net roundtrips to/from client
3 sorts (memory)
0 sorts (disk)
5 rows processed
18、创建用户的语句?
Create user user_name identified by password
default tablespace tablespacename;
grant create session to username;
19、谈谈你对实例的理解?
Oracle是用实例来进行数据库管理的,实例在用户和orale数据库之间充当中间层的角色。每当在服务器上启动数据库时,就在内存中创建一个oracle实例,即oracle为数据库分配内存和创建并启动一个或多个oracle进程,然后由实例加载并打开数据库,最后由这个实例来访问和控制硬盘中的数据文件。
20、触发器中能用COMMIT,为什么?
在触发器中不能使用COMMIT;等事务控制语句。因为触发器是事务触发的如果有事务控制语句就会影响到触发它的事务。即连带触发它的语句之前的已经完成的没有提交的语句都要受到影响。这是会影响到数据的一致性的。
21、有几种表空间?
数据表空间(永久表空间)、临时表空间、撤销表空间
22、归档模式与非归档模式?为什么归档模式可以恢复到任意时刻?
归档是在重做日志文件被覆盖之前,将该重做日志文件通过复制操作系统文件的方式,保存到指定的位置。保存下来的重做日志文件的集合被称为归档重做日志文件,复制的过程被称为归档。
在归档日志(ARCHIVELOG)模式下,ORACLE对重做日志文件进行归档操作。非归档日志(NOARCHIVELOG)模式下,不会对重做日志文件进行归档操作。由于非归档模式不会在覆盖之前保存,这样就造成了数据库在一定时间之前的重做日志文件丢失,也就不能恢复到被覆盖之前。而归档模式在任意时间上都有重做日志文件,故可以恢复到任意时刻。
二、技术问题(JAVA部分)
1、Struts和Hibernate分别属于持久层,用例层,表示层的那一层?
Struts是表示层,Hibernate是持久层。
2、Struts里如何体现MVC模式?
Html或jsp文件是MVC模式中的视图层
ActionForm是MVC模式中的模式层
Action是MVC模式中的控制层
通过控制层可以对视图层和模式层进行业务逻辑的处理
3、用Struts做过那些项目?
4、谈谈对Struts的认识?
Struts跟Tomcat诸多Apache项目一样,是开源软件,这是它的一大优点。使开
发者能更深入的了解其内部实现机制。
除此之外,Struts的优点主要集中体现在两个方面:Taglib和页面导航。Taglib是Struts的标记库,灵活动用,能大大提高开发效率。另外,就目前国内的JSP开发者而言,除了使用JSP自带的常用标记外,很少开发自己的标记,或许Struts是一个很好的起点。
关于页面导航,我认为那将是今后的一个发展方向,事实上,这样做,使系统的脉络更加清晰。通过一个配置文件,即可把握整个系统各部分之间的联系,这对于后期的维护有着莫大的好处。尤其是当另一批开发者接手这个项目时,这种优势体现得更加明显。
但是我觉得它虽然还有不少缺点,但它是一种非常优秀的J2EE MVC实现方式,对项目的开发有很大的帮助。
5、String在JAVA里是固定长度的吗?为什么可以用”+”连接?
String 在JAVA中是有固定长度的
可以用”+”连接的原因是Java 语言提供对字符串串联符号("+")和其他对象到字符串的转换的特殊支持。字符串串联是通过StringBuilder(或StringBuffer)类及其append 方法实现的。再通过调用StingBuffer中的toString方法,将StringBuffer的对象转换String的对象。
6、String和StringBuffer的区别?
STRING的长度是不可变的,STRINGBUFFER的长度是可变的。如果你对字符串中的内容经常进行操作,特别是内容要修改时,那么使用StringBuffer,如果最后需要String,那么使用StringBuffer的toString()方法
7、使用过什么集合类型?你一般用什么类?
集合类型List,Set,Map
一般用Arraylist,Vector,HashMap,HashTable,HashSet,TreeSet
8、ArrayList里如何取得对象的长度?
通ArrayList中的size()可以取得对象长度。
9、事务的4个特性?
原子性、一致性、持久性、隔离性。
10、Oracle用了多久?char与varchar2的区别?
Char是固定长度字符串,varchar2是变长字符串。
比如在char(10)和varchar2(10)中插入test字符串那么
char(10)类型长度就是10,不足的用空格补齐,而
varchar2(10)类型长度就是4。
11、Oracle用什么获得字符集?
Userenv(…?)函数
SELECT userenv(…language?) FROM DUAL;
12、查询需要COMMIT吗?插入呢?
查询不需要,插入需要,因为做DML操作时需要commit命令确认事务更改。13、在Oracle中你用什么工具执行SQL语句?
PLSQL Developer,SQLPLUS等
三、非技术问题部分
1、自我介绍!
2、你对出差的看法?
3、你对加班的看法?
4、你认为你适合IT业吗?
5、你觉得你的优势在什么地方?
6、你有什么其他的爱好?
7、你能吃苦吗?
第一部分,不定向选择 第二部分,填空题 1. 什么是UML?分哪两类? 2. OS一般的两种进程调度策略 3. 进程间的四种通讯方式 4. 一棵二叉树的前序,中序,后序遍历结果 第三部分,问答题 1. 通常递归所采用的数据结构?递归和循环的区别? 2. 将一个单链表逆序。 3. A,B,C,D四个进程,A向一个缓冲区写数据,B,C,D从该缓冲区读数据,A 要等到B,C,D都已经读好才能写下一个。用p,v操作实现通讯。 4. C 程序写运行结果。 class A { public: void f1() { printf("A::f1\r\n"); } virtual void f2() { printf("A::f2\r\n"); } void callfunc() { printf("A::callfunc\r\n");
f1(); f2(); } }; class B :public A { public: void f1() { printf("B::f1\r\n"); } void f2() { printf("B::f2\r\n"); } void callfunc() { printf("B::callfunc\r\n"); f1(); f2(); } }; int main() { B *pB=new B; pB->callfunc(); A *pA=pB; pA->callfunc(); return 0; } 、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、 前面已经有人写了,hehe,我写一下稍微详细的版本:中断优先级排序 补码:写出0,-1,-5的二进制补码
华为软件测试工程师面试题 2010-05-27 10:25 Q1:请你分别划划OSI的七层网络结构图,和TCP/IP的五层结构图? 答:七层结构从上到下依次是: 7 应用层;6 表示层;5 会话层;4 传输层;3 网络层;2 数据链路层;1 物理层 五层结构是 5 应用层;4 运输层;3 网络层; 2 链路层;1 物理层。 Q2:请你详细的解释一下IP协议的定义,在哪个层上面,主要有什么作用?TCP与UDP 呢? 答:UDP,TCP在传输层,IP在网络层, TCP/IP是英文Transmission Control Protocol/Internet Protocol的缩写,意思是"传输控制协议/网际协议"。TCP/IP协议组之所以流行,部分原因是因为它可以用在各种各样的信道和底层协议(例如T1和X.25、以太网以及RS-232串行接口)之上。确切地说,TCP/IP协议是一组包括TCP协议和IP协议,UDP(User Datagram Protocol)协议、ICMP(Internet Control Message Protocol)协议和其他一些协议的协议组。TCP/IP协议并不完全符合OSI的七层参考模型。传统的开放式系统互连参考模型,是一种通信协议的7层抽象的参考模型,其中每一层执行某一特定任务。该模型的目的是使各种硬件在相同的层次上相互通信。这7层是:物理层、数据链路层、网路层、传输层、话路层、表示层和应用层。而TCP/IP通讯协议采用了4层的层级结构,每一层都呼叫它的下一层所提供的网络来完成自己的需求。这4层分别为:应用层:应用程序间沟通的层,如简单电子邮件传输(SMTP)、文件传输协议(FTP)、网络远程访问协议(Telnet)等。 传输层:在此层中,它提供了节点间的数据传送服务,如传输控制协议(TCP)、用户数据报协议(UDP)等,TCP和UDP给数据包加入传输数据并把它传输到 Q3:请问交换机和路由器分别的实现原理是什么?分别在哪个层次上面实现的? 一般意义上说交换机是工作在数据链路层。但随着科技的发展,现在有了三层交换机,三层交换机已经扩展到了网络层。也就是说:它等于“数据链路层+ 部分网络层”。交换机中传的是帧。通过存储转发来实现的。 路由器是工作在网络层。路由器中传的是IP数据报。主要是选址和路由。 Q4:请问C++的类和C里面的STRUCT有什么区别? 答:除关键字不同外(class,struct)的唯一区别是, 结构在默认情况下的成员是公共(public)的, 而类在默认情况下的成员是私有(private)的。 在C++中,结构是特殊的类。 class是从struct发展而来的。之所以将struct和class都保留,是因为: 1、提出class是为了强调一种概念。 2、保留struct是为了照顾到大多数人的习惯。 struct和class是有区别的。 struct保证成员按照声明顺序在内存中存储。class不保证等等 而它们都可以继承,实现多态等。但也有少许区别。比如:
1、测试中关注那些哪些指标? 答:LTE测试中主要关注PCI、RSRP(接收功率)、SINR(信号质量)、PUSCHPower(UE的发射功率)、传输模式(TM3为双流模式)、上下行速率、掉线率、连接成功率、切换成功率………… 2、测试中单站验证的指标 测试时近点要求RSRP≧-80dBm,SINR≧25db, 32字节:Ping时延<=30ms;1024字节:Ping时延<=40ms,下载70M(理论90M),上传30M。 测试时中点要求RSRP在-90至95dBm之间,SINR≧15db左右, 32字节:Ping时延<= 30ms;1024字节:Ping时延<=40ms,下载35M,上传20M。 3、LTE中框架结构 ●LTE的接入网E-UTRAN由eNodeB组成,提供用户面与控制面; ●LTE的核心网EPC(Evolved Packet Core)由MME,S-GW与P-GW组成; ●eNodeB间通过X2接口相互连接,支持数据与信令的直接传输; ●S1接口连接eNodeB与核心网EPC。其中,S1-MME就是eNodeB连接MME的控制面 接口,S1-U就是eNodeB连接S-GW 的用户面接口;
4、TAC与TAL解释一下名称 TAC就是跟踪区码,TAL就是TA list,跟踪区列表 5、UE的正常发射功率就是多少,最大就是多少? 正常小于等于15dbm,最大就是23dbm。 6、LTE的带宽有哪些,对应的RB数又就是多少? 1、4、3、5、10、15、20MHZ对应的RB数就是6、15、25、50、75、100、 7、影响下行速率的因素? 天线的收发模式,MIMO 天线数量与模式,beamforing波束赋形的天线阵增益(包括天线数量)。 空间信道的质量,包括信号强度,以及干扰的情况,空间信道的相关性,UE的移动速度,UE接收机的性能。 TDD还与上下行子帧配比,FDDTDD中信道配置情况有关系(例如cfi的多少,就是否有MBMS 支持) 与用户的数量也有关系。
面试题参考 1.js动态增加行 function addRow(tableId,trId){ var tableObj = document.getElementById(tableId); var trObj = document.getElementById(trId); //var trIndex = trObj.rowIndex+1; var rows = tableObj.rows.length; var cell = ""; var tr = tableObj.insertRow(rows); for(i=0;i
最全的华为校园招聘笔试题 华为笔试 1.局部变量能否和全局变量重名? 答:能,局部会屏蔽全局。要用全局变量,需要使用 “::“ 局部变量可以与全局变量同名,在函数内引用这个变量时,会用到同名的局部变量,而不会用到全局变量。对于有些编译器而言,在同一个函数内可以定义多个同名的局部变量,比如在两个循环体内都定义一个同名的局部变量,而那个局部变量的作用域就在那个循环体内。 2.如何引用一个已经定义过的全局变量? 答:extern 可以用引用头文件的方式,也可以用extern关键字,如果用引用头文件方式来引用某个在头文件中声明的全局变理,假定你将那个变写错了,那么在编译期间会报错,如果你用extern方式引用时,假定你犯了同样的错误,那么在编译期间不会报错,而在连接期间报错。 3.全局变量可不可以定义在可被多个.C文件包含的头文件中?为什么? 答:可以,在不同的C文件中以static形式来声明同名全局变量。 可以在不同的C文件中声明同名的全局变量,前提是其中只能有一个C文件中对此变量赋初值,此时连接不会出错。
4.语句for( ;1 ;)有什么问题?它是什么意思? 答:无限循环,和while (1)相同。 5.do……while和while……do有什么区别? 答:前一个循环一遍再判断,后一个判断以后再循环。 6.请写出下列代码的输出内容#i nclude main() { int a,b,c,d; a=10; b=a++; c=++a; d=10*a++; printf(“b,c,d:%d,%d,%d“,b,c,d); return 0; } 答:10,12,120 一.判断题(对的写T,错的写F并说明原因,每小题4分,共20分) 1.有数组定义int a[2][2]={{1},{2,3}};则a[0][1]的值为0。() 2.int (*ptr) (),则ptr是一维数组的名字。() 3.指针在任何情况下都可进行>, =, =MAX_SRM) return (NULL_SRM); else return SRM_no; } 3. 写出程序运行结果 int sum(int a) { auto int c=0; static int b=3; c+=1; b+=2; return(a+b+C); } void main() { int I; int a=2; for(I=0;Inext = NULL; p=h; for(i=0;inext = s; printf(“Please input the information
1,what’s your english name,please? ----女HR,名字叫ALICE类似的,太吵了,在食堂外面面的试,听不大清楚, 但是感觉是个很不错的HR,相当nice 2,please introduce yourself....about your campus life ------这个必然要准备的。。。我就直接给背出来了 3,where are you from? which city? what is it famous for? Have it developed during the last years? ------这是一类问题的,还是需要点准备;这个最faint,我居然只能想起我们家乡 的面条有名了。。估计是因为买了拌饭,还想吃学苑的面条导致我耿耿于怀 4,what is a typical day in your university? ------这个也得想一下。。。 5,what’s your hobby...? what do you like doing in your spare time? 基本就是这些问题了,其实还是很简单的,华为的英文面每一次都是基本相同的问题。。。电话10分钟左右,英语交谈的时间估计是8分钟左右,估计本来有更多问题的,不过我每个问题都debodebo说了一大堆,估计HR也无语了,现在觉得自己是不是有点说多了,我一 用英语交谈就很激动。。。sigh。。。 最后HR给了我建议,说我的英语很smooth,但是发音chinglish,,要多和外国人联系发音才能够standard...这样的话英语就perfect了。。。这是在安慰我呢。。。 我为各位整理出英文面试最常见的五大问题,并且提醒各位一些回答的技巧,希望大家能针对这些问题多演练,当成练习英文面试的重点。 问题一:Could you please describe yourself?(能否请你形容一下自己?) 这个问题,一来是想要了解你是什么样的人,二来是想看看你是否知道如何重点式地自我简 介。在回答时,要针对应征工作的性质来凸显自己的特色,可以多用形容词,并且引用过 去的工作经验,但是不必提及公司组织的名称,再者,你还可以谈谈未来的生涯规画;但如果你是个社会新鲜人,就可以谈谈在校时的丰功伟业。比方说,今天你打算去应征行销的 职务,你就可以说︰I am dedicative and motivated. I worked on several major inves tment & promotion projects with positive results and I have more rich experiences in the government. I am now working as a general director assistant and administ ration office director for communicating and coordinating in an logistics company. (我有创意、又积极。曾负责数项大型的行销项目,皆有成效。我现在希望在一家深具规模 的公司内,担任有挑战性的行销职务。) 问题二:Why do you think we should employ you?(你认为我们为何要雇用你?) 雇主问此问题,希望你试图证明自己是最佳人选,并且测试你是否熟悉应征职务的工作内容。 回答时,要迎合该公司对该职务的期望,不过切记别给人狂妄自大的印象。假设你今天要 应征机械工程的工作,你就可以说︰I think I am suitable for the position,not only be cause I have a masters degree, but also because I have worked in this field for m ore than 3 years. I believe that my experience can be put to use in further develo ping your business. (我很适合该职位,不只因为我有机械工程学的硕士学位,更因为我 在该产业已经有五年多的工作经验,我相信,我的经验可以派上用场,进一步推动贵公司的 事业。)
本题库是华为集团工程师面试 -内部真实评分标准, -内部真实面试案例,后面有工程师考试试卷和答 案。物超所值,学会本文面试通过率提高80% 华为集团面试经验总结: 华为集团是4轮 一面组长,会问到一些这样问题,为什么会离职,为什么来华为集团婚姻状况,与此同时有没有想问面试官的问题。 二面经理,偏向于部门业务服务。有业务上的试卷需要考试。 三面经理,这一轮会谈到一些业务目标和工作中可能出现的一些问题。大概聊一下工作的想 法,部门的价值和目标,对这个岗位的期望等等以及华为集团和行业的情况。聊天的内容与面试者个人有关,可多可少。(二三是交叉面试防止作弊), 四面职业通道委员会,这一轮的面试非常专业,为技术专家面,目的是定级。确定你面试者的水平大概在什么位置。直接影响后面的收入。各个击中要害。不要想着有简单跳过的部分。在介绍工作内容的过程中,要先介绍自己在组织团队所处的位置,发挥的作用,工作绩效等,条例要清楚。这一轮的面试专业性最强。最后是HR谈薪资的部分,因为行业都有规则,所以时间不会太长。 5面背景调查,主要是面试者在填写简历时提供的名字和联系方式,其中包含领导。HR最后offer。 步骤四、五、六每个一个星期,比如三面完后得到职业通道委员会的面试的通知约一周,四面完后,得到通过与否的消息是一个星期。如果某一步一个星期多没消息,那就是没戏了。
面试的重点分享: 面试的气氛需要注意的: 1面试不能一脸严肃,显得很紧张,要适当微笑。给面试官的印象好。 2面试官提问的问题,不能对抗反驳提问。即使面试官的问题比较苛刻。 细节决定成败,面试如同相亲,面试官会注意到每个细节,身上有没有烟味,头发是不是整齐,说话条例要清晰,一定要集中精神,面试等待的时候也不能看手机。自我介绍的时候要强调身体健康可以加班。可以在最后自己介绍的时候,表示出强烈的来工作,一展抱负的意思。让面试官感受你的积极一面。 面试最重要的3点 1要高度认同面试公司的工作文化和理念。 2要强调自己不断学习。不断成长,能承受压力。 3千万不能说因为自己考试,希望的工作是轻松的,清闲的。 最重要的2点要高度认同面试公司的工作文化和理念。面试前要上公司网站查看下这个公司的文化理念,如果在面试过程把这个点说出来,是要加分非常多的。 收尾阶段 面试官一般会问:“你还有什么问题想问我们?”这个时候千万别不问,有啥没啥的都一定要问两个问题,一个问题可以涉及技术层面,另一个可以涉及应聘职位的发展问题. 前公司的离职原因是必问的问题,不能说前公司太多的不好,可以说因为其他原因, 离职原因:优秀回答: A:原来公司亏损,减员,所以申请离职。 B:原来的公司,更换股东,战略有调整,人员调整。 C 原来的公司,因为搬家,搬家到很远的地方,过去不方便。 D 原来的公司,调整作息时间,周二放假,周日上班。 E 自己想要成长,希望可以更换岗位,挑战新的岗位,新的工作。 自我介绍: 是被面试者在纸面之外最能够呈现能力的一个地方。一般情况下,也是被面试者在整个面试过程中惟一一次主动展示自我的机会 第一,考察自我介绍内容和递交简历内容是否相冲突?如果简历是真实的,口述自我介绍就不会有明显出入。如果简历有假,自我介绍阶段一般就会漏马脚。如被面试者反问:“我的经历在简历里都写了”,面试官会认为这人得瑟,印象分一下子降为负数。 第二,考察被面试者基本的逻辑思维能力、语言表达能力,总结提炼概括能力。 第三,考察被面试者是否聚焦,是否简练和精干,现场的感知能力与把控能力。 第四,考察被面试者初步的自我认知能力和价值取向。因为被面试者要叙述职业切换关键节
软件开发应试人员考试试题(Java) 姓名:___________ 电话:___________ 以下信息有工作经验人员如实填写,应届毕业不填(时间从毕业参加工作算起) 从事Java开发时间____月熟悉JavaScrip时间____月 熟悉EXT开发时间____月熟悉PDM开发时间____月 熟悉的数据库及时间(如SQLServer 3个月,可多填)___________________ 一、JAVA基础 1、简述你所知道的JA V A修饰符及各自的使用机制?(public、abstract、final、synchronized、super…) public :允许所有客户访问 protected:只能在本包内被该类的子类所使用 private:只允许在本类内使用 abstract:没有提供实现,需要子类提供 static:与整个类相关,与单个对象无关 final:你只能定义一个实体一次,以后不能改变它或继承它。一个final修饰的类不能被子类化,一个final 修饰的方法不能被重写,一个final修饰的变量不能改变其初始值 synchronized:方法获得对对象监控的访问权;如果该方法是static类型的,获得是对类本身的访问权。super:构造器和方法,都用关键字super指向超类,但是用的方法不一样。方法用这个关键字去执行被重载的超类中的方法。 2. String、StringBuffer与StringBuilder之间区别?别简述各自的执行效率? 区别:String 类型和StringBuffer 类型的主要性能区别其实在于String 是不可变的对象, 因此在每次对String 类型进行改变的时候其实都等同于生成了一个新的String 对象,然后将指针指向新的String 对象,所以经常改变内容的字符串最好不要用String ,因为每次生成对象都会对系统性能产生影响,特别当内存中无引用对象多了以后,JVM 的GC 就会开始工作,那速度是一定会相当慢的, 执行速度:三者在执行速度方面的比较:StringBuilder > StringBuffer > String 使用场景:1.如果要操作少量的数据用= String 2.单线程操作字符串缓冲区下操作大量数据= StringBuilder 3.多线程操作字符串缓冲区下操作大量数据= StringBuffer 2、静态变量和实例变量的区别?能在静态方法中调用非静态变量吗? 静态变量属于类,该类不生产对象,通过类名就可以调用静态变量。实例变量属于该类的对象,必须产生该类对象,才能调用实例变量 静态方法及变量属于整个类,数据将会被存储在公共区域,非静态方法及变量属于对象 静态方法中无法调用实例变量,而实例方法却可以调用静态变量
华为软件测试笔试题 Posted on 2010年04月1日, 22:29, by admin, under Test. 华为软件测试笔试题 前面几道大题是基础形的判断、选择、阅读理解题,涉及到网络、通信、软件工程等等,都是大英文。不过不难,CET4的水平就差不多了,但是重要的还是计算机方面的一些基础知识。后面的几道大题如下: 1、有A、B两个水杯,都没有刻度,也不允许做刻度。A杯装满水是5升,B杯装满水是3升。不借助别的任何工具,只用这两个杯子如何精确的得到4升水? A满5 B空 A将B满 A2 清空B A2移于B A满5 A5满B A4 2、软件工程中,根据软件开发的 V 模型,有哪些基本的阶段划分? 3、软件测试方法有哪些分类?各有什么特点?设计测试用例的主要方法有哪些? 4、网络安全方面,简述Syn_FLOOD攻击的原理。你还知道哪些类型的网络攻击? 一、根据一张“策略—收获”图,张三可以选择横向的方案A和方案B,李四可以选择纵向的方案1、方案2、方案3。两人选择方案的交叉点就是两人各自的收获。比如张三选择方案B,李四选择方案1,交叉点是(50,80),则张三收获50元,李四收获80元。两人都想让自己的收获尽可能的高,选择方案时两人均不知对方的选择。问两人最终的收获各是多少?
二、桌上排列着一行乒乓球,一共100个。两个人轮流拿球装入口袋,拿到第100个球的人是胜利者。每次拿球最少拿1个,最多拿5个。如果你先开始拿球,你要拿几个?以后你要怎样拿球,才能保证你能拿到第100个? 三、冒泡排序。用C 或 Java 语言。(从小到大排序) C #include void main() { int a[10]; int temp; int i; int j; int x; a[0] = 3; a[1] = 4; a[2] = 54; a[3] = 654; a[4] = 77; a[5] = 8; a[6] = 9; a[7] = 366; a[8] = 90; a[9] = 32; for( i=0;i<9;i++) { for( j =0; j<9-i;j++)
华为技术类面试自我介绍华为技术面试题 科技人力资源已经成为当今世界竞争和经济发展的关键因素,下面是X为大家整理的华为技术类面试自我介绍,仅供参考。 华为技术类面试自我介绍篇一 我叫XXX,是安徽师范大学生命科学学院生物技术专业***届毕业生。大学四年,我始终严格要求自己,全方面锻炼和发展自我。不断的加强与人沟通交流的能力并取得了很大的提高,积极的参加实践活动,大大的提高了我的实践能力。学习上,我踏实努力,以优秀的成绩通过了所有课程,连续三年获得三好学生的称号并获得二等奖学金,专业成绩名列前茅。实验操作能力在大学期间得到很大的提高,能够顺利地独立完成实验课程。同时,我广泛学习了英语、计算机等各方面知识,先后通过了国家英语四、六级考试,国家计算机水平考试二级,三级,能熟练操作计算机常用软件。我有着很强的学习能力和适应新环境的能力,较强的团体协作能力和实践能力。 我的学校安徽师范大学是安徽省省属重点大学,具备师范类及非师范类专业。我所在专业生物技术专业是非师范类的,侧重于生产应用,所学习课程是面向生物制药公司,发酵类公司,以及研发部门的。除学习了较宽广的生物基础知
识外,我对生物技术的四大工程课程还有着较深入的学习。 华为技术类面试自我介绍篇二 您好,我叫,作为一名机械制造与自动华化专业毕业的大学生,我热爱我的专业并为其投入了巨大的热情和精力。在三年得学习生活中,我所学习的内容包括了从机械制造基础知识到应用等许多方面。通过对这些知识的学习,我对这一领域的相关知识有了一定程度的理解和掌握。本专业是一种工具,而利用此工具的能力是最重要的,在与课程同步进行的各种相关实践和实习中,我具备了一定的实际操作技能和技术。在学校工作中,我还加强锻炼处世能力。 我知道计算机和网络是将来应用越来越广泛的工具,在学好本专业的前提下,我对计算机产生了巨大的兴趣并阅读了大量的有关书籍,掌握软件autocad、solidworks、cx-programmer,会解决一般常见的电脑软硬件小问题。我正处于人生中精力充沛的时期,我渴望在更广阔的天地里展露自己的才能,我不满足于现有的知识水平,期望在实践中得到锻炼和提高,因此我希望能够加入你们单位。我会踏踏实实地做好属于自己的每一件事,竭尽全力地在工作中取得良好的成绩。我相信经过自己的努力和勤奋,一定会作出应有的贡献。 华为技术类面试自我介绍篇三 各位考官大家早上好。我叫***,来自**大学。本人是
一、技术问题部分(数据库部分) 1、表空间的管理方式有哪几种? 数据字典管理方式 本地文件管理方式 2、谈谈你对索引的理解? 索引是若干数据行的关键字的列表,查询数据时,通过索引中的关键字可以快速定位到要访问的记录所在的数据块,从而大大减少读取数据块的I/O次数,因此可以显著提高性能。 3、说说索引的组成? 索引列、rowid 4、分区表用过么?谈谈分区表的应用? 分区表在对表的DML的并行处理上有极大得优势,而且可以一部分设为只读,用在销售记录,医院处方等地方!! 5、你对分区表的理解?怎样截断分区表一个分区的记录? 一个分区表有一个或多个分区,每个分区通过使用范围分区、散列分区、或组合分区分区的行 分区表中的每一个分区为一个段,可各自位于不同的表空间中 对于同时能够使用几个进程进行查询或操作的大型表分区非常有用 alter table table_name truncate partition partition_name; 6、物理文件有哪几种?控制文件包含了什么信息? 1)数据文件2)控制文件3)日志文件 包含维护和验证有选举权据库完整性的必要信息、例如,控制文件用于识别数据文件和重做日志文件,一个有选举权据库至少需要一个控制文件 7、表空间用完了如何增加? 三种种扩展方式: 1 增加数据文件alter tablespace name add datafile …路径? size 4M; 2 扩展数据文件大小alter database datafile …路径? resize 4M; 3 把数据文件设为自动增长 alter database datafile …路径? autoextend on next 1M maxsize 20M; 8、SGA包含几部分? Shared pool(共享池),DataBase Buffer Cache(数据缓冲区) Redo Log Buffer(重做日志缓冲区), Large Pool,大池,JAVA池。 9、DECODE函数的用法? DECODE的语法:DECODE(value,if1,then1,if2,then2,if3,then3,...,else),表示如果value等于if1时,DECODE函数的结果返回then1,...,如果不等于任何一个if值,则返回else。初看一下,DECODE 只能做等于测试,但刚才也看到了,我们通过一些函数或计算替代value,是可以使DECODE函数具备大于、小于或等于功能。还可以转化表结构! 10、DELETE和TRUNCATE的区别? 答:1、TRUNCATE在各种表上无论是大的还是小的都非常快。如果有
华为IT软件测试笔试题 判断题(10*1分): 1、软件是一种逻辑实体,而不是具体的物理实体,因而它具有抽象性。(√) 2、白盒测试侧重于程序结构,黑盒测试侧重于功能,其中白盒测试需要程序员参与,黑盒测试不需要(×) 3、单元测试通常应该先进行“人工走查”,再以白盒法为主,辅以黑盒法进行动态测试。(√) 4、集成测试也叫做组装测试,通常在编码完成的基础上,将所有的程序模块进行有序的、递增的测试(×) 5、系统测试应尽可能在实际运行使用环境下进行(√) 6、详细设计的目的是为软件结构图中的每一个模块确定使用的算法和块内数据结构,并用某种选定的表达工具给出清晰的描述。(√) 7、测试人员在测试过程中发现一处问题,如果问题影响不大,而自己又可以修改,应立即将此问题正确修改,以加快、提高开发的进程。(×) 8、程序、需求规格说明、设计规格说明都是软件测试的对象(√) 9、第三方测试是在开发方与用户方的测试基础上进行的验证测试(×) 10、数据流图和数据字典共同构成系统的逻辑模型。(√) 选择题(20*2分): 1、软件测试的目的正确的是(D) ①测试是为了发现程序中的错误而执行程序的过程; ②好的测试方案是极可能发现迄今为止尚未发现的错误的测试方案; ③成功的测试是发现了至今为止尚未发现的错误的测试 ④测试并不仅仅是为了找出错误.通过分析错误产生的原因和错误的发生趋势,可以帮助项目管理者发现当前软件开发过程中的缺陷,以便及时改进; A、① B、①②③ C、②③④ D、①②③④ 2、软件测试的对象包括(B) A.目标程序和相关文档 B.源程序、目标程序、数据及相关文档 C.目标程序、操作系统和平台软件 D.源程序和目标程序 3、从是否关心软件内部结构和具体实现的角度划分。(B)
华为笔试试题软件工程试题及答案 1.static有什么用途?(请至少说明两种) 1)在函数体,一个被声明为静态的变量在这一函数被调用过程中维持其值不变。 2) 在模块内(但在函数体外),一个被声明为静态的变量可以被模块内所用函数访问,但不能被模块外其它函数访问。它是一个本地的全局变量。 3) 在模块内,一个被声明为静态的函数只可被这一模块内的其它函数调用。那就是,这个函数被限制在声明它的模块的本地范围内使用 2.引用与指针有什么区别? 1) 引用必须被初始化,指针不必。 2) 引用初始化以后不能被改变,指针可以改变所指的对象。 3) 不存在指向空值的引用,但是存在指向空值的指针。 3.描述实时系统的基本特性在特定时间内完成特定的任务,实时性与可靠性。 4.全局变量和局部变量在内存中是否有区别?如果有,是什么区别? 全局变量储存在静态数据库,局部变量在堆栈。 5.什么是平衡二叉树?
左右子树都是平衡二叉树且左右子树的深度差值的绝对值不大于1。 6.堆栈溢出一般是由什么原因导致的? 没有回收垃圾资源。 7.什么函数不能声明为虚函数? constructor函数不能声明为虚函数。 8.冒泡排序算法的时间复杂度是什么? 时间复杂度是O(n^2)。 9.写出float x 与“零值”比较的if语句。 if(x>0.000001&&x<-0.000001) 10.Internet采用哪种网络协议?该协议的主要层次结构? Tcp/Ip协议 主要层次结构为:应用层/传输层/网络层/数据链路层/物理层。 11.Internet物理地址和IP地址转换采用什么协议? ARP (Address Resolution Protocol)(地址解析協議)12.IP地址的编码分为哪俩部分? IP地址由两部分组成,网络号和主机号。不过是要和“子网掩
华为 1.static有什么用途?(请至少说明两种) 1)在函数体,一个被声明为静态的变量在这一函数被调用过程中维持其值不变。 2) 在模块内(但在函数体外),一个被声明为静态的变量可以被模块内所用函数访问,但不能被模块外其它函数访问。它是一个本地的全局变量。 3) 在模块内,一个被声明为静态的函数只可被这一模块内的其它函数调用。那就是,这个函数被限制在声明它的模块的本地范围内使用 2.引用与指针有什么区别? 1) 引用必须被初始化,指针不必。 2) 引用初始化以后不能被改变,指针可以改变所指的对象。 3) 不存在指向空值的引用,但是存在指向空值的指针。 3.描述实时系统的基本特性在特定时间内完成特定的任务,实时性与可靠性。 4.全局变量和局部变量在内存中是否有区别?如果有,是什么区别? 全局变量储存在静态数据库,局部变量在堆栈。 5.什么是平衡二叉树? 左右子树都是平衡二叉树且左右子树的深度差值的绝对值不大于1。 6.堆栈溢出一般是由什么原因导致的? 没有回收垃圾资源。 7.什么函数不能声明为虚函数? constructor函数不能声明为虚函数。 8.冒泡排序算法的时间复杂度是什么? 时间复杂度是O(n^2)。 9.写出float x 与“零值”比较的if语句。 if(x>0.000001&&x<-0.000001) 10.Internet采用哪种网络协议?该协议的主要层次结构? Tcp/Ip协议 主要层次结构为:应用层/传输层/网络层/数据链路层/物理层。 11.Internet物理地址和IP地址转换采用什么协议? ARP (Address Resolution Protocol)(地址解析協議) 12.IP地址的编码分为哪俩部分? IP地址由两部分组成,网络号和主机号。不过是要和“子网掩码”按位与上之后才能区分哪些是网络位哪些是主机位。
软件测试工程师面试题汇总(华为篇) 1、怎么来设计测试方案 根据测试需求(包括功能需求和非功能性需求),识别测试要点,识别测试环境要求,安排测试轮次,根据项目计划和开发计划做整体的测试安排。 被测试的特性:通过对需求规格说明书进行分析,列出本次测试需要进行测试的各部分特性(如要测试的功能需求、性能需求、安全性需求等等)。 不被测试的特性:由于资源、进度等方面原因,本次测试不列入测试范围的特性。 测试组网图:进行本次系统测试所需要的软硬件设备、配置数据及相互间的逻辑、物理连接。今后测试执行时需要依据这个组网图来进行环境的搭建。 2、如果给你一个B/S系统你怎么来进行测试 此题答案还可用于回答测试流程,测试流程题亦可参考15题。 阅读系统需求,充分理解需求,记录问题,并与项目需求人员充分沟通。 编写测试需求,包括系统功能和非功能测试要点、罗列测试类型、测试进度、质量要求等。 制定测试计划,包括熟悉测试业务、设计测试用例、执行测试用例、进行测试小结、编写测试报告,任务颗粒度一般应小于5人天 编写测试用例,根据测试方案设计用例,即便没有明确的性能和安全测试要求,也应识别进行此两项测试。 执行软件测试。 进行测试小结,如果测试持续时间较长,每个版本间隙总结本轮测试。 编写测试报告,总结测试过程,汇总度量数据。 3、怎么进行工作流的测试 把握需求,找准结点,理清流程,画出流转图,弄清节点间的数据流转,设计测试用例的时候必须覆盖所有可能的流程。 工作流: 如果问到有没有做过,根据对工作流的了解情况回答,如果比较了解,可以把参与的某个项目中说上一些有工作流的,如果不是很了解就说没有做过,但是学习过相关知识。 4、做性能测试的时候都需要关注哪些参数 并发访问量,服务器响应时间(最小、平均、最大) 并发性能测试的过程是一个负载测试和压力测试的过程,即逐渐增加负载,直到系统的瓶颈或者不能接收的性能点,通过综合分析交易执行指标和资源监控指标来确定系统并发性能的过程。 负载测试(Load Testing)是确定在各种工作负载下系统的性能,目标是测试当负载逐渐增加时,系统组成部分的相应输出项,例如通过量、响应时间、CPU负载、内存使用等来决定系统的性能。 负载测试是一个分析软件应用程序和支撑架构、模拟真实环境的使用,从而来确定能够接收的性能过程。压力测试(Stress Testing)是通过确定一个系统的瓶颈或者不能接收的性能点,来获得系统能提供的最大服务级别的测试。 疲劳测试是采用系统稳定运行情况下能够支持的最大并发用户数,持续执行一段时间业务,通过综合分析交易执行指标和资源监控指标来确定系统处理最大工作量强度性能的过程。疲劳强度测试可以采用工具自动化的方式进行测试,也可以手工编写程序测试,其中后者占的比例较大。 一般情况下以服务器能够正常稳定响应请求的最大并发用户数进行一定时间的疲劳测试,获取交易执行指标数据和系统资源监控数据。如出现错误导致测试不能成功执行,则及时调整测试指标,例如降低用户数、缩短测试周期等。还有一种情况的疲劳测试是对当前系统性能的评估,用系统正常业务情况下并发用户数为基础,进行一定时间的疲劳测试。 大数据量测试可以分为两种类型:针对某些系统存储、传输、统计、查询等业务进行大数据量的独立数据量测试;与压力性能测试、负载性能测试、疲劳性能测试相结合的综合数据量测试方案。大数据量测试的关键是测试数据的准备,可以依靠工具准备测试数据。 5、客户没给性能指数,怎么开展性能测试 如果客户没有提出明确的性能指标,可以按照惯例和经验设置,需要和项目经理协商,一般由项目经理确认,质量保证负责给出建议。 举例说一个Server端程序,要求峰值时CPU和MEM消耗在75%以下,而一个页面的访问响应时间一般认为
1.切换信令流程: P 相邻集激活集相邻集T _A D T _D R 候选集 1. 导频强度超过T_ADD 。MS 发送 PSMM Pilot Strength Measurement Message 向BS 报告并将该导频转入候选集中。 2. BS 发送切换指示消息(EHDM Extended Handoff Direction Message, GHDM General Handoff Direction Message 或 UHDM Universal Handoff Direction Message )将导频加入激活集。 3. MS 将导频移入激活集并发送切换完成消息(Handoff Completion Message )。 4. 导频降到T_DROP 门限以下,MS 启动切换去掉定时器。 5. 切换去掉定时器超时,MS 发送Pilot Strength Measurement Message 向BS 报告。 6. BS 发送切换指示消息(Extended Handoff Direction Message, General Handoff Direction Message 或 Universal Handoff Direction Message )。 7. MS 将导频移入相邻集并发送切换完成消息(Handoff Completion Message )。 2.掉话问题的的处理思路 对于掉话,我们的分析思路可以根据下面来一一排查 1、是否为新开站或周围有新开站(宏基站?微基站?直放站?); 2、 邻区配置检查,确认无错配、漏配;双载频基站需注意临界小区以及优选邻区的设置要正确; 3、 检查本小区或者相邻小区有无告警和历史通知(GPS 、CHM 、射频链路、传输尤其需要注意),基站发射功率是否正常(双载频是否一致); 4、 检查基站主控模块和受控模块版本是否正确?注意信道板混插的现象; 5、 确认当前小区是否处于BSC 边界处? 6、 相应小区以及周围相邻小区RSSI 是否过高? 7、 确认后台无线参数设置正确,包括搜索窗大小、小区半径、切换参数等需要重点检查; 8、 从释放观察中观察异常释放特点:某块信道板?某些CE ?某些用户(IMSI )?某些SVE ? 3.邻区规划原则: 同一个站点的不同扇区必须设为邻区; 周围相交的第一层小区设为邻区,扇区正对方向的第二层小区设为邻区;
华为技术面试题 1、局部变量能否和全局变量重名? 答:能,局部会屏蔽全局。要用全局变量,需要使用"::" ;局部变量可以与全局变量同名,在函数内引用这个变量时,会用到同名的局部变量,而不会用到全局变量。对于有些编译器而言,在同一个函数内可以定义多个同名的局部变量,比如在两个循环体内都定义一个同名的局部变量,而那个局部变量的作用域就在那个循环体内。 2、如何引用一个已经定义过的全局变量? 答:extern 可以用引用头文件的方式,也可以用extern关键字,如果用引用头文件方式来引用某个在头文件中声明的全局变理,假定你将那个编写错了,那么在编译期间会报错,如果你用extern方式引用时,假定你犯了同样的错误,那么在编译期间不会报错,而在连接期间报错。 3、全局变量可不可以定义在可被多个.C文件包含的头文件中?为什么? 答:可以,在不同的C文件中以static形式来声明同名全局变量。可以在不同的C文件中声明同名的全局变量,前提是其中只能有一个C文件中对此变量赋初值,此时连接不会出错. 4、请写出下列代码的输出内容 #include