华为技术有限公司内部JAVA面试题及面试流程

TopEng BOSS3.0 渠道合作伙伴委托测试项目

1.java中什么是类,什么是接口?

答:Java程序的基本单位是类,类是对象的抽象,对象是类的实例,或者说对象是类定义的的数据类型的变量。你建立类之后,就可用它来建立许多你需要的对象。

Java中的接口是一系列方法的声明,是一些方法特征的集合,一个接口只有方法的特征没有方法的实现,因此这些方法可以在不同的地方被不同的类实现,而这些实现可以具有不同的行为(功能)。

接口的两种含义:一,Java接口,Java语言中存在的结构,有特定的语法和结构;二,一个类所具有的方法的特征集合,是一种逻辑上的抽象。前者叫做“Java接口”,后者叫做“接口”。

2.java中可不可以多重继承?

答:java 不支持多重继承,要想实现多重继承可以使用接口,接口能变相的实现多重继承。

3.java中的static是怎么回事?

答:static是静态,如果加载方法前就是一个静态方法。可以直接加类名+方法名引用。

4.java中垃圾回收是怎么回事?

答:java编程语言不为程序员提供操作符或库函数来释放对象的,因为java运行环境会自动收回那些没有引用与之相连的对象所占的内存。这种内存回收的过程就叫 垃圾回收。垃圾回收器自动定期执行。任何时候你都可以手动通过 system.gc() 调用垃圾回收器。

5.oracle中,什么是视图?

答:视图是存储在数据字典里的一条select语句,是基于一个表或多个表或视图的逻辑表,本身不包含数据,通过它可以对表里面的数据进行查询和修改。

6.你对那个数据库比较熟悉?只是会用啊还是熟悉?

答:根据个人情况回答。

7.Eclipse熟悉不熟悉?其中都有那些视图?

答:Eclipse 工作台由几个称为 视图(view) 的窗格组成,比如左上角的 Navigator 视图。窗格的集合称为 透视图(perspective)。默认的透视图是 Resource 透视图,它是一个基本的通用视图集,用于管理项目以及查看和编辑项目中的文件。

8.都是根据什么来写用例?

答:咱公司都是根据需求直接测试测试用例,华为是根据测试方案来写测试用例。

9.熟悉UNIX和LINUX吗?说一下熟悉的命令

答:列举几个常用的命令:vi ls vmstat tail kill find chmod cp cat wc

10.国税项目的流程是什么 ?

11.熟悉哪些Rational工具?

答:根据个人情况回答。

12.平时的项目所使用什么服务器,使用什么架构平台?对这些服务器以及架构平台是否了解或者熟悉

华为技术有限公司内部JAVA面试题及面试流程_第1张图片

CCBS海外BOSS版本委托项目

1.ORACLE:表存储命令,左连接、右连接

2.JAVA:类装载器?

3.UNIX:ls命令用途?常用的参数?各参数的含义?

答:ls:功能:显示目录中的内容

参数及含义:a:列出目录中所有文件

d:列出所有子目录

i:列出长格式

4.UNIX:什么是管道?

答:管道符号"|",可以把一个命令的标准输出连接到另一个命令的标准输入。例如,利用管道把ls和wc两个命令连接到一起,可以得到指定目录下的文件数量。

ls /usr | wc -w

重上述命令的执行效果看,可以把组合命令分解为以下两个命令

ls /usr > fname;wc -w < fname

5.测试工具的使用?

答:功能测试和性能测试采用的是Robot,缺陷管理工具用的ClearQuest,测试用例管理用的是TestMamager。

6.使用过多少测试用例?发现的缺陷有多少?

答:根据个人情况回答。

7.有没有与开发人员发生过冲突?怎么解决的?

答:根据个人情况回答。

8.自学能力怎么样?平时是怎样自学的?

答:根据个人情况回答。

9.JAVA:一个对象的生存周期 对象的创建,对象的使用,对象的清除

Java对象是通过构造函数来创建的,在这一过程中,该构造函数链中的所有构造函数也都会被自动调用。默认情况下,调用类的构造函数时,Java会把变量初始化成确定的值:所有的对象被设置成null,整数变量(byte、short、int、long)设置成0,float和double变量设置成0.0,逻辑值设置成false。所以用new关键字来新建一个对象的时间开销是很大的。

