当前位置:文档之家› 华为面试题

华为面试题

第一部分:选择题
QUESTION NO: 1
1、public class Test {
public static void changeStr(String str){
str="welcome";
}
public static void main(String[] args) {
String str="1234";
changeStr(str);
System.out.println(str);
}
}
Please write the output result :

QUESTION NO:2
1. public class Test {
2. static boolean foo(char c) {
3. System.out.print(c);
4. return true;
5. }
6. public static void main( String[] argv ) {
7. int i =0;
8. for ( foo('A'); foo('B')&&(i<2); foo('C')){
9. i++ ;
10. foo('D');
12. }
13. }
14. }
What is the result?
A. ABDCBDCB
B. ABCDABCD
C. Compilation fails.
D. An exception is thrown at runtime.

QUESTION NO: 3
1. class A {
2. protected int method1(int a, int b) { return 0; }
3. }
Which two are valid in a class that extends class A? (Choose two)
A. public int method1(int a, int b) { return 0; }
B. private int method1(int a, int b) { return 0; }
C. private int method1(int a, long b) { return 0; }
D. public short method1(int a, int b) { return 0; }
E. static protected int method1(int a, int b) { return 0; }

QUESTION NO: 4
1. public class Outer{
2. public void someOuterMethod() {
3. // Line 3
4. }
5. public class Inner{}
6. public static void main( String[]argv ) {
7. Outer o = new Outer();
8. // Line 8
9. }
10. }
Which instantiates an instance of Inner?
A. new Inner(); // At line 3
B. new Inner(); // At line 8
C. new o.Inner(); // At line 8
D. new Outer.Inner(); // At line 8//new Outer().new Inner()

QUESTION NO: 5
Which method is used by a servlet to place its session ID in a URL that is written to the servlet’s response output stream?
A. The encodeURL method of the HttpServletRequest interface.
B. The encodeURL method of the HttpServletResponse interface.
C. The rewriteURL method of the HttpServletRequest interface.
D. The rewriteURL method of the HttpServletResponse interface.

QUESTION NO: 6
Which two are equivalent? (Choose two)
A. <%= YoshiBean.size%>
B. <%= Y

oshiBean.getSize()%>
C. <%= YoshiBean.getProperty("size")%>
D.
E.
F.
G.

QUESTION NO: 7
Which of the following statements regarding the lifecycle of a session bean are correct?
1. https://www.doczj.com/doc/0615057683.html,ng.IllegalStateException is thrown if SessionContext.getEJBObject() is invoked when a stateful session bean instance is passivated.
2. SessionContext.getRollbackOnly() does not throw an exception when a session bean with bean-managed transaction demarcation is activated.
3. An exception is not thrown when SessionContext.getUserTransaction() is called in the afterBegin method of a bean with container-managed transactions.
4. JNDI access to java:comp/env is permitted in all the SessionSynchronization methods of a stateful session bean with container-managed transaction demarcation.
5. Accessing resource managers in the SessionSynchronization.afterBegin method of a stateful session bean with bean-managed transaction does not throw an exception.


第二部分:概念题
1. 描述Struts体系结构?对应各个部分的开发工作主要包括哪些?













2. XML包括哪些解释技术,区别是什么?






3. JSP有哪些内置对象和动作?它们的作用分别是什么?














4、SQL问答题
SELECT * FROM TABLE

SELECT * FROM TABLE
WHERE NAME LIKE '%%' AND ADDR LIKE '%%'
AND (1_ADDR LIKE '%%' OR 2_ADDR LIKE '%%'
OR 3_ADDR LIKE '%%' OR 4_ADDR LIKE '%%' )
的检索结果为何不同?



5、SQL问答题
表结构:
1、 表名:g_cardapply
字段(字段名/类型/长度):
g_applyno varchar 8;//申请单号(关键字)
g_applydate bigint 8;//申请日期
g_state varchar 2;//申请状态
2、 表名:g_cardapplydetail
字段(字段名/类型/长度):
g_applyno varchar 8;//申请单号(关键字)
g_name varchar 30;//申请人姓名
g_idcard varchar 18;//申请人身份证号
g_state

varchar 2;//申请状态
其中,两个表的关联字段为申请单号。
题目:
1、 查询身份证号码为440401*********的申请日期
2、 查询同一个身份证号码有两条以上记录的身份证号码及记录个数
3、 将身份证号码为440401*********的记录在两个表中的申请状态均改为07
4、 删除g_cardapplydetail表中所有姓李的记录








1. 描述Struts体系结构?对应各个部分的开发工作主要包括哪些?
Struts是一种基于MVC经典设计模式的开放源代码的应用框架,也是目前Web开发中比较成熟的一种框架。通过把Servlet、JSP、JavaBean、自定义标签和信息资源整合到一个统一的框架中,为Web开发提供了具有高可配置性的MVC开发模式。
Struts体系结构实现了MVC设计模式的概念,它将Model、View和Controller分别映射到Web应用中的组件。Model由代表系统状态和商业逻辑Action来构建,View是由JSP和struts提供的自定义标签来实现,Controller负责控制流程,由ActionServlet和ActionMapping来完成。

