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

华为面试题目

华为面试题目
华为面试题目

面试题目

1、java的基本类型有几种,分别是那些?String是否为基本类型?

Java语言提供了八种基本类型:

六种数字类型(四个整数型,两个浮点型)

字节型byte 8位短整型short 16位整型int 32位长整型long 64位

单精度float 32位双精度double 64位

一种字符类型

字符型char 8位

还有一种布尔型。

布尔型:boolean 8位可存储"True"和"false"

========================================

String一直都是面试的问题,经常会听到有人说“String型”。老师也是这样说。我不知“String型”的意思是什么!但初学者往往都会说“String型”

举一个简单的例子:

String str1 = "x" ;

String str2 = "x" ;

String str3 = ne w String("x") ;

String本身就是一个对象而不是基本数据类型,String的变量名是对String类的引用。

其它那些Stirng Literals P ool就不讲了,我只是简单地讲下上面的过程,希望对大家用少少用

在声名str1的时候,由于还有没等于"x"的对象,所以就创建了一个新的对象;

在声名str2的时候,由于有了等于"x"的对象,所以系统就将其值取出直接返回给str2,所以str1和str2变量名都是作为"x"对象的引用。

当然new String()就实列一个新的对象了。

到了这里大家还会认为"String型"吗?

==============================================

再讲一下“==”和“equals”的用法!(会更理解上面所说的)

== 对象的比较好像也就是地址的比较

equals对象值的比较

==比较的是对象的引用,equal s比较的是对象的值

所以str1 == str2 返回True,str1 == str3 返回False, str1.equals(str3)返回True。

==============================================

2、Integer和int的区别

int 是基本数据类型

Integer是其包装类,注意是一个类。

为什么要提供包装类呢???

一是为了在各种类型间转化,通过各种方法的调用。否则你无法直接通过变量转化。比如,现在int要转为String

int a=0;

String result=Integer.toString(a);

在java中包装类,比较多的用途是用在于各种数据类型的转化中。

3、String和StringBuffer的区别

String:

是对象不是原始类型.

为不可变对象,一旦被创建,就不能修改它的值.

对于已经存在的String对象的修改都是重新创建一个新的对象,然后把新的值保存进去.

String 是final类,即不能被继承.

StringBuffer:

是一个可变对象,当对他进行修改的时候不会像String那样重新建立对象

它只能通过构造函数来建立,

StringBuffer sb = new StringBuffer();

note:不能通过付值符号对他进行付值.

sb = "welcome to here!";//error

对象被建立以后,在内存中就会分配内存空间,并初始保存一个null.向StringBuffer

中付值的时候可以通过它的append方法.

sb.append("hello");

字符串连接操作中StringBuffer的效率要比String高:

String str = new String("welcome to ");

str += "here";

的处理步骤实际上是通过建立一个StringBuffer,让侯调用append(),最后

再将StringBuffer toSting();

这样的话String的连接操作就比StringBuffer多出了一些附加操作,当然效率上要打折扣.

并且由于String 对象是不可变对象,每次操作Sting 都会重新建立新的对象来保存新的值. 这样原来的对象就没用了,就要被垃圾回收.这也是要影响性能的.

4、简单介绍Servlet的生命周期,Servlet是否会被多次初始化?

图解Servlet生命周期

Servlet的生命周期定义了一个Servlet如何被加载、初始化,以及它怎样接收请求、响应请求、提供服务。在网上找到一张关于Servlet生命周期的图解,我在旁边加标了中文(红色表示正常执行的线路,蓝色表示异常抛出)说到生命周期之前,可能先对于几个Servlet方法有个了解会有助于深刻理解Servlet生命周期:

1)init()方法

在Servlet的生命周期中,仅执行一次init()方法。它是在服务器装入Servlet时执行的,可以配置服务器,以在启动服务器或客户机首次访问Servlet 时装入Servlet。无论有多少客户机访问Servlet,都不会重复执行init();

2)service()方法

它是Servlet的核心。每当一个客户请求一个HttpServlet对象,该对象的Service()方法就要调用,而且传递给这个方法一个“请求”(ServletRequest)对象和一个“响应”(ServletResponse)对象作为参数。在HttpServlet中已存在Service()方法。默认的服务功能是调用与HTTP请求的方法相应的do功能。

3)destroy()方法

仅执行一次,在服务器端停止且卸载Servlet时执行该方法,有点类似于

C++的delete方法。一个Servlet在运行service()方法时可能会产生其他的线程,因此需要确认在调用destroy()方法时,这些线程已经终止或完成。

那么现在开始谈Servlet的生命周期,它始于装入Web服务器的内存时,并在终止或重新装入Servlet时结束。

一、加载和实例化Servlet

Tomcat服务器在如下时刻加载和实例化Servlet:

a) 如果已配置自动装入选项,则在启动服务器时自动载入。

b) 在服务器启动后,客户机首次向Servlet发出请求时。

c) 重新装入Servlet时。

当启动Servlet容器时,容器首先去查找一个配置文件web.xml,这

个文件中记录了可心提供服务的Servlet。每个Servlet被指定一个Servlet名,也就是这个Servlet实际对应的Java的完整class文件名。Servlet容器会为

每个自动装入选项的Servlet创建一个实例。所以,每个Servlet类必须有一个公共的无参数的构造器。

二、初始化

当Servlet被实例化后,Servlet容器将调用每个Servlet的init方法来实例化每个实例,执行完init方法之后,Servlet处于“已初始化”状态。所以说,一旦Servlet被实例化,那么必将调用init方法。通过Servlet在启

动后不立即初始化,而是收到请求后进行。在web.xml文件中用

...... 对Servlet进行预先初始化。如上图所示,初始化失败后,执行init()方法抛出ServletException异常,Servlet 对象将会被垃圾回收器回收,当客户端第一次访问服务器时加载Servlet实现类,创建对象并执行初始化方法;这种情况:如Servlet与一个没有启动的数据库连接时。

三、请求处理

对于到达服务器的客户机请求,服务器创建特定于请求的一个“请求”

对象和一个“响应”对象。调用service方法,这个方法可以调用其他方法来处理请求。Service方法会在服务器被访问时调用,Servlet对象的生命周期中service方法可能被多次调用,由于web-server启动后,服务器中公开的部分

资源将处于网络中,当网络中的不同主机(客户端)并发访问服务器中的同一资源,服务器将开设多个线程处理不同的请求,多线程同时处理同一对象时,有可能出现数据并发访问的错误。

另外注意,多线程难免同时处理同一变量时(如:对同一文件进行写操作),且有读写操作时,必须考虑是否加上同步,同步添加时,不要添加范围过大,有可能使程序变为纯粹的单线程,大大削弱了系统性能;只需要做到多个线程安全的访问相同的对象就可以了;

四、终止Servlet

当服务器不再需要Servlet实例或重新装入时,会调用destroy方法,使用这个方法,Servlet可以释放掉所有在init方法申请的资源。一个Servlet 实例一旦终止,就不允许再次被调用,只能等待被卸载。

五、卸载Servlet

Servlet一旦终止,Servlet实例即可被垃圾回收,处于“卸载”状态,如果Servlet容器被关闭,Servlet也会被卸载,一个Servlet实例只能初始化一次,但可以创建多个相同的Servlet实例。如相同的Servlet可以在根据不同的配置参数连接不同的数据库时创建多个实例。

5、简单介绍ArrayList,LinkedList,Vector的特性及区别

ArrayList和Vector是采用数组方式存储数据,此数组元素总数大于实际存储的数据个数以便增加和插入元素,二者都允许直接序号索引元素,但是插入数据要移动数组元素等内存操作,所以它们索引数据快、插入数据慢。