Java语言的一个优势,就是Java程序员勿需再像C/C++程序员那样,显式地释放对象,而由称为垃圾收集器(Garbage Collector)的自动内存管理系统,定时或在内存凸现出不足时,自动回收垃圾对象所占的内存。凡事有利总也有弊,这虽然为Java程序设计者提供了极大的方便,但同时它也带来了较大的性能开销。这种开销包括两方面,首先是对象管理开销,GC为了能够正确释放对象,它必须监控每一个对象的运行状态,包括对象的申请、引用、被引用、赋值等。其次,在GC开始回收“垃圾”对象时,系统会暂停应用程序的执行,而独自占用CPU。因此,如果要改善应用程序的性能,一方面应尽量减少创建新对象的次数;同时,还应尽量减少创建和清除的时间,而这些均可以通过对象池技术来实现。

10.C语言:指针数组和数组指针的定义

11.SQL:清空表的方式

答:1)Delete删除记录并不能释放Oracle里被占用的数据块表空间,它只能把被删除的数据块标记为unused.

2)如果确实要删除一个表的全部内容可以用truncate,它可以释放占用的数据块表空间。

12.CRACLE:oracle的连接方式

13.黑盒测试:等价类划分、边界值分析、错误推测、因果分析

14.测试环境如何搭建?根据测试需求,尽可能模拟实际的运行环境。

15.单元测试和系统测试的区别?

答:单元测试是以属于白盒测试,系统测试属于黑盒测试。单元测试一般由开发人员执行,编写代码测试程序逻辑分支;系统测试一般由开发人员执行,对软件系统进行全面的测试。

16.PCLint的操作方法以及主要检查的问题?

17.是否使用过Oracle数据库,和对数据库的操作?

18.使用过Linux环境?

19.谈谈你对已经做过的华为项目的认识(清欠系统)

20.项目中发现多少缺陷,有没有印象比较深刻的(想尽办法来设置测试环境才得以发现的BUG)

21.什么是AIX

AIX(Advanced Interactive eXecutive)是IBM开发的一套UNIX操作系统。它符合Open group的UNIX 98行业标准(The Open Group UNIX 98 Base Brand),通过全面集成对32-位和64-位应用的并行运行支持,为这些应用提供了全面的可扩展性。它可以在所有的IBM ~ p系列和IBM RS/6000工作站、服务器和大型并行超级计算机上运行。

22.AIX中修改密码的命令

答:passwd

23.AIX中在当前目录下查找文件怎样做

答:find

24.AIX中怎样查看进程,该命令的参数是否熟悉

答:ps

25.aix中怎样设置文件的权限

1.答:chmod

26.vi编辑器中有几种模式,怎样在vi中删除字符

2.答:vi有两种模式:输入模式和指令模式,使用[Esc]键可以在输入模式和指令模式之间切换。

x:删除字符命令,即删除光标所在字符。

dw:删除文字命令,即删除光标处的文字。

dd:删除行命令,即删除光标所在的行。

d:删除到行末端,即删除从光标所在位置到行末端的所有文本。

27.vi中怎样进行插入操作,有几种,并说明区别。

答:i:这是一个输入命令,即从光标所在位置前面开始插入文字,光标后的文字随新增文字向向移动。 如果是一个空白文档,文字将会输入在文档的左上角。

I:在行命令开始处的输入模式,即在当前行的开始处输入文字。与Word中的按下键后输入文字类似。

a:这是一个新增命令,即从光标所在位置后面开始新增文字,光标后的资料随新增文字向后移动。

A: 这是一个新增到行命令的操作,即从光标所在行最后面的地方开始新增文字。这与Word中的按下键后输入文字类似。

28.vi中怎样获取变量

29.是否有Java基础,Java中的一个类的生命周期

30.存储过程和PL/SQL函数的区别

31.Oracle中用pl/sql写的存储过程和java写的存储过程有啥区别

pl/sql写的存储过程 执行效率快,java写的还要编译然后在转换成oracle存储过程脚本。

华为技术有限公司内部JAVA面试题及面试流程_第2张图片

笔试题目:

1.unix中创建一个新文件的命令:touch.vi.

2.unix中全屏编辑命令是:vi,切换命令:[ESC]

3.unix中查看联机帮助命令:man.

4.查看进程的命令top/vmstat禁止进程的命令:tskill.

