华为公司软件笔试试卷 精品

华为公司软件笔试试卷 精品
华为公司软件笔试试卷 精品

华为公司软件笔试试卷(C/C++)

一、填空题

1-1

1-2、头文件中#ifndef/#define/#endif

1-3、在如下的二叉数树中:

请写出前序遍历为:ABDCEGFHI(也称前序周游)

扩展知识:

前序遍历首先访问根结点然后遍历左子树,最后遍历右子树。在遍历左、右子树时,仍然先访问根结点,然后遍历左子树,最后遍历右子树。

若二叉树为空则结束返回,否则:

(1)访问根结点

(2)前序遍历左子树

(3)前序遍历右子树

注意的是:遍历左右子树时仍然采用前序遍历方法。

如上图所示二叉树

前序遍历,也叫先根遍历,遍历的顺序是:根,左子树,右子树

遍历结果:ABDECF

中序遍历,也叫中根遍历,顺序是:左子树,根,右子树

遍历结果:DBEAFC

后序遍历,也叫后根遍历,遍历顺序,左子树,右子树,根

遍历结果:DEBFCA

1-4、以下为32位操作系统下的C 程序,请计算sizeof的值

a)

char str[]=”hello”;

char *p = str;

int n = 10;

请计算:

sizeof { str } =6

sizeof { p } = 4

sizeof { n } = 4

b)

void Func { char str[100]}

{

sizeof { str } =4

}

c)

void *p = malloc { 100}

sizeof {p}=4

二、选择题

2-1、在一种语言中,运算符是从右向左结合的(例如:a+b+c=a+(b+c));下面表达式“7-(16/(3+10*2)-4”的结果是:(C)

A -1

B 1

C 3

D 7

E 9

2-2、某些操作系统把一条命令的执行结果输出给下一条命令,作为它的输入,并加以处理,这种机制称为A,使命令执行的结果不在屏幕上显示,而引入另外一个文件,这种机制称为B。使命令所需要的处理信息不从键盘接收,而取自另一个文件,这种机制称为C。操作系统不从键盘逐条接收命令,而调用一个正文文件,执行其中保存的一系列命令,这种方式属于D方式,编写这样的文件应符合E 的语法规则。E

A:1)链接2)管道(线)3)输入重新定向4)输出重新定向

B:1)清屏2) 屏蔽显示3)输入重新定向4)管道(线)

C:1)输入重新定向2)读保护3)管道(线)4)批处理

D:1)系统生成2)初始装入3)批处理4)管道(线)

E:1)会话语言2)交互语言3)机器语言4)命令语言

2-3、线程和进程最主要的区别在于:(D)

A:进程是UNIX下的概念,线程是Windows下的概念

B:进程的效率比线程低

C:在进程中可以创造线程,但线程中不能生成进程

D:进程由自己独立的运行空间,线程的运行空间是共享的。

知识扩展:

线程是比进程更小的处理模块。

进程和线程都是由操作系统所体会的程序运行的基本单元,系统利用该基本单元实现系统对应用的并发性。进程和线程的区别在于:

简而言之,一个程序至少有一个进程,一个进程至少有一个线程.

线程的划分尺度小于进程,使得多线程程序的并发性高。

另外,进程在执行过程中拥有独立的内存单元,而多个线程共享内存,从而极大地提高了程序的运行效率。

线程在执行过程中与进程还是有区别的。每个独立的线程有一个程序运行的入口、顺序执行序列和程序的出口。但是线程不能够独立执行,必须依存在应用程序中,由应用程序提供多个线程执行控制。

从逻辑角度来看,多线程的意义在于一个应用程序中,有多个执行部分可以同时执行。但操作系统并没有将多个线程看做多个独立的应用,来实现进程的调度和管理以及资源分配。这就是进程和线程的重要区别。

进程是具有一定独立功能的程序关于某个数据集合上的一次运行活动,进程是系统进行资源分配和调度的一个独立单位.

线程是进程的一个实体,是CPU调度和分派的基本单位,它是比进程更小的能独立运行的基本单位.线程自己基本上不拥有系统资源,只拥有一点在运行中必不可少的资源(如程序计数器,一组寄存器和栈),但是它可与同属一个进程的其他的线程共享进程所拥有的全部资源.

一个线程可以创建和撤销另一个线程;同一个进程中的多个线程之间可以并发执行.

2-4、对栈S进行下列操作:push(1),push(2),pop(),pop()。则此时栈顶元素是:(D)

A:1 B:2 C:0 D:不确定

扩展知识:

堆栈的操作规则是先进后出,即FIFO。

堆栈有两种基本操作,对应有两条基本指令:进栈指令PUSH和出栈指令POP。

进栈指令先使堆栈指针SP减2,然后把一个字操作数存入堆栈顶部。堆栈操作的对象只能是字操作数,进栈时,低字节存放于低地址,高字节存放在高地址,SP相应向低地址移动两个字节单元。

出栈指令把栈顶的一个字传送至指定的目的操作数,然后堆栈指针SP加2。目的操作数应为字操作数,字从栈顶弹出时,低地址字节送低字节,高地址字节送高字节。

2-5、若有函数max(a,b),并且函数指针变量p已指向函数,当调用该函数时正确的调用方法是(函数调用):(C)

A:(*p)max(a,b) B:*pmax(a,b) C:(*p)(a,b) D:*p(a,b)

2-6、程序的局部变量存在于 C 中,全局变量存在于 B 中,动态申请数据存在于C 中。

A 代码段

B 数据段C堆栈 D 堆空间 D 程序

扩展知识:代码应该都在程序段中即CS,而变量就要分情况了,如果是全局变量和静态变量就存在数据段即DS,如是局部变量或者临时变量(比如子函数的返回值,或者地址都需要编译器自动生成传递的变量)的话就在堆栈段即SS,这些变量会随着程序的结束而被销毁也就是结束生命期。

2-7、以下措施是为了保证数据库的安全才采用,请问哪一种有可能引起死锁。(C)

A 安全控制,包括用户鉴定和存取控制

B 完整性控制

C 并发控制

C 数据库恢复

扩展知识:oracle数据库的安全性、完整性、并发控制和恢复

了保证数据库数据的安全可靠性和正确有效,DBMS必须提供统一的数据保护功能。数据保护也为数据控制,主要包括数据库的安全性、完整性、并发控制和恢复。

一、安全控制:数据库的安全性是指保护数据库以防止不合法的使用所造成的数据泄露、更改或破坏。计算机系统都有这个问题,在数据库系统中大量数据集中存放,为许多用户共享,使安全问题更为突出。在一般的计算机系统中,安全措施是一级一级设置的。

在DB存储这一级可采用密码技术,当物理存储设备失窃后,它起到保密作用。在数据库系统这一级中提供两种控制:用户标识和鉴定,数据存取控制。

在ORACLE多用户数据库系统中,安全机制作下列工作:

●防止非授权的数据库存取;

防止非授权的对模式对象的存取;

●控制磁盘使用;

●控制系统资源使用;

●审计用户动作。

数据库安全可分为二类:系统安全性和数据安全性。

系统安全性是指在系统级控制数据库的存取和使用的机制,包含:

●有效的用户名/口令的组合;

●一个用户是否授权可连接数据库;

●用户对象可用的磁盘空间的数量;

●用户的资源限制;