Vector由于使用了synchronized同步方法(如add、insert、remove、set、equals、hashcode等操作),因此是线程安全,性能上比ArrayList要差。

LinkedList使用双向链表实现存储,按序号索引数据需要进行向前或向后遍历,但是插入数据时只需要记录本项的前后项即可,所以插入数度较快!

LinkedList双向链表,是指可以从first依次遍历至last(从头到尾),也可以从last遍历至first(从尾到头),但首尾没有构成环,不同于双向循环链表(注意区分):

6、Java中的抽象类和接口的区别

简单来说,

接口是公开的,里面不能有私有的方法或变量,是用于让别人使用的,而抽象类是可以有私有方法或私有变量的,

另外,实现接口的一定要实现接口里定义的所有方法,而实现抽象类可以有选择地重写需要用到的方法,一般的应用里,最顶级的是接口,然后是抽象类实现接口,最后才到具体类实现。

还有,接口可以实现多重继承,而一个类只能继承一个超类,但可以通过继承多个接口实现多重继承,接口还有标识(里面没有任何方法,如Remote接口)和数据共享(里面的变量全是常量)的作用.

7、Struts2中的action和Servlet的区别

Struts1的action完全就是Servlet

因为ActionServlet类继承自Servlet

而struts2就是纯JavaBean。。他的实现是基于拦截器

当FilterDispather拦截到请求以后,会根据你的请求,去xml中找相关的bean,然后创建一个JavaBean

跟Servlet没半毛钱关系

需要把Action看成一个前端的逻辑单元,甚至是独立于Struts框架本身(所以建议在Action 中尽量不要使用Struts2的API,比如HttpRequest, ActionContext等等)。Servlet完全是容器相关的,所以从这一点上说,Action更加抽象化了一层。当然如果从MVC模式看的话Struts 1中的Servlet应该算是Controller部分,Action应该看成是Model部分;而在Struts 2中用FilterDispatcher代替了Servlet。

8、简单介绍Spring的IOC和AOP

Spring框架为J2E E应用常见的问题提供了简单、有效的解决方案,使用Spring,你可以用简单的P OJO(P lain Old Java Object)来实现那些以前只有E JB才能实现的功能。这样不只是能简化服务器端开发,任何Java系统开发都能从Spring 的简单、可测试和松耦合特征中受益。可以简单的说,Spring是一个轻量级的反向控制(IoC)和面向切面编程(AOP)容器框架[3]。Spring IoC,借助于依赖注入设计模式,使得开发者不用理会对象自身的生命周期及其关系,而且能够改善开发者对J2EE模式的使用;Spring AOP,借助于Spring实现的拦截器,开发者能够实现以声明的方式使用企业级服务,比如安全性服务、事务服务等。Spring IoC和Spring ; AOP组合,一起形成了Spring,这样一个有机整体,使得构建轻量级的J2E E架构成为可能,而且事实证明,非常有效。没有Spring IoC的Spring A OP是不完善的,没有Spring AOP的Spring IoC是不健壮的。

9、描述你在项目中的异常处理方案

异常,为我们处理非正常的业务流程提供了很好的解决方案,如果你有过dbase、c、pascal等过程式语言开发的经历,你一定会深刻体会到,异常机制给你的代码可读行、可维护性带来的好处,同时,程序的健壮性也得到了增强。

在 java项目中,异常设计要注意下面的几点。

一、自定义异常父类的选择

A、自定义异常的父类,可以选择为RuntimeException或Exception。RuntimeException是运行时异常,你可以选择它来做为你的异常父类,因为这种异常不受到编译器检查,因此,给予了程序员很大的灵活性,程序员可以处理这种异常,也可以不处理(实际上并不是不处理,而是不立即处理,等到一个合适的地方再进行处理)。选择RuntimeException作为父类,是很多框架常采用的,如果你是做底层框架的,可以选择 RuntimeException。

B、业务层异常,一般选择Exception作为父类,因为业务层异常比较重要,一般都是要由调用者进行处理或者是要告知调用者会发生这种异常。如果你的代码

是提供给第三方厂商用的,业务层封闭统一的异常就显得非常的有必要。这类异常会强制要求程序员进行处理(异常转译或继续声明抛出),程序完整性、健壮性得到了加强。

二、业务层自定义异常结构的设计

A、业务层自定义异常可以考虑按子系统来划分,也就是说,每一个子系统(模块)都有自己的异常定义,每个子系统自己维护自己的,统一向调用者抛出。

B、根据业务类型,从逻辑上划分异常类型,比如:权限相关的,安全相关的,数据库相关的等等。

总的来说,这两种自定义异常也可以混合使用,因为有的时候,子系统(业务模块)本身就是从逻辑上进行划分的。

三、异常结构定义

异常类的父类选定后,再定义自己的异常结构。一般的异常类中,要定义这么一些东西。

A、描述字符串,说明异常的起因,或说明等。

B、异常码。定义一个int或String类型的异常码,异常码在整个系统中统一定义,根据异常继承结构,异常码也可以定义得有层次结构。异常码在大的系统中比较常见,Oracle ,Sqlserver等数据库产品中,或华为、中兴的一些驱动api 中。

C、定义一个Throwable的成员变量,用以封装异常结构链。

D、定义无参数、有参数(String,Throwable)的构造方法。

四、在WEB三层模型中,异常的处理

在经典的三层架构模型中,通常都是这样来进行异常处理的:

A、持久层一般抛出的是RuntiomeException类型的异常,一般不处理,直接向上抛出。

B、业务层一般要封装自定义异常,统一向外抛出(这里要注意,如果用spring 在业务层管理异常,一定要配置好异常回滚类型,因为spring默认只回滚RuntiomeException类型的)。我也见过一些想省事的人,业务层也不定义任何异常,也不进行try catch,如果业务层出现异常将在表现层进行处理及页面跳转。

C、表现层必须要处理业务层的异常,以正确向客户报告系统出现的问题,这里面是最后一道异常处理的地方。我也见过有懒人在业务层都不处理,直接在web.xml中配置errorPage的,但不建议这么做。

用好异常,对于项目的可维护性、健壮性都有极大的好处,当然,异常也不是万能的,在有些项目中并不适用,比如:纯算法项目,对性能要求极高的项目等,因为异常栈会对系统性能有一定开销,在这些项目中,最后还在老老实实用方法的返回值去标识方法执行的结果,用if else去处理业务逻辑中的非正常情况吧。

10、Forward和redirect的区别

forward方式:request.getRequestDispatcher("/somePage.jsp").forwardrequest, response);

redirect方式:response.sendRedirect("/somePage.jsp");

forward是服务器内部重定向,程序收到请求后重新定向到另一个程序,客户机并不知道;

redirect则是服务器收到请求后发送一个状态头给客户,客户将再请求一次,这里多了两次网络通信的来往。当然forward也有缺点,就是forward的页面的路径如果是相对路径就会有些问题了。 forward 会将 request state , bean 等等信息带往下一个 jsp

redirect 是送到 client 端后再一次 request , 所以资料不被保留.

使用 forward 你就可以用 getAttribute() 来取的前一个 jsp 所放入的 bean 等等资料在网上看到一些帖子,总结了一些区别,可以从以下几个方面来看:

1.从地址栏显示来说

使用forward的时候浏览器不知道它所请求的具体资源来源,所以地址栏不会变;

使用redirect,服务端根据逻辑,发送一个状态码,告诉浏览器重新去请求那个地址.所以地址栏显示的是新的URL。

2.从数据共享来说