开发主要工作有四个部分:
1)视图:主要由JSP建立,Struts自身包含了一组可扩展的自定义标签库(Tag1 ib),可以简化创建用户界面的过程。
2)模型:模型主要是表示一个系统的状态和业务逻辑。在Struts中,系统的状态主要由ActiomForm Bean体现,对于业务逻辑通常由JavaBean或EJB组件来实现。
3)控制器:控制器主要由ActionServlet类和Action类来实现,ActionServlet类是Struts框架中的核心组件,主要负责接收HTTP请求信息。根据配置文件struts-config.xml的配置信息,把请求转发合适的Action对象。Action类负责调用模型的方法,更新模型的状态,并帮助控制应用程序的流程。
4)配置文件struts-config.xml:当ActionServlet接收HTTP请求信息时,如何决定把用户请求转发给哪个Action对象呢?这就需要一些描述用户请求路径和Action映射关系的配置信息。在Struts中.这些配置映射信息都存储在特定的XML 文件Struts—config.xml中,在该配置文件中,每一个Action的映射信息都通过一个(action)元素来配置。这些配置信息在系统启动时会被读入内存,供Struts在运行期间使用,在内存中,每一个(action)元素都对应一个ActionMapping类的实例。


2. XML包括哪些解释技术,区别是什么?
SAX DOM JDOM DOM4J

SAX 是轻量级的,而且是事件驱动的。SAX并不需要在内存中维护整个文档。SAX的主要缺点在于,你要在逐标记的层次上进行操作,而且无法从解析器获得帮助来维护上下文。
DOM 是文档驱动的 ,将XML文档解析为一个完全驻留于内存

的表示 。
JDOM和DOM4J 是简单的JAVA DOM API ,dom4j 和jdom类似, 采用dom4j自己的解析器,功能不是很全,但是速度很快。

3. JSP有哪些内置对象和动作?它们的作用分别是什么
JSP共有以下9种基本内置组件(可与ASP的6种内部组件相对应):
request 用户端请求,此请求会包含来自GET/POST请求的参数
response 网页传回用户端的回应
pageContext 网页的属性是在这里管理
session 与请求有关的会话期
application servlet 正在执行的内容
out 用来传送回应的输出
config servlet的构架部件
page JSP网页本身
exception 针对错误网页,未捕捉的例外

4、SQL问答题
SELECT * FROM TABLE

SELECT * FROM TABLE
WHERE NAME LIKE '%%' AND ADDR LIKE '%%'
AND (1_ADDR LIKE '%%' OR 2_ADDR LIKE '%%'
OR 3_ADDR LIKE '%%' OR 4_ADDR LIKE '%%' )
的检索结果为何不同?

第一句选择的是TABLE 中所有记录集合
第二句选择的是TABLE 中满足NAME ,ADDR 非NULL 而且1_ADDR ,2_ADDR,3_ADDR, 4_ADDR 中有一个非NULL的记录集合


5、SQL问答题
表结构:
1、 表名:g_cardapply
字段(字段名/类型/长度):
g_applyno varchar 8;//申请单号(关键字)
g_applydate bigint 8;//申请日期
g_state varchar 2;//申请状态
2、 表名:g_cardapplydetail
字段(字段名/类型/长度):
g_applyno varchar 8;//申请单号(关键字)
g_name varchar 30;//申请人姓名
g_idcard varchar 18;//申请人身份证号
g_state varchar 2;//申请状态
其中,两个表的关联字段为申请单号。
题目:
1、 查询身份证号码为440401*********的申请日期
select g1.g_applydate from g_cardapply g1, g_cardapplydetail g2 where g1.g_applyno=g2.g_applyno and g2.g_idcard='440401*********';
2、 查询同一个身份证号码有两条以上记录的身份证号码及记录个数
select * from (select g_idcard,count(*) as cnt from g_cardapplydetail group by g_idcard) as g where cnt>1
3、 将身份证号码为440401*********的记录在两个表中的申请状态均改为07
update g_cardapplydetail set g_state='07' where g_idcard='440401*********';
update g_cardapply set g_state='07' where g_applyno in

(select g_applyno from g_cardapplydetail where g_idcard='440401*********')
4、 删除g_cardapplydetail表中所有姓李的记录
delete from g_cardapplydetail where g_name like '李%';









在上面给出的答案有很多题都答得有问题。就说说最后四道题就有两道是错的。
第二道,为什么不用分组查询而是用子查询?假如我有100万条记录,那么像waterborn(WaterBorn)这种写法最少也要遍历200万条记录.如果用分组查询的话只需要遍历100万条记录就可以了.完全没有考虑效率问题.所以这道题waterborn(WaterBorn)就拿不到分了.第四道题就错的更加离谱了.还是假如我有100万条记录在g_cardapplydetail这张表里面.像waterborn(WaterBorn)直接把g_cardapplydetail表里的记录给删掉了,那请问g_cardapply表里的那100万条记录你怎么去处理呀?读者该不会说它也没说g_cardapply里也有对应的100万条记录呀!.最后一道题的真确处理方法是先把g_cardapply表的字段删掉然后在删g_cardapplydetail表.

相关主题
文本预览
相关文档 最新文档