●数据库审计是否是有效的;

●用户可执行哪些系统操作。

数据安全性是指在对象级控制数据库的存取和使用的机制,包含:

哪些用户可存取一指定的模式对象及在对象上允许作哪些操作类型。

在ORACLE服务器上提供了一种任意存取控制,是一种基于特权限制信息存取的方法。用户要存取一对象必须有相应的特权授给该用户。已授权的用户可任意地可将它授权给其它用户,由于这个原因,这种安全性类型叫做任意型。

ORACLE利用下列机制管理数据库安全性:

●数据库用户和模式;

●特权;

●角色;

●存储设置和空间份额;

●资源限制;

●审计。

(1)数据库的存取控制

ORACLE保护信息的方法采用任意存取控制来控制全部用户对命名对象的存取。用户对对象的存取受特权控制。一种特权是存取一命名对象的许可,为一种规定格式。

ORACLE使用多种不同的机制管理数据库安全性,其中有两种机制:模式和用户。模式为模式对象的集合,模式对象如表、视图、过程和包等。第一数据库有一组模式。

每一ORACLE数据库有一组合法的用户,可存取一数据库,可运行一数据库应用和使用该用户各连接到定义该用户的数据库。当建立一数据库用户时,对该用户建立一个相应的模式,模式名与用户名相同。一旦用户连接一数据库,该用户就可存取相应模式中的全部对象,一个用户仅与同名的模式相联系,所以用户和模式是类似的。

用户的存取权利受用户安全域的设置所控制,在建立一个数据库的新用户或更改一已有用户时,安全管理员对用户安全域有下列决策:

●是由数据库系统还是由操作系统维护用户授权信息。

●设置用户的缺省表空间和临时表空间。

●列出用户可存的表空间和在表空间中可使用空间份额。

●设置用户资源限制的环境文件,该限制规定了用户可用的系统资源的总量。

●规定用户具有的特权和角色,可存取相应的对象。

每一个用户有一个安全域,它是一组特性,可决定下列内容:用户可用的特权和角色;用户可用的表空间的份额;用户的系统资源限制。

1)用户鉴别:

为了防止非授权的数据库用户的使用,ORACLE提供二种确认方法

操作系统确认和相应的ORACLE数据库确认。

如果操作系统允许,ORACLE可使用操作系统所维护的信息来鉴定用户。由操作系统鉴定用户的优点是:

●用户可更方便地连接到ORACLE,不需要指定用户名和口令。

●对用户授权的控制集中在操作系统,ORACLE不需要存储和管理用户口令。然而用户名在数据库

中仍然要维护。

●在数据库中的用户名项和操作系统审计跟踪相对应。

ORACLE数据库方式的用户确认:ORACLE利用存储在数据库中的信息可鉴定试图接到数据库的一用户,这种鉴别方法仅当操作系统不能用于数据库用户鉴别时才使用。当用户使用一ORACLE数据库时执行用户鉴别。每个用户在建立时有一个口令,用户口令在建立对数据库连接时使用,以防止对数据库非授权的使用。用户的口令以密码的格式存储在数据库数据字典中,用户可随时修改其口令。

2)用户的表空间设置和定额

关于表空间的使用有几种设置选择:用户的缺省表空间;用户的临时表空间;数据库表空间的空间使用定额。

3)用户资源限制和环境文件

用户可用的各种系统资源总量的限制是用户安全域的部分。利用显式地设置资源限制;安全管理员可防止用户无控制地消耗宝贵的系统资源。资源限制是由环境文件管理。一个环境文件是命名的一组赋给用户的资源限制。另外ORACLE为安全管理员在数据库级提供使能或使不能实施环境文件资源限制的选择。

ORACLE可限制几种类型的系统资源的使用,每种资源可在会话级、调用级或两者上控制。在会话级:每一次用户连接到一数据库,建立一会话。每一个会话在执行SQL语句的计算机上耗费CPU时间和内存量进行限制。对ORACLE的几种资源限制可在会话级上设置。如果会话级资源限制被超过,当前语句被中止(回滚),并返回指明会话限制已达到的信息。此时,当前事务中所有之前执行的语句不受影响,此时仅可作MIT、ROLLBACK或删除对数据库的连接等操作,进行其它操作都将出错。

在调用级:在SQL语句执行时,处理该语句有好几步,为了防止过多地调用系统,ORACLE在调用级可设置几种资源限制。如果调用级的资源限制被超过,语句处理被停止,该语句被回滚,并返回一错误。然而当前事务的已执行所用语句不受影响,用户会话继续连接。

有下列资源限制:

●为了防止无控制地使用CPU时间,ORACLE可限制每次ORACLE调用的CPU时间和在一次会话

期间ORACLE调用所使用的CPU的时间,以0.01秒为单位。

●为了防止过多的I/O,ORACLE可限制每次调用和每次会话的逻辑数据块读的数目。

●ORACLE在会话级还提供其它几种资源限制。

每个用户的并行会话数的限制;

会话空闲时间的限制,如果一次会话的ORACLE调用之间时间达到该空闲时间,当前事务被回滚,会话被中止,会话资源返回给系统;

每次会话可消逝时间的限制,如果一次会话期间超过可消逝时间的限制,当前事务被回滚,会话被删除,该会话的资源被释放;

每次会话的专用SGA空间量的限制。

用户环境文件:用户环境文件是指定资源限制的命名集,可赋给ORACLE数据库的有效的用户。利用用户环境文件可容易地管理资源限制。要使用用户环境文件,首先应将数据库中的用户分类,决定在数据库中全部用户类型需要多少种用户环境文件。在建立环境文件之前,要决定每一种资源限制的值。例如一类用户通常不执行大量逻辑数据块读,那就可将LOGICAL-READS-PER-SESSION和LOGICAL-READS-PER-CALL设置相应的值。在许多情况中决定一用户的环境文件的合适资源限制的最好的方法是收集每种资源使用的历史信息。

(2)特权和角色

1)特权:特权是执行一种特殊类型的SQL语句或存取另一用户的对象的权力。有两类特权:系统特权和对象特权。

系统特权:是执行一处特殊动作或者在对象类型上执行一种特殊动作的权利。ORACLE有60多种不同系统特权,每一种系统允许用户执行一种特殊的数据库操作或一类数据库操作.

系统特权可授权给用户或角色,一般,系统特权全管理人员和应用开发人员,终端用户不需要这些相关功

能.授权给一用户的系统特权并具有该系统特权授权给其他用户或角色.反之,可从那些被授权的用户或角色回收系统特权.

对象特权:在指定的表、视图、序列、过程、函数或包上执行特殊动作的权利。对于不同类型的对象,有不同类型的对象特权。对于有些模式对象,如聚集、索引、触发器、数据库链没有相关的对象特权,它们由系统特权控制。

对于包含在某用户名的模式中的对象,该用户对这些对象自动地具有全部对象特权,即模式的持有者对模式中的对象具有全部对象特权。这些对象的持有者可将这些对象上的任何对象特权可授权给其他用户。如果被授者包含有GRANT OPTION 授权,那么该被授者也可将其权利再授权给其他用户。

2)角色:为相关特权的命名组,可授权给用户和角色。ORACEL利用角色更容易地进行特权管理。

有下列优点:

●减少特权管理,不要显式地将同一特权组授权给几个用户,只需将这特权组授给角色,然后将