forward:转发页面和转发到的页面可以共享request里面的数据.

redirect:不能共享数据.

redirect不仅可以重定向到当前应用程序的其他资源,还可以重定向到同一个站点上的其他应用程序中的资源,甚至是使用绝对URL重定向到其他站点的资源.

forward,方法只能在同一个Web应用程序内的资源之间转发请求.forward 是服务器内部的一种操作.

redirect 是服务器通知客户端,让客户端重新发起请求.

所以,你可以说 redirect 是一种间接的请求, 但是你不能说"一个请求是属于forward还是redirect "

3.从运用地方来说

forward:一般用于用户登陆的时候,根据角色转发到相应的模块.

redirect:一般用于用户注销登陆时返回主页面和跳转到其它的网站等.

4.从效率来说

forward:高.

redirect:低.

11、Java实现多线程有那些方法,如何启动一个线程

1、认识Thread和Runnable

Java中实现多线程有两种途径:继承Thread类或者实现Runnable接口。Runnable是接口,建议用接口的方式生成线程,因为接口可以实现多继承,况且Runnable只有一个run方法,很适合继承。在使用Thread的时候只需继承Thread,并且new一个实例出来,调用start()方法即可以启动一个线程。

Thread Test = new Thread();

Test.start();

在使用Runnable的时候需要先new一个实现Runnable的实例,之后启动Thread即可。

Test impelements Runnable;

Test t = new Test();

Thread test = new Thread(t);

test.start();

总结:Thread和Runnable是实现java多线程的2种方式,runable是接口,thread 是类,建议使用runable实现java多线程,不管如何,最终都需要通过thread.start()来使线程处于可运行状态。

2、认识Thread的start和run

1)start:

用start方法来启动线程,真正实现了多线程运行,这时无需等待run方法体代码执行完毕而直接继续执行下面的代码。通过调用Thread类的start()方法来启动一个线程,这时此线程处于就绪(可运行)状态,并没有运行,一旦得到spu 时间片,就开始执行run()方法,这里方法run()称为线程体,它包含了要执行的这个线程的内容,Run方法运行结束,此线程随即终止。

2)run:

run()方法只是类的一个普通方法而已,如果直接调用Run方法,程序中依然只有主线程这一个线程,其程序执行路径还是只有一条,还是要顺序执行,还是要等待run方法体执行完毕后才可继续执行下面的代码,这样就没有达到写线程的目的。

总结:调用start方法方可启动线程,而run方法只是thread的一个普通方法调用,还是在主线程里执行。

3、线程状态说明

线程状态从大的方面来说,可归结为:初始状态、可运行状态、不可运行状态和消亡状态,具体可细分为上图所示7个状态,说明如下:

1)线程的实现有两种方式,一是继承Thread类,二是实现Runnable接口,但不管怎样,当我们new了thread实例后,线程就进入了初始状态;

2)当该对象调用了start()方法,就进入可运行状态;

3)进入可运行状态后,当该对象被操作系统选中,获得CPU时间片就会进入运行状态;

4)进入运行状态后case就比较多,大致有如下情形:

·run()方法或main()方法结束后,线程就进入终止状态;

·当线程调用了自身的sleep()方法或其他线程的join()方法,就会进入阻塞状态(该状态既停止当前线程,但并不释放所占有的资源)。当sleep()结束或join()结束后,该线程进入可运行状态,继续等待OS分配时间片;

·当线程刚进入可运行状态(注意,还没运行),发现将要调用的资源被锁牢(synchroniza,lock),将会立即进入锁池状态,等待获取锁标记(这时的锁池里也许已经有了其他线程在等待获取锁标记,这时它们处于队列状态,既先到先得),一旦线程获得锁标记后,就转入可运行状态,等待OS分配CPU时间片;

·当线程调用wait()方法后会进入等待队列(进入这个状态会释放所占有的所有资源,与阻塞状态不同),进入这个状态后,是不能自动唤醒的,必须依靠其他线程调用notify()或notifyAll()方法才能被唤醒(由于notify()只是唤醒一个线程,但我们由不能确定具体唤醒的是哪一个线程,也许我们需要唤醒的线程不能够被唤醒,因此在实际使用时,一般都用notifyAll()方法,唤醒有所线程),线程被唤醒后会进入锁池,等待获取锁标记。

·当线程调用stop方法,即可使线程进入消亡状态,但是由于stop方法是不安全的,不鼓励使用,大家可以通过run方法里的条件变通实现线程的stop。

12、Try{}里面有一个return语句,那么紧跟在这个try后的finally{}里面的code会不

会被执行,什么时候执行,在return前还是后?

你写一个很简单的例子就知道了

string str = "aa";

try

{

str = "bb";

return;

}

catch

{

str = "cc";

}

finally

{

str = "dd";

}

你看一下最后的结果是"bb"还是"dd"

为什么叫finally就是因为它始终是要执行的

不执行叫什么finally呢?

所以你即使return了这个值还是会按照finally里面的来执行

这个结果可以证明是执行完finally里面的代码后才return的

13、写出一种Orcal的查询分页方法或思路

select * from (

select rownum as rn, a.* from table a)

where rn between 1 and 10

显示1到10的数据,也就是第一页

你的后台在运行sql语句的时候,可以计算页面要显示的数据数,然后传给rn between 就可以了

比如一页要显示10条数据,第3页要显示的数据就是

rn between (3*10+1) and ((3+1)*10)

14、SQL中的左连接,右连接以及内连接分别有什么特点

左外连接是返回主表的所有信息,如果从表没有主表信息显示为空

而内连接是以从表为主如没数据那么就不显示

举个例子

如有2张表student grade

student

有sid,sname两列

有3条数据1,呵呵2,嘿嘿3,嘻嘻

grade

有score,sid

有2条数据90,1 80,2

比如我们要查哪个人考了多少分呢么左连接就是

呵呵90

嘿嘿80

嘻嘻null

内连接就是

呵呵90

嘿嘿80

15、以下代码是否有误:

Short c= 1;

c= c+1;

这是一个类型高级与低级的问题,前面的C是short型的,后面的1为int型的,short型与int型的相加得到short型是不可取,因为必须将int型转换为short 型,short型级别比int型高,可以short与int型相加存储为int型,但是却不能short与int型相加存储为short型,c=c+1属于short型与int型相加存储为short 型,后者为short型与short型相加存储为short型,或许说得有点绕,你可以去查int、short、long这几个的优先级,里面就会谈到这个问题

16、计算出以下代码的打印结果:

int k = 0;

for(int I = 0;I<100;i++){

k=k++;

}

System.out.print(k);

K=0

17、指出下面程序的运行结果:

class A{

static{

System.out.print(“1”);

public A(){

System.out.print(“2”);

class B extends A{

static{

System.out.print(“a”);

public B(){

System.out.print(“b”);

public class Test{

public static void main(String[] args){

A ab = new B();

ab = new B();

父类与子类执行的先后顺序

静态变量的执行特性

方法重写(override)的注意事项

1.

当父类与子类都有静态代码块和构造函数的时候,执行顺序如下:

父类静态代码块 > 子类静态代码块

父类构造函数 > 子类构造函数(先有父亲,后有孩子)

如果是多级继承关系的话,最高层的父类首先执行,然后依次递减

总结:静态优先执行,父类优先执行

注意:静态代码块是在JVM加载类的时候执行的,而且静态代码块执行且仅执行一次

2.

在调用类中的方法时,在方法体执行之前,首先要对类中的成员变量进行赋值,如果代码中没有赋具体的值,也有默认值。成员变量的赋值顺序按照前后顺序进行。

如果有既有直接赋值,也有构造方法赋值,那么根据先后顺序执行

3.

重写(Override)重载(Overload)

重载是方法名字,返回类型一致,唯一不同的是方法的参数不同(参数类型不同,或者参数类型不同)

重写:

1. 发生方法重写的两个方法返回值,方法名,参数列表必须完全一致

2. 子类抛出的异常不能超过父类相应的方法抛出的异常

3. 子类方法的访问级别不能低于父类相应方法的访问级别(public,package,protected,

private)

多态:父类的引用指向了子类的对象,调用时执行的方法也是子类的方法,父类的方法并不会被执行

所谓多态就是父类或者接口类型的引用可以指向子类或者实现该接口的类的实例(对象)

看了上面的说明,大家也应该知道上面的程序输出结果了。

输出结果为:1a2b2b

18、写一个java方法,功能是可以将一个字符串反转,例如“abcde”执行后得到“edcba”

public class Test{

public static void main(String[] args){

String s1 = "abc";

System.out.print("翻转后:");

for(int i=s1.length()-1;i>=0;i--){

System.out.print(s1.charAt(i));

}

}

}

19、写一个简单的单例类(Singleton)。

1、饿汉式

public class A(){

private static final A a=new A();

//私有构造方法

private A(){

}

//静态工厂方法

public A getInstance(){

return a;

}

}

2、懒汉式

public class A {

private static A a;

private A() {}

public static A getInstance() {

if(a == null)

a = new A();

return a;

}

}

数据库

20、查询公司的所有员工及所属部门信息,并按人员姓名拼音首字母排序。请用sql实

现。

Select e.id,https://www.doczj.com/doc/bd16950777.html,,d.deptname from Employee e left join Dept d on e.deptid=d.deptid order by nlssort(https://www.doczj.com/doc/bd16950777.html, , 'NLS_SORT=SCHINESE_PINYIN_M');

21、delete from table a和truncate table table a 的区别

TRUNCATE和DELETE有以下几点区别

1、TRUNCATE在各种表上无论是大的还是小的都非常快。如果有ROLLBACK 命令DELETE将被撤销,而TRUNCATE则不会被撤销。

2、TRUNCATE是一个DDL语言,向其他所有的DDL语言一样,他将被隐式提交,不能对TRUNCATE使用ROLLBACK命令。

3、TRUNCATE将重新设置高水平线和所有的索引。在对整个表和索引进行完全浏览时,经过TRUNCATE操作后的表比DELETE操作后的表要快得多。

4、TRUNCATE不能触发任何DELETE触发器。

5、不能授予任何人清空他人的表的权限。

6、当表被清空后表和表的索引讲重新设置成初始大小,而delete则不能。

7、不能清空父表。

22、浏览器请求有哪几种

浏览器的请求方式

浏览器的请求方式有很多,最典型的就是get和post方式,但你是否知道其实还有几种方式,只是我们不经常用!options,head,put,delete,trace,至于为什么现在不经常用这些方式,我想是因为get和post就可以满足我们大多数的需求吧!

2.get和post的区别

这个问题似乎大家讨论了很久,而且面试题中也时常出现这类题,但他们的最大区别到底在哪里呢

其实最主要的区别在于

get 请求用于从服务器获取信息

post请求用于改变服务器的状态

当然还有其他的不同

(1) get是把参数数据队列加到提交表单的ACTION属性所指的URL中,值和表单内各个字段一一对应,在URL中可以看到

post是通过HTTP post机制,将表单内各个字段与其内容放置在HTML HEADER内一起传送到ACTION属性所指的URL地址

(2)get传送的数据量较小,不能大于2KB。post传送的数据量较大,一般被默认为不受限制

(3)post的安全性比get高?有些人认为应为get方式请求时因为数据是加载url后面的,所以安全性不高,但其实很多工具都可以看,如firebug,所以安全性是相对的。

3.什么时候用get,什么时候用post

这就是根据他们的最大的区别来使用了

这里有一个概念叫idempotent(幂等),对于单目运算,如果一个运算对于在范围内的所有的一个数多次进行该运算所得的结果和进行一次该运算所得的结果是一样的,那么我们就称该运算是幂等的。如abs运算就是幂等的

对于一个请求,在服务器端没有变化的情况下,相同的请求不管请求多少次,得到的数据应该是相同的,这就是幂等的,也就要用get方式,一般就是用于向服务求获取数据。当你要改变服务器状态的时候,比如对数据库教程进行增删改操作时,你就应该用post方式了

4.乱使用get和post的后果

其实现在互联网里的很多网站都没有遵循使用规范,乱用get和post,比如用标签请求一个action,达到修改服务器状态的目标,因为他们没有意识到危险

直到2005年google发布了GWA(google web accelerator),这个工具是一个客户端代码,他会预先扫描用户浏览的的页面,找出其中的连接,并读取连接后面的页面并缓存,从而达到提高浏览页面速度的目的

也许你现在想到了,但我们用标签的时候,如果用于请求一个action改变服务求状态的时候,那就太糟糕了,gwa会请求所有标签,然后请求action!比如一个购物网站。用一个

的连接来把物品加入购物车,那当用户访问的时候,GWA会把所有的物品加入你的购物车

5 建议

(1).使用表单和按钮(非超链接)来执行会改变服务器状态的操作,表单用post提交(2).使用确认页面

其实最核心的一个就是:把所有具有破坏性的action放在一个post请求的后面

23、jquery

24、对象传递和字符串传递

普通对象传递为地址传递 a = b ,b对象变了a对象也变

字符串传递为地址传递 a = b b字符串变了,a不会变。

25、StringBuffer的相关问题

26、集合对象相关问题(不常用的类需要经常复习)

27、排序算法需要熟练写出

public static int[] sort(int[] a){

int length = a.length;

for (int i = 0; i <= length - 1; i++){

for (int j = length - 1; j > i; j--){

if (a[j] < a[j - 1]) {

int temp = a[j];

a[j] = a[j - 1];

a[j - 1] = temp;

}

}

}

return a;

}

28、类的继承问题

子类初始化,父类初始化的执行顺序。

// Petstore.java

class Animal {

Animal() {

System.out.println("Animal");

}

}

class Cat extends Animal {

Cat() {

System.out.println("Cat");

}

}

class Store {

Store() {

System.out.println("Store");

}

}

public class Petstore extends Store{

Cat cat = new Cat();

Petstore() {

System.out.println("Petstore");

}

public static void main(String[] args) {

new Petstore();

}

}

运行这段代码,它的执行结果如下:

Store

Animal

Cat

Petstore

29、数据库

prepareStatement的好处

先看看两段代码:

Code Fragment 1:

String updateString = "UPDATE COFFEES SET SALES = 75 " + "WHERE COF_NAME LIKE ′Colombian′";

stmt.executeUpdate(updateString);

Code Fragment 2:

PreparedStatement updateSales = con.prepareStatement("UPDATE COFFEES SET SALES = ? WHERE COF_NAME LIKE ? ");

updateSales.setInt(1, 75);

updateSales.setString(2, "Colombian");

updateSales.executeUpdate();

片断2和片断1的区别在于,后者使用了PreparedStatement对象,而前者是普通的Statement对象。PreparedStatement对象不仅包含了SQL语句,而且大多数情况下这个语句已经被预编译过,因而当其执行时,只需DBMS运行SQL语句,而不必先编译。当你需要执行Statement对象多次的时候,PreparedStatement对象将会大大降低运行时间,当然也加快了访问数据库的速度。

这种转换也给你带来很大的便利,不必重复SQL语句的句法,而只需更改其中变量的值,便可重新执行SQL语句。选择PreparedStatement对象与否,在于相同句法的SQL语句是否执行了多次,而且两次之间的差别仅仅是变量的不同。如果仅仅执行了一次的话,它应该和普通的对象毫无差异,体现不出它预编译的优越性。

补充:

1. 数据库在执行sql语句的时候如果使用PreparedStatement语句会有一点优势:因为数据库会 PreparedStatement 语句进行预编译,下次执行相同的sql语句时,数据库端不会再进行预编译了,而直接用数据库的缓冲区,提高数据访问的效率(但尽量尽量采用使用?号的方式传递参数),如果sql语句只执行一次,以后不再复用,则建议采用StatemenStatement不会对sql进行预编译。

2. 另外使用PrepareStatement还有一个好处,不用对传入的字符串进行转义。

3.PreparedStatement 能有效防止Sql注入攻击,速度较快,但失于灵活.

华为认证网络工程师考试试题(笔试)及答案讲解

华为认证网络工程师--认证考试试题(笔试)及答案 选择题:(每题2分,共100分) 1、 以下属于物理层的设备是( A ) A 、 中继器 B 、 以太网交换机 C 、 桥 D 、 网关 2、 在以太网中,是根据( B )地址来区分不同的设备的。 A 、 LLC 地址 B 、 MA C 地址 C 、 IP 地址 D 、 IPX 地址 3、 以下为传输层协议的是( CD ) A 、IP B 、 ICMP C 、 UDP D 、 SPX 4、以下对 MAC 地址描述正确的是( BC ) A 、 由 B 、 由 C 、 前 D 、 后 5、 以下属于数据链路层功能的是( CD A 、 定义数据传输速率 B 、 定义物理地址 C 、 描述网络拓扑结构 D 、 流控制 6、 IEEE802.3U 标准是指(B ) A 、 以太网 B 、 快速以太网 C 、 令牌环网 D 、FDDI 网 7、如果要将两计算机通过双绞线直接连接,正确的线序是 A 、1--1、 2一2、3"3、4一4、5一5、6一6、7一7、8一8 B 、1--2、 2一1、3一6、4一4、5"5、6一3、7■■7、8一8 C 、1--3、 2一6、3一1、4一4、5"5、6一2、7■■7、8一8 D 、两计算机不能通过双绞线直接连接 &在V.35和V.24规程中,控制信号 RTS 表示(D ) A 、 数据终端准备好; B 、 数据准备好; C 、 数据载体检测; D 、 请求发送; 32位2进制数组成 48位2进制数组成 6位16进制由IEEE 负责分配 6位16进制由IEEE 负责分配

E、清除发送。 9、路由器作为网络互连设备,必须具备以下哪些特点。 A、至少支持两个网络接口 B、协议至少要实现到网络层 C、至少支持两种以上的子网协议 D、至少具备一个备份口 E、具有存储、转发和寻径功能 F、一组路由协议 G、必须有较高的协议处理能力 10、路由器的作用有(ABDG) A、异种网络互连 B、子网间的速率适配 C、连接局域网内两台以上的计算机 D、隔离网络,防止网络风暴,指定访问规则(防火墙) E、子网协议转换 F、加快网络报文的传递速度 G、路由(寻径):路由表建立、刷新、查找 H、报文的分片与重组 11、调用上一条历史命令的快捷键是(A ) A、CTRL-P B、CTRL-O C、ALT-P D、ALT-0 12、交换机工作在OSI七层的哪一层?(B) A、一层 B、二层 C、三层 D、三层以上 13、以下对CSMA/CD 描述正确的是( A D??) A、在数据发送前对网络是否空闲进行检测 B、在数据发送时对网络是否空闲进行检测 C、在数据发送时对发送数据进行冲突检测 D、发生碰撞后MAC地址小的主机拥有发送优先权 14、以下对STORE AND FORW ARD描述正确的是(CE) A、收到数据后不进行任何处理,立即发送 B、收到数据帧头后检测到目标MAC地址,立即发送 C、收到整个数据后进行CRC校验,确认数据正确性后再发送 D、发送延时较小 E、发送延时较大 15、以下对交换机工作方式描述正确的是( A、可以使用半双工方式工作 B、可以使用全双工方式工作 C、使用全双工方式工作时要进行回路和冲突检测 D、使用半双工方式工作时要进行回路和冲突检测(ABE ) ABD )

华为面试题

华为面试题 华为面试题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)

华为LTE认证考试试题

华为LTE认证考试试题 一.填空题(每题一分)共15分 1.LTE上行物理信道包含PUSCH,PUCCH,PRACH.(物理上行共享信道 PUSCH - 物理 上行控制信道 PUCCH - 物理随机接入信道 PRACH) 2.BCH的传输时间间隔是40ms. 3.ICIC技术是用来解决系统内同频干扰问题. 4.空口协议伐中,数据的压缩功能位于PDCP层. 5.一个RB时域包含1个slot,频域包含12连续子载波. 6.LTE TDD的帧结构每帧长10ms,包含22个时隙(slot)和10个子帧(subframe). 7.LTE最小的资源单位是RE,最小的资源分配单位是RB. 8.LTE协议规定物理小区标识(PCI)共有504个. 9.LTE ENODEB与EPC之间的接口是S1,ENODEB之间的接口是X2. 二.判断题(每题一分)共15分 1.下行参考信号包括三种类型,包括:Cell-specific,MBSFX-specific,UE-specific。( 对 ) 2.NAS层协议是属于用户面协议。(错)NAS层协议是属于控制面协议 3.基于非竞争的随机接入过程,其接入前导的分配是由网络侧分配的。(对) 4.SFBC是一种发射分集技术,主要获得发射分集增益,用于SINR较低的区域,比如 小区边缘,与STBC相比,SFBC是(对) 5.MIMO的信道容量与空间信道的相关性有关,信道相关性越低,MIMO信道容量越大。(对) 6.MIMO模式分为分集和复用,其中分集主要是提升小区覆盖,而复用主要是提升小区容量。(对) 7.LTE系统中,UE在多个属于同一个TA list下的多个TA间移动,不会触发TA的更新。(对)

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

第一部分,不定向选择 第二部分,填空题 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的二进制补码

华为光网络试题答案精编

华为光网络试题答案精 编 Document number:WTT-LKK-GBB-08921-EIGG-22986

一、填空 1、光同步传输系统中,时钟是其一大特色,时钟的工作方式有哪3种:()、()、()。跟踪方式保持方式自由振荡方式 2、2M接口的阻抗特性一般有非平衡式的()Ω和平衡式的()Ω两种。75 120 3、PCM 基群由 32 个时隙组成,分别用 TS0、 TS1、…...TS31表示,每个时隙编为 8 位二进制码,其抽样频率为 8KHz,故帧周期为()。125μS 4、光纤在波长1310nm的衰减常数技术指标为(), 光纤在波长1550nm的衰减常数技术指标为()。km km 5、为了保证10Gbit/s速率的传输性能,根据需要进行测试,要求敷设的干线光缆的极化色散系数不得大于 ()。√km 6、为了扩大传输容量,经常采用的方法就是复用技术,常见的复用技术有(请任意写出四个)()、 ()、()、()。时分复用(TDM) 空分复用(SDM)波分复用(WDM)码分复用(CDM) 频分复用(FDM) 7、SDH中公务电话一般利用()、()开销字节。E1 E2

8、如果线路时钟比设备时钟快,设备将出现()指针调整(选填“正”、“负”)。负 9、管理单元指针AUPTR的有效值是多少()。0~782 10、支路单元指针TUPTR的有效值是多少()。0~139 11、SDH STM-1的帧结构是()行×()列。 9、270 12、一个复帧包含了()个基帧。4 13、N个网元组成的STM-16单向通道保护环业务最大容量是()。16×STM-1 14、N个网元组成STM-64四纤复用段保护环全环最大业务容量是()。64N×STM-1 15、查看开销S1字节的值是0X02,此时钟是G.()时钟。811 16、波分系统按系统接口分类,可以分为()系统和()系统。集成式开放式 17、PDH信号最终复用成SDH光信号,需经过: ()、()、()三个步骤。映射定位复用

华为面试题(附答案)Oracle

一、技术问题部分(数据库部分) 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在各种表上无论是大的还是小的都非常快。如果有

华为认证考试题库-HCNP

1.某公司为其一些远程小站点预留了网段17 2.29.100.0/26,每一个站点有10个IP设备接到网络,下面的那个VLSM掩码能够为该需求提供最小数量的主机数目? A./27 B./28 C./29 D./30 Answer:B 2.网段10.10.4.0/27,可以提供多少主机地址? A.15 B.30 C.32 D.64 Answer:B 3.CIDR使用VLSM技术,突破了传统IP地址分类边界,采用CIDR可以把路由表中的若干条路由汇聚成一条路由,减少了路由表的规模 A. True B. False Answer:A 4.汇总地址172.16.96.0/20包含哪些子网? A.172.16.104.0/21 B.172.16.112.0/21 C.172.16.120.0/21 D.172.16.124.0/21 Answer:A 5.下面那个地址可以配置在主机设备上? A.202.101.1.64/26 B.192.19.11.5/23 C.127.0.0.1 D.224.0.0.2 Answer:B 6.C类地址子网掩码为255.255.255.248,则每个子网可以使用的主机地址数是: A.8 B.6 C.4 D.2 Answer:B 7.一台主机的地址为192.168.9.113/21,则该主机需要发送广播报文,该报文发送的目的地址为: A.192.168.9.255 B.192.168.15.255 C.192.168.255.255 D.192.255.255.255 Answer:B 8.有一个子网网段地址是10.64.0.0,掩码是255.224.0.0,则该网段允许的最大主机IP地址

华为认证网络工程师考试试题笔试及标准答案.doc

华为认证网络工程师-- 认证考试试题( 笔试 ) 及答案选择题:(每题 2 分,共 100 分) 1、以下属于物理层的设备是( A ) A、中继器 B、以太网交换机 C、桥 D、网关 2、在以太网中,是根据(B)地址来区分不同的设备的。 A、LLC 地址 B、MAC地址 C、IP 地址 D、IPX 地址 3、以下为传输层协议的是(CD ) A、IP B、ICMP C、UDP D、SPX 4、以下对 MAC地址描述正确的是(BC ) A、由 32 位 2 进制数组成 B、由 48 位 2 进制数组成 C、前 6 位 16 进制由 IEEE 负责分配 D、后 6 位 16 进制由 IEEE 负责分配 5、以下属于数据链路层功能的是(CD )

A、定义数据传输速率 B、定义物理地址 C、描述网络拓扑结构 D、流控制 6、IEEE802.3u 标准是指( B ) A、以太网 B、快速以太网 C、令牌环网 D、FDDI 网 7、如果要将两计算机通过双绞线直接连接,正确的线序是( C ) A、1-- 1、 2-- 2、 3-- 3、 4-- 4、5-- 5 、 6-- 6、 7-- 7、8-- 8 B、1-- 2、 2-- 1、 3-- 6、 4-- 4、5-- 5 、 6-- 3、 7-- 7、8-- 8 C、1-- 3、 2-- 6、 3-- 1、 4-- 4、5-- 5 、 6-- 2、 7-- 7、8-- 8 D、两计算机不能通过双绞线直接连接 8、在 V.35 和 V.24 规程中,控制信号RTS表示( D) A、数据终端准备好; B、数据准备好; C、数据载体检测; D、请求发送; E、清除发送。 9、路由器作为网络互连设备,必须具备以下哪些特点。(ABE) A、至少支持两个网络接口 B、协议至少要实现到网络层 C、至少支持两种以上的子网协议

华为2011面试问题汇总及答案

华为面试问题汇总及答案-2011华为面试题 Q1:请你分别划划OSI的七层网络结构图,和TCP/IP的五层结构图? Q2:请你详细的解释一下IP协议的定义,在哪个层上面,主要有什么作用?TCP与UDP 呢? Q3:请问交换机和路由器分别的实现原理是什么?分别在哪个层次上面实现的? Q4:请问C++的类和C里面的struct有什么区别? Q5:请讲一讲析构函数和虚函数的用法和作用? Q6:全局变量和局部变量有什么区别?实怎么实现的?操作系统和编译器是怎么知道的? Q7:一些寄存器的题目,主要是寻址和内存管理等一些知识。 Q8:8086是多少尉的系统?在数据总线上是怎么实现的? 问题1:两笔记本电脑连起来后拼不通,你觉得可能有哪些问题? 问题2:我们在南京,和深圳的网络是通的,但和北京的网络不通,你以怎样的顺序检查问题? 问题3:解释什么叫“透明”?什么叫“网格”? 问题4:交换和路由的区别?VLAN的特点? 问题5:画一个积分电路和一个微分电路。 问题6:知道现在的路由器是第几代了吗? 第一题:可能的原因大体有以下几个:1、网线不通;2、某台笔记本上的tcp/ip协议安装的不完整;3、ip地址配置有问题(不在一个网段上);4、某台笔记本上有防火墙,把icmp 端口给屏蔽了(端口号:139)。这个题的我是从osi模型上入手,从物理层往上一层层排除。第二题:我设想的顺序是按照由近及远的顺序进行测试,如果是有vpn的话,只要确定两端和本地网络提供支持的公司之间的网络是连通的,其他的就交个那个公司来做了,如果是自己维护的基于ddn一类的点对点网络,那么找到路由表,从最近的路由器开始ping吧。 第三题:关于透明,我的理解就是一种开放的通信,意味着应用程序可以与网络上它所知道地址的其它任何应用程序连接并会话,而在这个网络上的所有中间设备不会干扰应用程序之间的信息交换。关于网格,就是把网络上所有的计算机进行整合使其成一台超级计算机,实现计算能力、存储容量、数据和信息资源等全方位的共享。 第四题:交换技术和路由技术的最大区别在于他们寻址的方式以及报文的转发方式上,交换技术是发生在2层也就是数据链路层上,是直接利用mac地址建立会话,路由技术发生在网络层,需要通过ip地址建立路由表,然后进行数据通信。在报文的转发方式上,交换技术是使用先收再转,路由技术是采用边收边转。 vlan的主要特点就是安全,信息只到达应该到达的地点。因此、防止了大部分基于网络监听的入侵手段。通过虚拟网设置的访问控制,使在虚拟网外的网络节点不能直接访问虚拟网内节点。 第五题:放弃(一样的放弃) 第六题:第6代,基于集群系统的路由器(我是这么答的) 依旧是师兄答案- -!基本一致! 1.请你分别划划OSI的七层网络结构图,和TCP/IP的五层结构图? OSI/ISO根据整个计算机网络功能将网络分为:物理层、数据链路层、网络层、传输层、会话层、表示层、应用层七层。也称“七层模型”。 TCP/IP“五层模型”分为:物理层、网络接口层、网络层(IP层)、传输层(TCP/UDP层)、应用层。 2.请你详细的解释一下IP协议的定义,在哪个层上面,主要有什么作用?TCP与UDP呢?

huawei(华为)认证考试题库

GB0-363 Designing Enterprise-level Networks Practice Test QUESTION NO: 1 Which of the following descriptions about dynamic routing protocol is correct? ( ) A. The fundamentals ofRIPng are the same as those of RIP, but RIPng speeds up convergence compared with RIP. B. The packet format of OSPFv3 is the same as that of OSPF, but OSPFv3 can support IPv6. C. MBGP is the unique EGP routing protocol in the IPv6 network. D. IS-ISsupports multiple protocols so that it can support IPv6 without any modification. Answer: C QUESTION NO: 2 We usually do not choose the equipment with key module redundancy to backup at the access layer. And dual-uplink backup should be used instead of dual-system backup. A. True B. False Answer: A QUESTION NO: 3 We usually choose the equipment with key module redundancy to backup at the convergence layer. Dual-uplink backup and dual-system backup should be used. Ring topology can be adopted connecting the convergence layer devices. A. True B. False Answer: A QUESTION NO: 4 The equipment with carrier-class reliability refers to the equipment that supports large capacity, non-stop running, key module redundancy, and high stability. A. True B. False Answer: A Huawei GB0-363: Practice Exam "Pass Any Exam. Any Time." - https://www.doczj.com/doc/bd16950777.html, 2

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

最全的华为校园招聘笔试题 华为笔试 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)在计算机局域网中,常用通信设备有(abd),A、集线器(HUB)B、交换机(Switch) C、调制解调器(Modem)D、路器(Router) 2)线缆标准化工作主要哪一个协会制定? (c) A、OSI B、ITU-T C、EIA D、IEEE 3)802协议族是下面的哪——个组织定义? (c) A、OSI B、EIA C、IEEE D、ANSI )衡量网络性能的两个主要指标为A、带宽B、可信度C、延迟D、距离)局域网区别与其他网络主要体现在以下方面A、网络所覆盖的物理范围B、网络所使用的传输技术C、网络的拓扑结构D、带宽)不会产生单点故障的是下列拓扑结构。A、总线型B、环型C、网状结构D、星形4)数据交换技术包括A、电路交换

B、报文交换 C、分组交换 D、文件交换5)拓扑结构会受到网络中信号反射的影响?A、网型B、总线型C、环型D、星型6)OSI参考模型按顺序有哪些? A、应用层、传输层、数据链路层、网络层、物理层 B、应用层、表示层、会话层、传输层、数据链路层、网络层、物理层 C、应用层、表示层、会话层、传输层、网络层、数据链路层、物理层 D、应用层、表示层、传输层、网络层、数据链路层、物理层7)在OSI七层模型中,网络层的功能有A、确保数据的传输正确无误B、确定数据包如何转发与路 1 C、在信道上传送比特流D、纠错与流控8)在OSI七层模型中,哪一层的实现对数据的加密。A、传输层B、表示层C、应用层D、网络层9)网络层传输的数据叫做A、比特B、包C、段D、帧10)TCP/IP协议栈中传输层的协议有