5.loadrunner按照那些类别来采集数据

6.性能测试需要关注那些方面(网络、硬件配置、服务器性能、客户端性能)

7.软件测试是一个利用_________及_______的过程

8.测试用例分为哪几部分:测试用例ID号、用例运行环境、输入条件、输入数据、预期结果、备注等.

9.测试执行的前提准备工作: 1)系统测试用例编写完毕,内部评审和外部评审通过。

2)测试环境搭建完毕。

3)开发工作完毕。

4)代码review通过。

10.根据什么来编写测试用例?测试方案。

13.java面向对象的特征:封装、继承、多态。

14.3>=a<100,用边界值方法测试要考虑到哪些数据(2、3、4、99、100、101)

15.黑盒测试有哪些方法(边界值分析、等价类划分、因果图等)

16 .heap和stack的区别?

stack: 先进后出,存放局部变量和函数调用参数!

heap: 没有先后顺序,程序运行时动态申请,如new 和malloc申请的内存就在堆上

17.输入n个数然后从小到大排列出来(c++)

18.编写一个调用内存的程序将内存打印出来(c++)

19.typedef这个关键字怎么用(c++)

20: EJB 是基于哪些技术实现的?并说出 SessionBean 和 EntityBean 的区别, StatefulBean 和 StatelessBean 的区别。

答: EJB 包括 Session Bean 、 Entity Bean 、 Message Driven Bean ,基于 JNDI 、 RMI 、 JAT 等技术实现。

SessionBean 在 J2EE 应用程序中被用来完成一些服务器端的业务操作,例如访问数据库、调用其他 EJB 组件。 EntityBean 被用来代表应用系统中用到的数据。

对于客户机, SessionBean 是一种非持久性对象,它实现某些在服务器上运行的业务逻辑。

对于客户机, EntityBean 是一种持久性对象,它代表一个存储在持久性存储器中的实体的对象视图,或是一个由现有企业应用程序实现的实体。

Session Bean 还可以再细分为 Stateful Session Bean 与 Stateless Session Bean ,这两种的 Session Bean 都可以将系统逻辑放在 method 之中执行,不同的是 Stateful Session Bean 可以记录呼叫者的状态,因此通常来说,一个使用者会有一个相对应的 Stateful Session Bean 的实体。 Stateless Session Bean 虽然也是逻辑组件,但是他却不负责记录使用者状态,也就是说当使用者呼叫 Stateless Session Bean 的时候, EJB Container 并不会找寻特定的 Stateless Session Bean 的实体来执行这个 method 。换言之,很可能数个使用者在执行某个 Stateless Session Bean 的 methods 时,会是同一个 Bean 的 Instance 在执行。从内存方面来看, Stateful Session Bean 与 Stateless Session Bean 比较, Stateful Session Bean 会消耗 J2EE Server 较多的内存,然而 Stateful Session Bean 的优势却在于他可以维持使用者的状态。

21.名词解释:

Web容器: 给处于其中的应用程序组件( JSP , SERVLET )提供一个环境,使 JSP,SERVLET 直接更容器中的环境变量接 ** 互,不必关注其它系统问题。主要有 WEB 服务器来实现。例如: TOMCAT,WEBLOGIC,WEBSPHERE 等。该容器提供的接口严格遵守 J2EE 规范中的 WEB APPLICATION 标准。我们把遵守以上标准的 WEB 服务器就叫做 J2EE 中的 WEB 容器。

EJB容器:Enterprise java bean 容器。更具有行业领域特色。他提供给运行在其中的组件 EJB 各种管理功能。只要满足 J2EE 规范的 EJB 放入该容器,马上就会被容器进行高效率的管理。并且可以通过现成的接口来获得系统级别的服务。例如邮件服务、事务管理

JMS :( Java Message Service ) JAVA 消息服务。主要实现各个应用程序之间的通讯。包括点对点和广播。

JTA:( Java Transaction API ) JAVA 事务服务。提供各种分布式事务服务。应用程序只需调用其提供的接口即可。

JAF:( Java Action FrameWork ) JAVA 安全认证框架。提供一些安全控制方面的框架。让开发者通过各种部署和自定义实现自己的个性安全控制策略。