角色授权给每一用户。

●动态特权管理,如果一组特权需要改变,只需修改角色的特权,所有授给该角色的全部用户的

安全域将自动地反映对角色所作的修改。

●特权的选择可用性,授权给用户的角色可选择地使其使能(可用)或使不能(不可用)。

●应用可知性,当一用户经一用户名执行应用时,该数据库应用可查询字典,将自动地选择使角

色使能或不能。

专门的应用安全性,角色使用可由口令保护,应用可提供正确的口令使用权角色使能,达到专用的应用安全性。因用户不知其口令,不能使角色使能。

一般,建立角色服务于两个目的:为数据库应用管理特权和为用户组管理特权。相应的角色称为应用角色和用户角色。

应用角色是授予的运行一数据库应用所需的全部特权。一个应用角色可授给其它角色或指定用户。一个应用可有几种不同角色,具有不同特权组的每一个角色在使用应用时可进行不同的数据存取。

用户角色是为具有公开特权需求的一组数据库用户而建立的。用户特权管理是受应用角色或特权授权给用户角色所控制,然后将用户角色授权给相应的用户。

数据库角色包含下列功能:

●一个角色可授予系统特权或对象特权。

●一个角色可授权给其它角色,但不能循环授权。

●任何角色可授权给任何数据库用户。

●授权给一用户的每一角色可以是使能的或者使不能的。一个用户的安全域仅包含当前对该用户使能

的全部角色的特权。

●一个间接授权角色(授权给另一角色的角色)对一用户可显式地使其能或使不能。

在一个数据库中,每一个角色名必须唯一。角色名与用户不同,角色不包含在任何模式中,所以建立一角色的用户被删除时不影响该角色。

ORACLE为了提供与以前版本的兼容性,预定义下列角色:CONNENT、RESOURCE、DBA、EXP-FULL-DATABASE和IMP-FULL-DATABASE。

(3)审计

审计是对选定的用户动作的监控和记录,通常用于:

●审查可疑的活动。例如:数据被非授权用户所删除,此时安全管理员可决定对该数据库的所有连

接进行审计,以及对数据库的所有表的成功地或不成功地删除进行审计。

●监视和收集关于指定数据库活动的数据。例如:DBA可收集哪些被修改、执行了多少次逻辑的I/O

等统计数据。

ORACLE支持三种审计类型:

●语句审计,对某种类型的SQL语句审计,不指定结构或对象。

●特权审计,对执行相应动作的系统特权的使用审计。

●对象审计,对一特殊模式对象上的指定语句的审计。

ORACLE所允许的审计选择限于下列方面:

●审计语句的成功执行、不成功执行,或者其两者。

●对每一用户会话审计语句执行一次或者对语句每次执行审计一次。

●对全部用户或指定用户的活动的审计。

当数据库的审计是使能的,在语句执行阶段产生审计记录。审计记录包含有审计的操作、用户执行的操作、操作的日期和时间等信息。审计记录可存在数据字典表(称为审计记录)或操作系统审计记录中。数据库审计记录是在SYS模式的AUD$表中。

二、数据完整性

它是指数据的正确性和相容性。数据的完整性是为了防止数据库存在不符合主义的数据,防止错误信息输入和输出,即数据要遵守由DBA或应用开发者所决定的一组预定义的规则。ORACLE应用于关系数据库的表的数据完整性有下列类型:

l 在插入或修改表的行时允许不允许包含有空值的列,称为空与非空规则。

l 唯一列值规则,允许插入或修改的表行在该列上的值唯一。

l 引用完整性规则,同关系模型定义

l 用户对定义的规则,为复杂性完整性检查。

ORACLE允许定义和实施上述每一种类型的数据完整性规则,这些规则可用完整性约束和数据库触发器定义。

完整性约束,是对表的列定义一规则的说明性方法。

数据库触发器,是使用非说明方法实施完整性规则,利用数据库触发器(存储的数据库过程)可定义和实施任何类型的完整性规则。

1.完整性约束

ORACLE利用完整性约束机制防止无效的数据进入数据库的基表,如果任何DML执行结果破坏完整性约束,该语句被回滚并返回一上个错误。ORACLE实现的完整性约束完全遵守ANSI X3。135-1989和ISO9075-1989标准。

利用完整性约束实施数据完整性规则有下列优点:

l 定义或更改表时,不需要程序设计,便很容易地编写程序并可消除程序性错误,其功能是由ORACLE 控制。所以说明性完整性约束优于应用代码和数据库触发器。

l 对表所定义的完整性约束是存储在数据字典中,所以由任何应用进入的数据都必须遵守与表相关联的完整性约束。

l 具有最大的开发能力。当由完整性约束所实施的事务规则改变时,管理员只需改变完整性约束的定义,所有应用自动地遵守所修改的约束。

l 由于完整性约束存储在数据字典中,数据库应用可利用这些信息,在SQL语句执行之前或由ORACLE检查之前,就可立即反馈信息。

l 由于完整性约束说明的语义是清楚地定义,对于每一指定说明规则可实现性能优化。

l 由于完整性约束可临时地使不能,以致在装入大量数据时可避免约束检索的开销。当数据库装入完成时,完整性约束可容易地使其能,任何破坏完整性约束的任何新行在例外表中列出。

ORACLE的DBA和应用开始者对列的值输入可使用的完整性约束有下列类型:

l NOT NULL约束:如果在表的一列的值不允许为空,则需在该列指定NOT NULL约束。

l UNIQUE码约束:在表指定的列或组列上不允许两行是具有重复值时,则需要该列或组列上指定UNIQUE码完整性约束。在UNIQUE码约束定义中的列或组列称为唯一码。所有唯一完整性约束是用索引方法实施。

l PRIMARY KEY约束:在数据库中每一个表可有一个PRIMARY KEY约束。包含在PRIMARY KEY 完整性约束的列或组列称为主码,每个表可有一个主码。ORACLE使用索引实施PRIMARY KEY约束。

l FOREIGN KEY约束(可称引用约束):在关系数据库中表可通过公共列相关联,该规则控制必须维护的列之间的关系。包含在引用完整性约束定义的列或组列称为外来码。由外来码所引用的表中的唯一码或方码,称为引用码。包含有外来码的表称为子表或从属表。由子表的外来码所引用的表称为双亲表或引用表。如果对表的每一行,其外来码的值必须与主码中一值相匹配,则需指定引用完整性约束。

l CHECK约束:表的每行对一指定的条件必须是TRUE或未知,则需在一列或列组上指定CHECK 完整性约束。如果在发出一个DML语句时,CHECK约束的条件计算得FALSE时,该语句被回滚。2.数据库触发器

ORACLE允许定义过程,当对相关的表作INSERT、UPDATE或DELETE语句时,这些过程被隐式地执行。这些过程称为数据库触发器。触发器类似于存储的过程,可包含SQL语句和PL/SQL语句,可调用其它的存储过程。过程与触发器差别在于调用方法:过程由用户或应用显式执行;而触发器是为一激发语句(INSERT、UPDATE、DELETE)发出进由ORACLE隐式地触发。一个数据库应用可隐式地触发存储在数据库中多个触发器。

在许多情况中触发器补充ORACLE的标准功能,提供高度专用的数据库管理系统。一般触发器用于:

l 自动地生成导出列值。

l 防止无效事务。

l 实施复杂的安全审核。

l 在分布式数据库中实施跨结点的引用完整性。

l 实施复杂的事务规则。

l 提供透明的事件记录。

l 提供高级的审计。

l 维护同步的表副本。

l 收集表存取的统计信息。

注意:在ORACLE环境中利用ORACLE工具SQL*FORMS也可定义、存储和执行触发器,它作为由SQL*FORMS所开发有应用的一部分,它与在表上定义的数据库触发器有差别。数据库触发器在表上定义,存储在相关的数据库中,在对该表发出IMSERT、UPDATE、DELETE语句时将引起数据库触发器的执行,不管是哪些用户或应用发出这些语句。而SQL*FORMS的触发器是SQL*FORMS应用的组成,仅当在指定SQL*FORMS应用中执行指定触发器点时才激发该触发器。

一个触发器由三部分组成:触发事件或语句、触发限制和触发器动作。触发事件或语句是指引起激发触发器的SQL语句,可为对一指定表的INSERT、UNPDATE或DELETE语句。触发限制是指定一个布尔表达式,当触发器激以时该布尔表达式是必须为真。触发器作为过程,是PL/SQL块,当触发语句发出、触发限制计算为真时该过程被执行。

3.并发控制:数据库是一个共享资源,可为多个应用程序所共享。这些程序可串行运行,但在许多情况下,由于应用程序涉及的数据量可能很大,常常会涉及输入/输出的交换。为了有效地利用数据库资源,可能多个程序或一个程序的多个进程并行地运行,这就是数据库的并行操作。在多用户数据库环境中,多个用户程序可并行地存取数据库,如果不对并发操作进行控制,会存取不正确的数据,或破坏数据库数据的一致性。

1)数据库不一致的类型

l 不一致性

在一事务期间,其它提交的或未提交事务的修改是显然的,以致由查询所返回的数据集不与任何点相一致。

l 不可重复读

在一个事务范围内,两个相同查询将返回不同数据,由于查询注意到其它提交事务的修改而引起。

l 读脏数据

如果事务T1将一值(A)修改,然后事务T2读该值,在这之后T1由于某种原因撤销对该值的修改,这样造成T2读取的值是脏的。

l 丢失更改

在一事务中一修改重写另一事务的修改,如上述飞机票售票例子。

l 破坏性的DDL操作

在一用户修改一表的数据时,另一用户同时更改或删除该表。

1) 封锁

在多用户数据库中一般采用某些数据封锁来解决并发操作中的数据一致性和完整性问题。封锁是防止存取同一资源的用户之间破坏性的干扰的机制,该干扰是指不正确地修改数据或不正确地更改数据结构。

在多用户数据库中使用两种封锁:排它(专用)封锁和共享封锁。排它封锁禁止相关资源的共享,如果一事务以排它方式封锁一资源,仅仅该事务可更改该资源,直至释放排它封锁。共享封锁允许相关资源可以共享,几个用户可同时读同一数据,几个事务可在同一资源上获取共享封锁。共享封锁比排它封锁具有更高的数据并行性。

在多用户系统中使用封锁后会出现死锁,引起一些事务不能继续工作。当两个或多个用户彼此等待所封锁数据时可发生死锁。

2) ORACLE多种一致性模型。

ORACLE利用事务和封锁机制提供数据并发存取和数据完整性。在一事务内由语句获取的全部封锁在事务期间被保持,防止其它并行事务的破坏性干扰。一个事务的SQL语句所作的修改在它提交之后所启动的事务中才是可见的。在一事务中由语句所获取的全部封锁在该事务提交或回滚时被释放。

ORACLE在两个不同级上提供读一致性:语句级读一致性和事务级一致性。ORCLE总是实施语句级读一致性,保证单个查询所返回的数据与该查询开始时刻相一致。所以一个查询从不会看到在查询执行过程中提交的其它事务所作的任何修改。为了实现语句级读一致性,在查询进入执行阶段时,在注视S 的时候为止所提交的数据是有效的,而在语句执行开始之后其它事务提交的任何修改,查询将是看不到的。

ORACLE允许选择实施事务级读一致性,它保证在同一事务内所有查询的数据

软件测试工程师笔试题及答案

测试工程师笔试题 一、计算机知识(30分) 1、在Linux系统中,一个文件的访问权限是755,其含义是什么 参考答案: 755表示该文件所有者对该文件具有读、写、执行权限,该文件所有者所在组用户及其他用户对该文件具有读和执行权限。 2、Linux中,如何从root用户切换到普通用户 参考答案:su su user1 切换到user1,但切换后的当前目录还是root访问的目录 su – user1 切换到user1,并且当前目录切换到user1的根目录下(/home/user1/) 3、简述一下C/S模式和B/S模式的区别 参考答案: c/s 是客户端/服务器架构 b/s 是浏览器/服务器架构 C/S模式有以下特点: S模式将应用与服务分离,系统具有稳定性和灵活性 S模式配备的是点对点的结构模式,适用于局域网,有可靠的安全性 3.由于客户端实现与服务器端的直接连接,没有中间环节,因此响应速度快 4.在C/S模式中,作为客户机的计算机都要安装客户机程序,一旦软件系统升级,每台客户机都要安装客户机程序,系统升级和维护较为复杂 B/S模式有以下特点: 1.系统开发、维护、升级方便 每当服务器应用程序升级时,只要在服务器上升级服务应用程序即可,用户计算机上的浏览器软件不需要修改,系统开发和升级维护方便 S模式具有很强的开放性 在B/S模式下,用户通过通用的浏览器进行访问,系统开放性好 S模式的结构易于扩展 由于Web的平台无关性,B/S模式的结构可以任意扩展,可以从包含一台服务器和几个用户的小型系统扩展成为拥有成千上万个用户的大型系统 4.用户使用方便 B/S模式的应用软件都是基于Web浏览器的,而Web浏览器的界面是类似的。对于无用户交换功能的页面。用户接触的界面都是一致的,用户使用方便 4、Windows操作系统中PATH环境变量的作用是什么 参考答案: PATH是Windows操作系统环境变量,PATH作用是用户在命令行窗口执行一个命令,则在PATH变量设置的目录下依次寻找该命令或对应的执行文件,若找到,则执行,若没有找到,则命令行窗口返回无效命令。 5、TCP和UDP有什么区别 参考答案: TCP-有连接,所以握手过程会消耗资源,过程为可靠连接,不会丢失数据,适合大数据量交换UDP-非可靠连接,会丢包,没有校验,速度快,无须握手过程

华为公司应聘硬件笔试题

华为公司应聘硬件笔试题 一填空 10小题 单相整流的方式,全波,半波 ,_桥式_ fir数字滤波器的名称正弦波电流的有效值 ram的数据线的条数 10进制和16进制的换算绝对可积和频谱存(好像是)在的关系 二单选 大概包括数电模电的一些知识,跟填空题考的内容差不多 记得的有放大器电路中Rb的作用构成线与逻辑的门电路 risc 的处理器三极管开关模式的开关分别工作在哪个模式下随着温度的降低三极管里面的电流怎么样子变化地址数据总线等等 三多选 这部分要难一些,

