前端面试题目future network

来源:互联网 发布:c gui qt 4编程 源码 编辑:程序博客网 时间:2024/05/29 18:25
-、选择题
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);
}
}
请选出上述的输出结果:【A】
(A)1234
(B)welcome
(C)Comiplation fails.
(D)An exception is thrown at runtime.
解析:

changeStr调用时,参数是进去了,但在changeStr中,私有变量str="welcome";,然后并没有返回变量,于是调用时的str并没有改变,还是原来的值。

2.public class Test {  
    static boolean foo(char c) {  
        System.out.print(c);  
        return true;  
    }  
    
    public static void main(String[] args) {  
        int i=0;  
         
        for(foo('A');foo('B')&&(i<2);foo('C')) {
               i++;  
               foo('D');  
        }  
    }  
  }
请选出上述的输出结果【A】

A.ABDCBDCB
B.ABCDABCD
C.Compilation fails.
D.An exception is thrown at runtime.

解析:

1.其实foo('A');就是初始化条件,只会执行一次,所以第一个打印的肯定是A
2.因为i=0;循环条件是i<2(由此可知循环i等于2的时候就会停止循环,)所有0<2满足条件,接着会输出B,然后执行i++;i就变成1了,在输出D
,在最后输出C,
一次循环后的结果是:ABDC
3.第二次循环的开始是foo('A');是初始条件所以不会执行,直接从foo('B')开始,输出B,然后i为1,且小于2,此时循环体内再次执行i++;i的值为2了,再次输出D,最后输出C
第二次循环输出:BDC
4.然后循环再次执行for(foo('A');foo('B')&&(i<2);foo('C'))
直接输出B,i的值在第二轮循环后的值变成了2,2<2不成立,终止循环,输出B
最后答案为:ABDCBDCB

3.
class A {
  protected int method1(int a, int b) { return 0;}
 }
下面哪两个选项是正确的继承classA的方式? (Choose two)【A,C】
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; }
这个题目选AC。理由是:
A是覆盖。
C是重载。B:子类的可见权限不能比父类低。(可见权限从高到低为public, protected, private);
D:如果认为是覆盖的话,返回值不一样;如果认为是重载的话,参数又完全一样。这样是不行的。
E:静态方法和实例方法完全一样,也是不行的,静态方法不能够覆盖实例方法。假如子类叫AChild,在编译的时候会报错:

4.public class Outer{
public void someOuterMethod() {
// Line 3
}
public class Inner{}
public static void main( String[]argv ) {
Outer o = new Outer();
// Line 8
}
}
下面哪个是Inner类的实例【A】
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//

解析:
B newInner()在第八行是错的,因为main方法是一个static方法,只能由静态类型调用,也就是类名.方法名这样调用
C是错的,因为Inner是一个内部类,并不是一个方法,对象.方法()才行,没有对象.类名这个用法.
D是错的也是没这个语法,JAVA中没有类名.类名的语法
只能选A,Outer类可以看到自己的内部类,所以虽然内部类在someOuterMethod()方法后面,仍然可以在其内部实例化。

5.在javascript中,以下哪条语句会产生运行错误【A】
A.var obj=( );
B.var obj=[ ];
C.var obj={ };
D.var obj=/ /;

解析:
A. var obj = (); 没这种语法
D. var obj = //; “;”被注释,导致语句没有结束

7. 以下哪个单词不属于javascript保留字:(b)
A.with
B.parent
C.class
D.void

8.javascript语法中,请选择结果为真的表达式(C)
A.null instanceof Object(if(!(null instanceof Object))是真的)
B.null === undefined
C.null == undefined
D.NaN == NaN

9.foo对象有att属性,那么获取att属性的值,以下哪些做法是可以的:(ACE)
A.foo.att
B.foo(“att”)
C.foo[“att”]
D.foo{“att”}
E.foo[“a”+”t”+”t”]

二、问答题
1.JavaScript包括哪些数据类型?
 Number 数字类型
 String 字符串类型
 Boolean 布尔类型
 Function 函数
 Object 对象
 Null
 Undefined 没有定义类型


2.divcss的布局较table布局有什么优点?
采用CSS+DIV对网站重构日趋被大家重视起来了,尤其是大型站点,现在你随便打开一个大型门户网站,看看源文件就可以知道是否为div+css构架了,其实,在之前很多人做网页都是使用table表格嵌套,但是随着web2.0、web3.0的不断发展,这种以表格嵌套的方式已经被DIV+CSS逐步取代了,未来网页设计肯定朝着div+css的方向发展。采用CSS+DIV进行网页相对与传统的TABLE网页布局而具有以下几个显着优势:
1、表现和内容相分离 将设计部分单独分离出来放在一个独立样式文件中,HTML文件中只存放文本信息。
2、提高搜索引擎对网页的索引效率利用只包含结构化内容的HTML代替嵌套的标签,搜索引擎将更有效地搜索到你的网页内容,并可能给你一个较高的评价。
3、提高页面浏览速度对于同一个页面的视觉效果,采用CSS+DIV重构的页面容量要比TABLE编码的页面文件容量小得多,前者一般只有後者的1/2大小。
4、易于维护和改版 只要简单的修改几个CSS文件就可以重新设计整个网站的页面。


3.请写出jQuery绑定事件的方法,不少于两种。
以click事件为例,jQuery中绑定事件有三种方法:
(1)target.click(function(){});
(2)target.bind("click",function(){});
(3)target.live("click",function(){});
第一种方法很好理解,其实就和普通JS的用法差不多,只是少了一个on而已
第二、三种方法都是绑定事件,但是二者又有很大的不同,下面着重讲解一下,因为这个如果用到Jquery的框架的话是用的挺多的,尤其要注意二者的区别。

4.请写出jQuery异步请求的方法,不少于两种
选择异步请求的方式,常用的有三种,如$.ajax()、$.post()、$.get()。
其中$.ajax允许get/post两种请求方式,$.get()只允许get请求,$.post()只允许post请求方式。
异步请求所需要的常用要素:
a、url (访问url)  b、dataType(数据传输方式)  c、success成功之后的回调函数。
$.ajax使用示范代码(由于异步请求的参数较多,实例只是常用参数,下同)。
设接口url
var url='/test/test.do';  //下面的实例代码都用此访问接口url

$.ajax({
    url:url,
    dataType:'text',
    type : "POST",
    success: function(data){
              (请求成功之后的前端处理代码)
      }
});

$.post使用示范代码:
$.post(url, { name: "John", time: "2pm"},   function(data){
        ;
 },'text');

$.get使用实例代码:
$.get(url, { name: "John", time: "2pm" }, function(data){
 ;
 });

5.面对用户越来越高的UI要求,你会选择什么UI技术去架构一个Web应用程序(不考虑周期和成本)
 UI部分是展现给客户的部分,它要求简单的操作流程,炫目的表现形式,.NET中有siverlight,java中有JavaFx,Adobe有flex,各有各的优缺点,如果让我选择,我选择flex+java来架构我的软件。

经典JAVA面试题及答案
0 0