A、TCP B、ICMP C、 D、IP 11)数据从上到下封装的格式为A、比特包帧段数据B、数据段包帧比特C、比特帧包段数据D、数据包段帧比特12)物理层定义了物理接口的哪些特性?A、机械特性B、电器特性C、功能特性D、接口特性13)细铜轴电缆传输距离达,粗铜轴电缆的传输距离为A、185米B、200米C、500米D、485米)通常在网吧里,LAN 采用的拓扑结构和网线类型为A、总线型和STP B、总线型和UTP C、星形和UTP D、环型和STP )双绞线为什么能代替网络中的细同轴电缆? A、双绞线电缆可靠性高 B、双绞线电缆抗噪性更好 C、细同轴电缆更廉价 D、双绞线电缆更便于安装)在布线时,细缆和粗缆通常应用在拓扑结构中。A、星形B、环形C、树形D、总线)在局域网中,类型的光

华为面试题

华为面试题 Q1:请你分别划划OSI的七层网络结构图,和TCP/IP的五层结构图? Q2:请你详细的解释一下IP协议的定义,在哪个层上面,主要有什么作用? TCP 与UDP呢? Q3:请问交换机和路由器分别的实现原理是什么?分别在哪个层次上面实现的? Q4:请问C++的类和C里面的struct有什么区别? Q5:请讲一讲析构函数和虚函数的用法和作用? Q6:全局变量和局部变量有什么区别?实怎么实现的?操作系统和编译器是怎么知道的? Q7:一些寄存器的题目,主要是寻址和内存管理等一些知识。 Q8:8086是多少尉的系统?在数据总线上是怎么实现的? 华为面试题2 面试题答案 1.请你分别划划OSI的七层网络结构图,和TCP/IP的五层结构图? OSI/ISO根据整个计算机网络功能将网络分为:物理层、数据链路层、网络层、传输层、会话层、表示层、应用层七层。也称“七层模型”。TCP/IP“五层模型”分为:物理层、网络接口层、网络层(IP层)、传输层(TCP/UDP层)、应用层。 2.请你详细的解释一下IP协议的定义,在哪个层上面,主要有什么作用?TCP与UDP呢? IP协议是网络层的协议,它实现了自动路由功能,也就是寻径的功能。TCP协议是传输层的协议,它向下屏蔽了IP协议不可靠传输的特性,向上提供一个可靠的点到点的传输;UDP也是传输层的协议,提供的是一种无连