记得的题目很少,等我记起了之后再补充,只记得一个金属壳电阻容易发生的问题是什么,不懂做还有pll的组成负反馈的作用检波电路的组成竞争冒险的处理几种总线的问题 i2c pci rs323 rs485 吧,题目考什么记不得了~ 四分析题 1 一个时序逻辑电路,先由2选一数据选择器选择信号输入,然后进入d触发器,输出结果再反向进入d触发器,输出结果为y,然后根据二选一的几个输入和cp脉冲的波形画出y的波形。 2 一个集成运放,正端输入vin和电阻,并在正端接稳压管,负端两个等值电阻,一个接地一个反馈,电阻大小等值,求输出电压v0 填空题 1、电阻、电容、电感组成的是分立元件电路。 2、集总电路中电容只存储能量,电感只能量。 3、给补码求原码。

4、差模和共模。 5、x86中内存地址求物理地址。 6、信号分析中分析连续非周期信号用方法,频域的连续性和周期性。 7、信号分析中分析连续周期信号用方法,频域的.连续性和周期性。 8、串口传输方向有哪三种。 9、VHDL赋值语句有哪两种。 选择题 1、互感; 2、三极管工作状态; 3、误码率; 4、网络的几层结构的功能; 5、三极管工作电压; 6、共集、共基和共射; 7、微分方程求传送函数; 8、z的传递函数; 计算题

华为招聘笔试、面试 试题及经验

第一部分,不定向选择 第二部分,填空题 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、static全局变量与普通的全局变量有什么区别?static局部变量和普通局部变量有什么区别?static函数与普通函数有什么区别? 答案:全局变量(外部变量)的说明之前再冠以static 就构成了静态的全局变量。全局变量本身就是静态存储方式,静态全局变量当然也是静态存储方式。这两者在存储方式上并无不同。这两者的区别虽在于非静态全局变量的作用域是整个源程序,当一个源程序由多个源文件组成时,非静态的全局变量在各个源文件中都是有效的。而静态全局变量则限制了其作用域,即只在定义该变量的源文件内有效,在同一源程序的其它源文件中不能使用它。由于静态全局变量的作用域局限于一个源文件内,只能为该源文件内的函数公用,因此可以避免在其它源文件中引起错误。从以上分析可以看出,把局部变量改变为静态变量后是改变了它的存储方式即改变了它的生存期。把全局变量改变为静态变量后是改变了它的作用域,限制了它的使用范围。 static函数与普通函数作用域不同。仅在本文件。只在当前源文件中使用的函数应该说明为内部函数(static),内部函数应该在当前源文件中说明和定义。对于可在当前源文件以外使用的函数,应该在一个头文件中说明,要使用这些函数的源文件要包含这个头文件 static 全局变量与普通的全局变量有什么区别:static全局变量只初使

化一次,防止在其他文件单元中被引用; static局部变量和普通局部变量有什么区别:static局部变量只被初始化一次,下一次依据上一次结果值; static函数与普通函数有什么区别:static 函数在内存中只有一份,普通函数在每个被调用中维持一份拷贝 2、程序的局部变量存在于()中,全局变量存在于()中,动态申请数据存在于( )中。 答案:栈;静态区;堆 3、设有以下说明和定义: typedef union {long i; int k[5]; char c;} date; struct data { int cat; date cow; double dog;} too; date max; 则语句printf("%d",sizeof(too)+sizeof(max));的执行结果是:______ 答案:date是一个union, 变量公用空间. 里面最大的变量类型是int[5], 占用20个字节. 所以它的大小是20 data是一个struct, 每个变量分开占用空间. 依次为int4 + date20 + double8 = 32. 所以结果是 20 + 32 = 52. 当然...在某些16位编辑器下, int可能是2字节,那么结果是 int2 + date10 + double8 = 20 4、队列和栈有什么区别? 答案:队列先进先出,栈后进先出÷ 5、已知一个单向链表的头,请写出删除其某一个结点的算法,要求,先找到此结点,然后删除。答案:slnodetype *delete(slnodetype *head,int key){}中if(head->number==key) { head=pointer->next; free(pointer); break; } back = pointer; pointer=pointer->next; if(pointer->number==key)

华为面试笔试题

华为软件测试笔试题 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++)

最全的华为校园招聘笔试题

最全的华为校园招聘笔试题 华为笔试 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什么是预编译,何时需要预编译: 答案: 1、总是使用不经常改动的大型代码体。 2、程序由多个模块组成,所有模块都使用一组标准的包含文件和相同的编译选项。在这种情况下,可以将所有包含文件预编译为一个预编译头。 2 char * const p char const * p const char *p 上述三个有什么区别? 答案: char * const p; //常量指针,p的值不可以修改 char const * p;//指向常量的指针,指向的常量值不可以改const char *p;//和char const *p 3 char str1[] = "abc"; char str2[] = "abc"; const char str3[] = "abc"; const char str4[] = "abc"; const char *str5 = "abc"; const char *str6 = "abc"; char *str7 = "abc"; char *str8 = "abc"; cout < < ( str1 == str2 ) < < endl; cout < < ( str3 == str4 ) < < endl; cout < < ( str5 == str6 ) < < endl; out < < ( str7 == str8 ) < < endl; 结果是:0 0 1 1 str1,str2,str3,str4是数组变量,它们有各自的内存空间;而str5,str6,str7,str8是指针,它们指向相同的常量区域。 4以下代码中的两个sizeof用法有问题吗? [C易] void UpperCase( char str[] ) // 将str 中的小写字母转换成大写字母 { for( size_t i=0; i

《华为新员工转正考试笔试题(附答案)》

华为新员工转正笔试题!(超值) 绝对超值~!~!!~ 【第一部分公司篇】 1、华为公司的全称为() A、深圳市华为技术有限公司 B、华为技术有限公司 C、华为公司 D、我司 (答案:B,答A、C者酌情给分,答D者立即辞退,我司三令五申禁止使用该华为内部土语,屡禁不止,老员工不可教也,只好从新员工抓起,格杀勿论) 2、华为公司的企业性质是() A、民营 B、私营 C、国营 D、上市公司 (答案:A,本题主要让考生了解公司的性质) 3、华为公司的商标象征() A、红太阳 B、菊花 C、扇贝 (答案:B,答A者酌情给分,答C者立即辞退,天天就想着吃) 4、从下列选项中选择出公司的常务副总裁() A、任正非 B、孙亚芳 C、李一男 D、郑宝用 E、张燕燕 (答案:BD,答C者立即辞退,让他到李一男的公司去报到吧) 5、华为公司的年终奖一般是在每年的什么时候发() A、元旦后 B、春节前 C、7月下旬或8月上旬 D、劳动节前 E、国庆节前 (答案:C,切记,因为是年中奖,而不是年终奖) 6、华为公司的配给你的股票是() A、**发的 B、用自己的奖金去买 (答案:B) 7、老板常说的土八路,是指() A、老板自己的革命年代的光辉历史 B、本地化的用服兄弟 C、季度考核为D的兄弟