RMI/IIOP: ( Remote Method Invocation /internet 对象请求中介协议)他们主要用于通过远程调用服务。例如,远程有一台计算机上运行一个程序,它提供股票分析服务,我们可以在本地计算机上实现对其直接调用。当然这是要通过一定的规范才能在异构的系统之间进行通信。 RMI 是 JAVA 特有的。

22.应用服务器与web services的区别

23.EJB容器中,sessionbean的作用

Java Bean 是可复用的组件,对 Java Bean 并没有严格的规范,理论上讲,任何一个 Java 类都可以是一个 Bean 。但通常情况下,由于 Java Bean 是被容器所创建(如 Tomcat )的,所以 Java Bean 应具有一个无参的构造器,另外,通常 Java Bean 还要实现 Serializable 接口用于实现 Bean 的持久性。 Java Bean 实际上相当于微软 COM 模型中的本地进程内 COM 组件,它是不能被跨进程访问的。 Enterprise Java Bean 相当于 DCOM ,即分布式组件。它是基于 Java 的远程方法调用( RMI )技术的,所以 EJB 可以被远程访问(跨进程、跨计算机)。但 EJB 必须被布署在诸如 Webspere 、 WebLogic 这样的容器中, EJB 客户从不直接访问真正的 EJB 组件,而是通过其容器访问。 EJB 容器是 EJB 组件的代理, EJB 组件由容器所创建和管理。客户通过容器来访问真正的 EJB 组件。

EJB 包括( SessionBean,EntityBean )说出他们的生命周期,及如何管理事务的?

SessionBean : Stateless Session Bean 的生命周期是由容器决定的,当客户机发出请求要建立一个 Bean 的实例时, EJB 容器不一定要创建一个新的 Bean 的实例供客户机调用,而是随便找一个现有的实例提供给客户机。当客户机第一次调用一个 Stateful Session Bean 时,容器必须立即在服务器中创建一个新的 Bean 实例,并关联到客户机上,以后此客户机调用 Stateful Session Bean 的方法时容器会把调用分派到与此客户机相关联的 Bean 实例。

EntityBean : Entity Beans 能存活相对较长的时间,并且状态是持续的。只要数据库中的数据存在, Entity beans 就一直存活。而不是按照应用程序或者服务进程来说的。即使 EJB 容器崩溃了, Entity beans 也是存活的。 Entity Beans 生命周期能够被容器或者 Beans 自己管理。

EJB 通过以下技术管理实务:对象管理组织( OMG )的对象实务服务( OTS ), Sun Microsystems 的 Transaction Service ( JTS )、 Java Transaction API ( JTA ),开发组( X/Open )的 XA 接口。

24.java修饰符:public protected friendly private 。

华为技术有限公司内部JAVA面试题及面试流程_第3张图片

面试题目:

1.做烟草项目时,公司用了哪些中间件?

2.对unix系统熟悉么?

3.中间件项目的流程,如何测试的?

4.度量库项目具体是做什么的?

5.华为的项目具体是怎么做的?

6.有没有用自动化工具录制过脚本,具体做过哪些工作?

7.做过性能测试么?

8.删除数据库中某表的数据有哪两种方法?

9.对数据库中的索引熟悉么,索引作用是什么,索引是建一个好,还是越多越好?

10.华为第三方测试项目,这个是如何测试的?

11.国税项目中的分包任务单是怎么回事?

12.有没有实际开发过java?

13.什么是执行测试和测试执行,测试执行的前提和准备是什么?

14.J2ee三层架构

1、说几个简单的AIX的命令

如:复制命令CP,重命名MV,查看文件ls 编辑命令 vi 等等

2、对ORACLE的掌握程度如何。简单的数据库操作如何?

3、说一下基本测试流程

需求阶段一般进行测试计划的编写

设计阶段一般进行测试策略、测试方案的编写

编码阶段一般进行测试用例的编写

4、说一下你负责的BOSS系统的模块,测试人员数多少?

考察对业务的了解程度

5、说一下你对BOSS系统其他业务的了解?

考察对业务的了解能力

6、对后台测试了解多少?

7、有没有做过开发项目?

华为技术有限公司内部JAVA面试题及面试流程_第4张图片

1.多态性

是指允许不同类的对象对同一消息作出响应

2.抽象性的特征

抽象 继承 封装 多态

3.游标的使用

它有时用来描述一个记录集,有时用来描述当前记录集中某一条记录的指针,它主要用来建立一个关系数据库中行/列关系的一种SQL可利用的访问格式