接的服务,主要考虑到很多应用不需要可靠的连接,但需要快速的传输,如局域网中的计算机传输文件一般使用UDP协议。 3.请问交换机和路由器分别的实现原理是什么?分别在哪个层次上面实现的?交换机用在局域网中,交换机通过记录局域网内各节点机器的MAC地址就可以实现传递报文,无需看报文中的IP 地址。路由器识别不同网络的方法是通过识别不同网络的网络ID号(IP地址的高端部分)进行的`,所以为了保证路由成功,每个网络都必须有一个唯一的网络编号。路由器通过察看报文中IP地址来决定路径,向那个子网(下一跳)路由。也就是说交换机工作在数据链路层看MAC地址,路由器工作在网际层看IP地址。但是由于现在网络设备的发展,很多设备既有交换机的功能有由路由器的功能(交换式路由器)使得两者界限越来越模糊。 4.请问C++的类和C里面的struct 有什么区别? C++的class具有数据封装功能,其包含属性访问级别可以为private,public和protect,还具有实现类接口功能和辅助功能的操作函数,而struct属性访问权限只有public,没有数据封装功能,也就没有实现信息隐藏这一面向对象的思想的机制,struct本身不含有操作函数,只有数据。 5.请讲一讲析构函数和虚函数的用法和作用?析构函数是在类对象死亡时由系统自动调用,其作用是用来释放对象的指针数据成员所指的动态空间,如果在构造函数中,你申请了动态空间,那么为了避免引起程序错误,你必须在析构函数中释放这部分内存空间。如果基类的函数用virtual修饰,成为虚函数,则其派生类相应的重载函数仍能继承该虚函数的性质,虚函数进行动态联编,也即具有多态性,也就是派生类可以改变基类同名函数的行为,在面向对象世界中,多态是最强大的机制,虚函数就是这一机制的c++实现方式。 6.全局变量和局部变量有什么区别?实怎么实现的?操作系统和编译器是怎么知道的?全局变量是整个程序都可访问的变量,谁都可以访问,生存期在整个程序从运行到结束(在程序结束时所占内存释放);而局部变量存在于模块(子程序,函数)中,只有所在模块可以访问,其他模块不可直接访问,模块结束(函数调用完毕),局部变量消失,所占据的内存释放。操作系统和编译器,可能是通过内存分配的位置来知道的,全局变量分配在全局数据段并且在程序开始运行的时候被加载.局部变量则分配在堆栈里面。 7.8086是多少位的系统?在数据总线上是怎么实现的?答:8086的机器字长是16位,8086使用40个引脚的16个做地址/数据复用引腿来传输

华为面试笔试题项目经理

华为非技术(不正经的)面试指南---项目经理篇(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:这里还是要有依据,排名贡献度要有衡量的标准。

华为认证网络工程师考试试题(笔试)及答案讲解

华为认证网络工程师--认证考试试题(笔试)及答案 选择题:(每题2分,共100分) 1、以下属于物理层的设备是(A ) A、中继器 B、以太网交换机 C、桥 D、网关 2、在以太网中,是根据(B )地址来区分不同的设备的。 A、LLC地址 B、MAC地址 C、IP地址 D、IPX地址 3、以下为传输层协议的是(CD ) A、IP B、ICMP C、UDP D、SPX 4、以下对MAC地址描述正确的是(BC ) A、由32位2进制数组成 B、由48位2进制数组成 C、前6位16进制由IEEE负责分配 D、后6位16进制由IEEE负责分配 5、以下属于数据链路层功能的是( CD ) A、定义数据传输速率 B、定义物理地址 C、描述网络拓扑结构 D、流控制 6、IEEE802.3u标准是指(B ) A、以太网 B、快速以太网 C、令牌环网 D、FDDI网 7、如果要将两计算机通过双绞线直接连接,正确的线序是(C ) A、1--1、2--2、3--3、4--4、5--5、6--6、7--7、8--8 B、1--2、2--1、3--6、4--4、5--5、6--3、7--7、8--8 C、1--3、2--6、3--1、4--4、5--5、6--2、7--7、8--8 D、两计算机不能通过双绞线直接连接 8、在V.35和V.24规程中,控制信号RTS表示(D) A、数据终端准备好; B、数据准备好; C、数据载体检测; D、请求发送; E、清除发送。 9、路由器作为网络互连设备,必须具备以下哪些特点。(ABE ) A、至少支持两个网络接口

C、至少支持两种以上的子网协议 D、至少具备一个备份口 E、具有存储、转发和寻径功能 F、一组路由协议 G、必须有较高的协议处理能力 10、路由器的作用有(ABDG) A、异种网络互连 B、子网间的速率适配 C、连接局域网内两台以上的计算机 D、隔离网络,防止网络风暴,指定访问规则(防火墙) E、子网协议转换 F、加快网络报文的传递速度 G、路由(寻径):路由表建立、刷新、查找 H、报文的分片与重组 11、调用上一条历史命令的快捷键是( A ) A、CTRL-P B、CTRL-O C、ALT-P D、ALT-O 12、交换机工作在OSI七层的哪一层?(B) A、一层 B、二层 C、三层 D、三层以上 13、以下对CSMA/CD描述正确的是(A D?? ) A、在数据发送前对网络是否空闲进行检测 B、在数据发送时对网络是否空闲进行检测 C、在数据发送时对发送数据进行冲突检测 D、发生碰撞后MAC地址小的主机拥有发送优先权 14、以下对STORE AND FORW ARD描述正确的是(CE ) A、收到数据后不进行任何处理,立即发送 B、收到数据帧头后检测到目标MAC地址,立即发送 C、收到整个数据后进行CRC校验,确认数据正确性后再发送 D、发送延时较小 E、发送延时较大 15、以下对交换机工作方式描述正确的是(ABD ) A、可以使用半双工方式工作 B、可以使用全双工方式工作 C、使用全双工方式工作时要进行回路和冲突检测 D、使用半双工方式工作时要进行回路和冲突检测 16、VLAN的主要作用有(ACD ) A、保证网络安全 B、抑制广播风暴 C、简化网络管理 D、提高网络设计灵活性 17、在交换机中用户权限分为几个级别(D )

华为面试 笔试题目(附答案)

华为面试/笔试题目(附答案) 陈晓明2010-05-21 15:45:59 要查看更多华为笔经相关信息,请访问华为公司校园招聘club:深圳华为技术有限公司 (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 *str 6 = "abc"; char *str7 = "abc"; char *str8 = "abc"; cout (y)?(y):(x)) //结尾没有…;? (10)嵌入式系统中经常要用到无限循环,你怎么用c编写死循环。答案:while(1){}或者for(;;) (11)关键字static的作用是什么?答案:定义静态变量 (12)关键字const有什么含意?答案:表示常量不可以修改的变量。 (13)关键字volatile有什么含意?并举出三个不同的例子?答案:提示编译器对象的值可能在编译器未监测到的情况下改变。 (14)int (*s[10])(int) 表示的是什么啊?答案:int (*s[10])(int) 函数指针数组,每个指针指向一个int func(int param)的函数。 (15)有以下表达 式: int a=248; b=4;int const c=21;const int *d=&a; int *const e=

华为数通网上试题库完整

二:判断(10分) 1、RIP协议使用UDP端口521。(×) 2、如果忘记配置OSPF的router id,则设备缺省下的router id为Loopback最大的地址;如 果没有配置Loopback地址,则router id为数值最小的物理接口地址。(×) 3、RIP版本1是一种有类路由选择协议。(√) 4、在OSPF中,以太接口的网络类型只能为broadcast ( × ) 5、ISIS协议中,如果有优先级更高的路由器出现,DIS会重新选举 ( √ ) 6、如果互联的两个接口的MTU值不一样,则OSPF邻居一定不能建立 ( × ) 7、OSPF发布缺省路由时本地路由表必须先存在缺省路由 (× ) 8、路由聚合可以减轻路由震荡给网络带来的影响 ( √ ) 9、IBGP和EBGP是两种不同的路由协议。(×) 802.1Q以太网帧要比普通的以太网帧多4个字节。(√) 华为数通网上题库 一:交换机 一、填空题: 1、S9300系列交换机具体包括 S9303 、 S9306 、 S9312 三种型号。 2、S9300交换机支持ERSPAN,即可以在镜像报文上添加GRE封装头,路由转发到远端设备。 3、S9300支持增强的VRRP技术,可以提高VRRP的倒换时间达到 50 ms。 4、S8500交换机普通业务板分为B、C、D三类,它们对ACL的支持情况是B类单板不支持全局下发ACL,C类和D类单板才支持全局下发ACL 5、S8500系列交换机支持的最大带宽接口为 10 GE。 6、S8505的槽位数一共有 7 个,主控板可插在__0_槽或__1__槽 7、S8512支持___14__个槽位,其中6、7槽位为主控板槽位,其余均为业务槽位。 8、S6500产品硬件部分主要包括__机箱_或风扇__、___电源__、____背板_、__单板___四部分。 9、S6506交换机共有__7___个槽位,其中主控板在___0___槽位。 10、S6506整机最大功耗为___550____W。 11、S7800系列交换机共有S7802、S7803、S7806、S7806-V、S7810五种型号。 12、S7803共有__5__个槽位,其中主控板有__2__个槽位。 13、S7803交换容量为____480G,S7806交换容量为____768 G。 14、S7806最大包转发能力为488M pps,S7810最大可达773M pps。 15、S7810整机最大支持的GE端口为480个,最大10G端口数量为___24____个。 16、S7800交换机的二层特性对MAC地址最大支持___128___K。 17、S3526交换机同时最大支持____16____条路由。 二、判断题: 1、在S8505上实现MPLS L3VPN混插业务时,做基于IP过滤的重定向配置,重定向的目的端口必须是mx类型端口。(√)

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