(答案:B) 【第二部分部门篇】 1、你所在的一级部门为() A、技术支援部 B、国际技术支援部 C、国际技术支援部国内分部 D、用服 (答案:B,答A、C者酌情给分,答D者作不合格处理,为了提高技术支援部形象,公司早就取消用服这个字眼,而且于2001年春节后悄悄地将技术支援部前加“国际”二字) 2、你所在的二级部门为() A、传输产品技术支援管理部 B、传输工程部 C、传输用服工程中心 D、光网络产品技术支援管理部 (答案:A,首先得把自己的部门搞清楚,答D者,有远见,有潜力,可以酌情给分,很可能在2001年未就改成这个名字,因为市场中研已经改了,就差技术支援部了) 3、传输的商标为() A、SBS B、SDH C、OptiX D、Metro (答案:C,答A者酌情给分,最起码还知道老商标) 4、技术支援部与国际技术支援部的关系() A、国际技术支援部是技术支援部下面的一个部门,负责海外 B、技术支援部是国际技术支援部下面的一个部门,负责国内 C、技术支援部是国际技术支援部的前身 D、国际技术支援部是技术支援部的前身 (答案:C) 【第三部分业务篇】 1、SBS是() A、传输产品的老商标 B、同步骨干系统 C、傻不傻的拼音缩写 D、帅不帅的拼音缩写

华为面试笔试题项目经理

华为非技术(不正经的)面试指南---项目经理篇(offer get) 春招报华为非技术岗,当时报的供应链,但据说西安这边供应链不招实习生,项目经理可能招,就换成了项目经理。 之后就一直没有收到消息,直到8 月24 号收到优招面试邀请。当时就觉得非常奇怪,一直以为自己没有投简历,后来去官网看的时候想起来应该是春招投的简历被捞起来了。 面试时间是8 月26 日上午10:00,在华为西研所。 非技术岗需要携带物品:身份证(必须带,面试需要刷身份证),简历3 份,成绩单(必须带,含:本科研究生成绩单、四六级成绩单)、证书(非必须) 小tip: 从学校打车过去大概30 块钱,30Min 基本就到了。注意把握时间,尽量早到一点PS:面试等候区水果点心供应不间断,还是很照顾面试者的 我报的项目经理(去了才知道这个岗位招人超级少,一定要去听宣讲会),面试分为4 部分: 群面技术面综合面英语面试 Part1:群面(非技术岗一起面) 每次14 个人左右一起面试,分为A、B 两组,每组7 人。面试者要将结果展示在白板上。 1. 先做自我介绍(第一次有效发言机会,这次发言的意义在于,让别人记住你。如果名字很有意义,欢迎讲出来)。自我介绍时需要面试者记录一起面试的小伙伴的个人信息,面试官会提问:比如,坐在你对面的男生的爱好是啥?哪个同学印象最深,为啥? 2. 各小组2Min 选好组长、记时、陈述人员,并想好组名、口号。 小tip:一定记得把自己小组人员分工及小组信息写在白板上。 3. 发题目,3min 看题目,15min 小组讨论并将结果展示在白板上。这段时间面试官会观察各小组的情况,但不干涉。 PS:题目是成功人士有很多属性,给了15 个,让排出优先顺序。 答题技巧:注意审题,在排序之前先定好排序的标准。这个没有标准答案,你自己自圆其说就好。 4. 小组3Min 汇报成果先完成的小组有优先汇报权。 汇报排序的依据和原因,支持小组成员补充。 5. 面试官对小组方案提出质疑,小组回答。 Member 的第二次有效发言机会,注意把握。面试官会尽量让每个人都有发言的机会,自己注意把握。 6. 另一小组重复4.5***作。 7. 小组长对小组成员贡献度排名,3min 时间。 8. 各小组陈述排名情况。 PS:这里还是要有依据,排名贡献度要有衡量的标准。

华为软件测试工程师笔试题目

华为软件测试工程师笔试题目 1、怎么来设计测试方案 根据测试需求(包括功能需求和非功能性需求),识别测试要点,识别测试环境要求,安排测试轮次,根据项目计划和开发计划做整体的测试安排。 被测试的特性:通过对需求规格说明书进行分析,列出本次测试需要进行测试的各部分特性(如要测试的功能需求、性能需求、安全性需求等等); 不被测试的特性:由于资源、进度等方面原因,本次测试不列入测试范围的特性; 测试组网图:进行本次系统测试所需要的软硬件设备、配置数据已及相互间的逻辑、物理连接。今后测试执行时需要依据这个组网图来进行环境的搭建。 2、如果给你一个B/S系统你怎么来进行测试 此题答案还可用于回答测试流程,测试流程题亦可参考15题。 阅读系统需求,充分理解需求,记录问题,并与项目需求人员充分沟通。 编写测试需求,包括系统功能和非功能测试要点、测试类型、测试进度质量要求等。 制定测试计划,包括熟悉测试业务、设计测试用例、执行测试用例、进行测试小结、编写测试报告,任务颗粒度一般应小于5人天 编写测试用例,根据测试方案设计用例,即便没有明确的性能和安全测试要求,也应识别进行此两项测试。 执行软件测试, 进行测试小结,如果测试持续时间较长,每个版本间隙总结本轮测试。 编写测试报告,总结测试过程,汇总度量数据。 3、怎么进行工作流的测试 把握需求,找准结点,理清流程,画出流转图,弄清节点间的数据流转,设计测试用例的时候必须覆盖所有可能的流程。 工作流: 如果问到有没有做过,根据对工作流的了解情况回答,如果比较了解,可以把参与的某个项目中说上一些有工作流的,如果不是很了解就说没有做过,但是学习过相关知识。

华为软件研发岗笔试题总结

操作系统(Operating System,简称OS)是管理计算机系统的全部硬件资源包括软件资源及数据资源;控制程序运行;改善人机界面;为其它应用软件提供支持等,使计算机系统所有资源最大限度地发挥作用,为用户提供方便的、有效的、友善的服务界面。 操作系统通常是最靠近硬件的一层系统软件,它把硬件裸机改造成为功能完善的一台虚拟机,使得计算机系统的使用和管理更加方便,计算机资源的利用效率更高,上层的应用程序可以获得比硬件提供的功能更多的支持。 操作系统是一个庞大的管理控制程序,大致包括5个方面的管理功能:进程与处理机管理、作业管理、存储管理、设备管理、文件管理。目前微机上常见的操作系统有DOS、OS/2、UNIX、XENIX、LINUX、Windows2000、Netware等。 华为软件笔试题 一、判断题(对的写T,错的写F并说明原因,每小题4分,共20分) 1、有数组定义int a[2][2]={{1},{2,3}};则a[0][1]的值为0。(正确) 2、int (*ptr) (),则ptr是一维数组的名字。(错误) 3、指针在任何情况下都可进行>, <, >=, <=, = =运算。(正确) 4、switch(c) 语句中c可以是int, long, char, float, unsigned int 类型。(错误) 5、#define print(x) printf("the no, "#x",is ") (正确) 二、填空题(共30分) 1、在windows下,写出运行结果,每空2分,共10分。 char str[ ]= "Hello"; char *p=str; int n=10; sizeof(str)=(6) sizeof(p)=( 4) sizeof(n)=(4 ) void func(char str[100]) { } sizeof(str)=(4 ) 2、void setmemory(char **p, int num) { *p=(char *) malloc(num);} void test(void) { char *str=NULL; getmemory(&str,100); strcpy(str,"hello"); printf(str); } 运行test函数有什么结果?(hello)10分 3、设int arr[]={6,7,8,9,10}; int *ptr=arr; (ptr++)+=123; printf("%d,%d",*ptr,*(++ptr)); (8,8 ) 10分