4.对MFC的了解

MFC应用程序模型历经多年以有了相当大的发展。有一个时期,它只是个使用应用程序对象和主窗口对象的简单模型。在这个模型中,应用程序的数据作为成员 变量保持在框架窗口类中,在框架窗口的客户区中,该数据被提交显示器。随着MFC2。0的问世,一种应用程序结构的新方式----MFC文档/视结构出现 了。在这种结构中,CFrameWnd繁重的任务被委派给几个不同类,实现了数据存储和显示的分离。

5.虚函数的使用及作用

那些被Vitual关健字修饰的成员函数,就是虚函数。虚函数的作用,用专业的术语来解释就是实现多态(Polymorphism),多态性是将接口归与实现进行分离;用形象的语言来解释就是实现心共同的方法,但因个体差异而采用不同的策略

6.Visual Studio 2005工具的使用

我用的是VC开发工具,其它的还有VB、C#、J#等

7.代码收集工具 ClearCase CVS VSS

8.软件测试过程中需要写什么文档,有什么人负责

测试方案 测试负责人

测试计划 测试负责人

测试用例 测试工程师

测试报告 测试负责人(每个测试工程师应该做好自己测试部分的测试小结)

9.目前应用最好的Oracle是什么

华为技术有限公司内部JAVA面试题及面试流程_第5张图片

1.对Oracle数据库熟悉吗?

2.SQL语句删除数据库中的一条记录,删除表中的所有记录,增加一个字段?

Delete from 表名 where 删除条件

Delete from 表名

Alter table 表名 ADD 字段名 数据类型(长度)

3.数据库怎么备份?

4.数据库游标是什么?

可以理解为指向表的数据指针。

5.WebLogic WebSphere 用过吗?熟悉吗?你们一般用什么应用服务器?

6.用过哪些中间件产品?

7.unix命令熟悉吗? 查看内存使用 进程的是哪个命令? tar命令怎么用?

查看内存 进程:top

tar命格式:tar cvf aa.tar aa

8.比较系统的说一下ENIP这个项目?

ENIP CORE(电信业务开发平台)的一部分, 主要是作了一个IDL编辑器,属于Eclipse插件,实现IDL的语法解析和语义分析,在实现上参考java编辑器

9.作测试,工作一般是怎么作的?工作流程

工作要按照流程来,我们这边是根据需求和详细设计写测试用例(有问题沟通交流)—用例评审—测试执行,在华为那边我们不作前边的测试需求分析和方案设计,根据华为的测试方案写出测试用例—用例评审—测试执行

10.测试中有哪些交互性的工作,都是怎么作的?

a)问题的沟通交流,有问题有沟通有记录

b)与合作方的互动:及时反馈进度和项目中遇到的问题

11.工作中和同事有没有过冲突?

没有,提单时,有时候问题我们定位不了,就附上定位信息,不定位.开发的不答应,这时候只能想办法定位了,避免推来推去引起冲突.

12. 与华为合作的几个项目介绍一下,规模都有多大?

从投入人力和时间的角度说了一下规模

什么是CRM?

CRM(Customer Relationship Management),即客户关系管理。这个概念最初由Gartner Group提出来,而在最近开始在企业电子商务中流行。CRM的主要含义就是通过对客户详细资料的深入分析,来提高客户满意程度,从而提高企业的竞争力的一种手段,它主要包含以下几个主要方面(简称7P):

客户概况分析(Profiling)包括客户的层次、风险、爱好、习惯等;

客户忠诚度分析(Persistency)指客户对某个产品或商业机构的忠实程度、持久性、变动情况等;

客户利润分析(Profitability)指不同客户所消费的产品的边缘利润、总利润额、净利润等;

客户性能分析(Performance)指不同客户所消费的产品按种类、渠道、销售地点等指标划分的销售额;

客户未来分析(Prospecting)包括客户数量、类别等情况的未来发展趋势、争取客户的手段等;

客户产品分析(Product)包括产品设计、关联性、供应链等;

客户促销分析(Promotion)包括广告、宣传等促销活动的管理。

学习Java的同学注意了!!!
学习过程中遇到什么问题或者想获取学习资源的话,欢迎加入Java学习交流群346942462,我们一起学Java!

你可能感兴趣的:(华为技术有限公司内部JAVA面试题及面试流程)