华为面试经历此文献给准备去华为面试的同胞们

2月29号接到华为的笔试通知(C语言),3月1日(星期六)到华为北研所面试。 作为一名刚毕业不到半年的专科毕业生,被邀请这样的面试,心里还是挺激动的,于是在网上找了很多华为的笔试题,看了看(信心不是太足的朋友,网上的面试题一定要看,很准的)。 在3月1日的笔试那天,我笔试题做的还算行。紧接着是招聘你的部门2轮的技术面试,他们的问的技术问题都很基础,而且主要针对笔试上做错的那些题目去问你,而且试卷的最后几个大题也是主要的询问点之一。询问第二大点是你简历上你做过的一些东西,他会挑选一到2个仔细问你。只要你技术过意得去,而且诚实(曾经有个哥们因为吹嘘后来被cut掉了),而且喜欢技术,技术面试官一般都会给你下一轮面试的机会的。由于我具备了以上条件顺利通过了前面的面试,进入下一轮综合面试(集体面试)。 面试的地点是上地大厦,面试的人是人山人海,非常气派。集体面试一边会把不同部门的一群人(10-16人),拉过去一起面试,面试官3名,做中间的那名是主要面试官,主要问题都是那人问。在面试过程中首先是给你一张纸让你叠三折成一个名牌,然后写上自己的名字,这个大家的速度要快,不要到时候不知道怎么折,跟着别人学的一般会被淘汰。 然后首先是每个是做一个自我介绍(2分钟),介绍内容主要是一些基本信息,教育经历,工作经历,职业规划,兴趣爱好,优缺点等,你一定要2分钟介绍完,不然你一般都是被淘汰的对象。然后紧接着是团队辩论,首先是面试的人分成两队,然后对一个问题进行讨论(15分钟),然后团队统一一个唯一的答案,然后去说明你们团队这样回答的理由,在团队讨论的时候大家一定要首先统一个选择答案的中心思想,然后在去选题。辩论的过程中不要表现的太强势,也不要为了某个问题和对方的人争论不休.说出自己的意见和想法就可以了,还有不要犹豫不决!发表言论时一定不要和华为的文化冲突.至于华为文化提倡什么就靠大家自己从任总的文章里体会了要清楚集体面试的意图.这轮面试主要考察以下几个方面: 一是动手能力和反应速度;二是团队合作意识;三是表达能力;四是个人的思想觉悟也可以说成是人生观和价值观。兄弟我由于第一次参加者这样的面试,啥也不知道,自我介绍2分钟没有搞定,而在辩论的时候过于积极,所以不幸被淘汰。据说集体面试的淘汰率非常高,一般会淘汰一半的人以上,只要兄弟你能通过这一关,那你就取得了80%的胜利。 最后一轮面试我没有经历过,为了帮助正在面试的朋友提供方便,在网上找了一个好贴

软件测试工程师面试题汇总(华为篇)

软件测试工程师面试题汇总(华为篇) 1、怎么来设计测试方案 根据测试需求(包括功能需求和非功能性需求),识别测试要点,识别测试环境要求,安排测试轮次,根据项目计划和开发计划做整体的测试安排。 被测试的特性:通过对需求规格说明书进行分析,列出本次测试需要进行测试的各部分特性(如要测试的功能需求、性能需求、安全性需求等等)。 不被测试的特性:由于资源、进度等方面原因,本次测试不列入测试范围的特性。 测试组网图:进行本次系统测试所需要的软硬件设备、配置数据及相互间的逻辑、物理连接。今后测试执行时需要依据这个组网图来进行环境的搭建。 2、如果给你一个B/S系统你怎么来进行测试 此题答案还可用于回答测试流程,测试流程题亦可参考15题。 阅读系统需求,充分理解需求,记录问题,并与项目需求人员充分沟通。 编写测试需求,包括系统功能和非功能测试要点、罗列测试类型、测试进度、质量要求等。 制定测试计划,包括熟悉测试业务、设计测试用例、执行测试用例、进行测试小结、编写测试报告,任务颗粒度一般应小于5人天 编写测试用例,根据测试方案设计用例,即便没有明确的性能和安全测试要求,也应识别进行此两项测试。 执行软件测试。 进行测试小结,如果测试持续时间较长,每个版本间隙总结本轮测试。 编写测试报告,总结测试过程,汇总度量数据。 3、怎么进行工作流的测试 把握需求,找准结点,理清流程,画出流转图,弄清节点间的数据流转,设计测试用例的时候必须覆盖所有可能的流程。 工作流: 如果问到有没有做过,根据对工作流的了解情况回答,如果比较了解,可以把参与的某个项目中说上一些有工作流的,如果不是很了解就说没有做过,但是学习过相关知识。 4、做性能测试的时候都需要关注哪些参数 并发访问量,服务器响应时间(最小、平均、最大) 并发性能测试的过程是一个负载测试和压力测试的过程,即逐渐增加负载,直到系统的瓶颈或者不能接收的性能点,通过综合分析交易执行指标和资源监控指标来确定系统并发性能的过程。 负载测试(Load Testing)是确定在各种工作负载下系统的性能,目标是测试当负载逐渐增加时,系统组成部分的相应输出项,例如通过量、响应时间、CPU负载、内存使用等来决定系统的性能。 负载测试是一个分析软件应用程序和支撑架构、模拟真实环境的使用,从而来确定能够接收的性能过程。压力测试(Stress Testing)是通过确定一个系统的瓶颈或者不能接收的性能点,来获得系统能提供的最大服务级别的测试。 疲劳测试是采用系统稳定运行情况下能够支持的最大并发用户数,持续执行一段时间业务,通过综合分析交易执行指标和资源监控指标来确定系统处理最大工作量强度性能的过程。疲劳强度测试可以采用工具自动化的方式进行测试,也可以手工编写程序测试,其中后者占的比例较大。 一般情况下以服务器能够正常稳定响应请求的最大并发用户数进行一定时间的疲劳测试,获取交易执行指标数据和系统资源监控数据。如出现错误导致测试不能成功执行,则及时调整测试指标,例如降低用户数、缩短测试周期等。还有一种情况的疲劳测试是对当前系统性能的评估,用系统正常业务情况下并发用户数为基础,进行一定时间的疲劳测试。 大数据量测试可以分为两种类型:针对某些系统存储、传输、统计、查询等业务进行大数据量的独立数据量测试;与压力性能测试、负载性能测试、疲劳性能测试相结合的综合数据量测试方案。大数据量测试的关键是测试数据的准备,可以依靠工具准备测试数据。 5、客户没给性能指数,怎么开展性能测试 如果客户没有提出明确的性能指标,可以按照惯例和经验设置,需要和项目经理协商,一般由项目经理确认,质量保证负责给出建议。 举例说一个Server端程序,要求峰值时CPU和MEM消耗在75%以下,而一个页面的访问响应时间一般认为

华为LTE初级面试题与答案汇总

1.LTE帧结构,上下行配比和特殊子帧配比 无线帧长为10ms,分为2个半帧(5ms)一个半帧有5个子帧(1ms)子帧又分为一般子帧和特殊子帧,一般子帧有2个时隙(0.5ms),特殊子帧有3个特殊时隙(上行导频时隙,保护间隔。下行导频时隙) 3GPP中共规范了7种上下行配比,目前为止只支持配置1(2:2)和配置2(1:3),默认值为配置1 。 3GPP中共规范了9种特殊子帧配比,前为止只支持配置5(3:9:2)和配置7(10:2:2),默认值为配置7.配置5的特点是保护间隔时间长,决定了小区半径大,配置7的特点是下行导频时隙上,并且即可在该时隙上传同步消息,又可传数据信息,即增加了下行数据业务传输的信道,提高了下行的吞吐量。 2.MIMO技术及功能 MIMO技术是多输入多输出天线技术,多输入是指基站天线的输入,多输出是指手机天线的输出。 MIMO有2种模式:空分复用,,2根天线收发不同的数据,提高吞吐量,理论上翻倍。发射分集,2根天线收发相同的数据,并通过最大比合并,提高传输的可靠性。 3.TD中RRC建立失败原因 1.UE 通过RACH 信道发送RRC Connection Request 消息》 2.RNC 通过FACH 信道发送RRC Connection Setup 消息(RNC向Node B发Radio Link Setup Request消息,请求Node B分配RRC连接所需的特定无线链路资源;Node B资源准备成功后,向SRNC应答Radio Link Setup Response消息)》 3.UE 在建立下行专用信道并同步后通过上行专用信道发送RRC Connection Setup CMP 消息。 上行 RACH 的问题 下行 FACH 功率配比问题 小区重选参数问题 下行专用初始发射功率偏低 上行初始功控问题 拥塞问题 设备异常问题等 4.一个RB等于多少子载波,频域上,时域上怎样 一个RB有12个子载波,一个子载波15KHZ,所以在频域上共180KHZ的带宽,时域上是一个时隙,0.5ms,共7个符号。 5.网元架构和接口 ENB,MME,HSS,EAC-GW(S-GW、PDN-GW) UE与ENB之间的接口UU口,ENB与ENB之间的接口是X2,ENB与MME之间的接口是S1-C, ENB 与MME之间的接口是S1-U,HSS与MME之间的接口是S6,S-GW与PDN-GW之间的接口是S5/S8,S-GW与MME之间的接口是S11. 5.e-NodeB的主要功能: 无线资源管理功能,即实现无线承载控制、无线许可控制和连接移动性控制,在上下行链路上完成UE上的动态资源分配(调度); 用户数据流的IP报头压缩和加密; UE附着状态时MME的选择; 实现S-GW用户面数据的路由选择; 执行由MME发起的寻呼信息和广播信息的调度和传输;

华为java笔试面试题

华为Java笔试题+数据库题 一、单项选择题 1.Java是从( B)语言改进重新设计。 A.Ada B.C++ C.Pasacal D.BASIC 2.下列语句哪一个正确(B ) A. Java程序经编译后会产生machine code B. Java程序经编译后会产生byte code C. Java程序经编译后会产生DLL D.以上都不正确 3.下列说法正确的有(C ) A. class中的constructor不可省略 B. constructor必须与class同名,但方法不能与class同名C. constructor在一个对象被new时执行 D.一个class只能定义一个constructor 4.提供Java存取数据库能力的包是( A) A.java.sql B.java.awt C.https://www.360docs.net/doc/c619025997.html,ng D.java.swing 5.下列运算符合法的是( A) A.&& B.<> C.if D.:= 6.执行如下程序代码 a=0;c=0; do{ --c; a=a-1; }while(a>0); 后,C的值是(C ) A.0 B.1 C.-1 D.死循环 7.下列哪一种叙述是正确的( D) A. abstract修饰符可修饰字段、方法和类 B.抽象方法的body部分必须用一对大括号{ }包住 C.声明抽象方法,大括号可有可无 D.声明抽象方法不可写出大括号 8.下列语句正确的是( C) A.形式参数可被视为local variable B.形式参数可被字段修饰符修饰 C.形式参数为方法被调用时,真正被传递的参数 D.形式参数不可以是对象 9.下列哪种说法是正确的(A ) A.实例方法可直接调用超类的实例方法 B.实例方法可直接调用超类的类方法 C.实例方法可直接调用其他类的实例方法 D.实例方法可直接调用本类的类方法 二、多项选择题 1.Java程序的种类有(BCD ) A.类(Class) B.Applet C.Application D.Servlet 2.下列说法正确的有( BCD) A.环境变量可在编译source code时指定

嵌入式软件工程师笔试题华为优选稿

嵌入式软件工程师笔试 题华为 集团公司文件内部编码:(TTT-UUTT-MMYB-URTTY-ITTLTY-

(一)1什么是预编译,何时需要预编译: 答案: 1、总是使用不经常改动的大型代码体。 2、程序由多个模块组成,所有模块都使用一组标准的包含文件和相同的编译选项。在这种情况下,可以将所有包含文件预编译为一个预编译头。 2char*constpcharconst*pconstchar*p上述三个有什么区别 答案: char*constp;//常量指针,p的值不可以修改 charconst*p;//指向常量的指针,指向的常量值不可以改 constchar*p;//和charconst*p 3 charstr1[]="abc"; charstr2[]="abc"; constcharstr3[]="abc"; constcharstr4[]="abc"; constchar*str5="abc"; constchar*str6="abc"; char*str7="abc"; char*str8="abc";

cout<<(str1==str2)<

华为常用面试题.doc

华为综合面试常见问题 大概几个问题: 1.先自我介绍一下吧?我balabala一通说。 2.你了解华为么?我说,我不是太了解华为,都是从媒体上了解的多一点。从我在华为的朋友哪里就更了解不到什么关于华为的事情了。他表示赞同,并说:“华为实在很辛苦,大家工作的很累了,所以在休息的时候就不太愿意过多的谈论华为了。” 3.华为工作很辛苦的,你能承受么?我说,做什么工作都是很辛苦的。而且人只有在压力下才能释放出更大的力量,才能进步飞速。 4.你对派驻海外工作有问题么?我说没有什么问题,排除我的英语水平。 5.你的英语水平怎么样?我所一般,只能应付而已。 6.我不是太理解,大家都在北京工作,而且学习的时候条件应该越来越好,为什么反而大家都说英语很不行呢,而且学的比我们那个时候还差,我认为应该比我们那个时候好啊,不理解。我接茬,英语只是一门工具而已,它要不断的使用才能越来越好。而我从毕业后,工作基本上是用不到英语的,所以自然就不是太好。但是,我为了不让自己的英语水平下降的太厉害,平时还是时不时的遛着它的。 7.但是,不管怎么说,英语现在越来越成为一种国际语言了,而且在以后也只能是越来越广泛的使用,应该把它学好的。我附和道,是的。 以上是1对2的面试,接下来需要有一些单独的问题,只能问个人了,还是我先出去等,然后我再进去。 8.你要求的薪水是多少?我说6000~7000。 9.有什么衡量标准么?我说我上个工作的薪水是5000,现在通货膨胀的厉害,工资也该膨胀一下了。 10.你对于派往国外工作没有什么意见吧?我说没有。 11.你觉得我要是让你通过,你什么打动了我,你知道我有决定权的?我说,自信、经验和诚实。 12.那你要是通不过,你觉得是什么原因?我说,我没有考虑过在您这里会通不过的,我只是觉得我要是通不过只可能在英语测试上。

相关文档
最新文档