`
kumkl74x
  • 浏览: 16451 次
最近访客 更多访客>>
社区版块
存档分类
最新评论

一些Java就业面试题总结

 
阅读更多

一些Java就业面试题总结
2011年04月15日
  基础部分的顺序:基本语法,类相关的语法,内部类的语法,继承相关的语法,异常的语法,线程的语法,集合的语法,io 的语法,虚拟机方面的语法
  1、一个".java"源文件中是否可以包括多个类(不是内部类)?有什么限制?
  可以有多个类,但只能有一个public的类,并且public的类名必须与文件名相一致。
  2.Java有没有goto?
  java中的保留字,现在没有在java中使用。
  3、说说&&&的区别。
  &&&都可以用作逻辑与的运算符,表示逻辑与(and),当运算符两边的表达式的结果都为true时,整个运算结果才为true,否则,只要有一方为false,则结果为false
  &&还具有短路的功能,即如果第一个表达式为false,则不再计算第二个表达式,例如,对于if(str != null && !str.equals(""))表达式,当strnull时,后面的表达式不会执行,所以不会出现NullPointerException如果将&&改为&,则会抛出NullPointerException异常。If(x==33 & ++y>0) y会增长,If(x==33 && ++y>0)不会增长
  &还可以用作位运算符,当&操作符两边的表达式不是boolean类型时,&表示按位与操作,我们通常使用0x0f来与一个整数进行&运算,来获取该整数的最低4bit位,例如,0x31 & 0x0f的结果为0x01
    备注:这道题先说两者的共同点,再说出&&&的特殊之处,并列举一些经典的例子来表明自己理解透彻深入、实际经验丰富。
  4.用最有效率的方法算出2乘以8等于几? 2 内存中所存储的数值是否相同,要比较两个基本类型的数据或两个引用变量是否相等,只能用==操作符。
  如果一个变量指向的数据是对象类型的,那么,这时候涉及了两块内存,对象本身占用一块内存(堆内存),变量也占用一块内存,例如Objet obj = new Object();变量obj是一个内存,new Object()是另一个内存,此时,变量obj所对应的内存中存储的数值就是对象占用的那块内存的首地址。对于指向对象类型的变量,如果要比较两个变量是否指向同一个对象,即要看这两个变量所对应的内存中的数值是否相等,这时候就需要用==操作符进行比较。
  equals方法是用于比较两个独立对象的内容是否相同,就好比去比较两个人的长相是否相同,它比较的两个对象是独立的。例如,对于下面的代码:
  String a=new String("foo");
  String b=new String("foo");
  两条new语句创建了两个对象,然后用a,b这两个变量分别指向了其中一个对象,这是两个不同的对象,它们的首地址是不同的,即ab中存储的数值是不相同的,所以,表达式a==b将返回false,而这两个对象中的内容是相同的,所以,表达式a.equals(b)将返回true
  在实际开发中,我们经常要比较传递进行来的字符串内容是否等,例如,String input = …;input.equals("quit"),许多人稍不注意就使用==进行比较了,这是错误的,随便从网上找几个项目实战的教学视频看看,里面就有大量这样的错误。记住,字符串的比较基本上都是使用equals方法。
  如果一个类没有自己定义equals方法,那么它将继承Object类的equals方法,Object类的equals方法的实现代码如下:
  boolean equals(Object o){
  return this==o;
  }
  这说明,如果一个类没有自己定义equals方法,它默认的equals方法(从Object 类继承的)就是使用==操作符,也是在比较两个变量指向的对象是否是同一对象,这时候使用equals和使用==会得到同样的结果,如果比较的是两个独立的对象则总返回false。如果你编写的类希望能够比较该类创建的两个实例对象的内容是否相同,那么你必须覆盖equals方法,由你自己写代码来决定在什么情况即可认为两个对象的内容是相同的。
  6.BSCS的联系与区别。
  C/SClient/Server的缩写。服务器通常采用高性能的PC、工作站或小型机,并采用大型数据库系统,如OracleSybaseInFORMix SQL Server。客户端需要安装专用的客户端软件。
  B/S是Brower/Server的缩写,客户机上只要安装一个浏览器(Browser),如Netscape NavigatorInternet Explorer,服务器安装OracleSybaseInFORMix SQL Server等数据库。在这种结构下,用户界面完全通过WWW浏览器实现,一部分事务逻辑在前端实现,但是主要事务逻辑在服务器端实现。浏览器通过Web Server 同数据库进行数据交互。
  C/S B/S 区别:
  1.硬件环境不同
   C/S 一般建立在专用的网络上, 小范围里的网络环境, 局域网之间再通过专门服务器提供连接和数据交换服务
   B/S 建立在广域网之上的, 不必是专门的网络硬件环境,例与电话上网, 租用设备. 信息自己管理. 有比C/S更强的适应范围, 一般只要有操作系统和浏览器就行
  2.对安全要求不同
   C/S 一般面向相对固定的用户群, 对信息安全的控制能力很强. 一般高度机密的信息系统采用C/S 结构适宜. 可以通过B/S发布部分可公开信息
   B/S 建立在广域网之上, 对安全的控制能力相对弱, 可能面向不可知的用户。
  3.对程序架构不同
   C/S 程序可以更加注重流程, 可以对权限多层次校验, 对系统运行速度可以较少考虑
   B/S 对安全以及访问速度的多重的考虑, 建立在需要更加优化的基础之上. C/S有更高的要求 B/S结构的程序架构是发展的趋势, MS.Net系列的BizTalk 2000 Exchange 2000, 全面支持网络的构件搭建的系统. SUN IBM推的JavaBean 构件技术等,使 B/S更加成熟
  4.软件重用不同
   C/S 程序可以不可避免的整体性考虑, 构件的重用性不如在B/S要求下的构件的重用性好
   B/S 对的多重结构,要求构件相对独立的功能. 能够相对较好的重用.就入买来的餐桌可以再利用,而不是做在墙上的石头桌子
  5.系统维护不同   
   C/S 程序由于整体性, 必须整体考察, 处理出现的问题以及系统升级. 升级难. 可能是再做一个全新的系统
   B/S 构件组成,方面构件个别的更换,实现系统的无缝升级. 系统维护开销减到最小.用户从网上自己下载安装就可以实现升级
  6.处理问题不同
   C/S 程序可以处理用户面固定, 并且在相同区域, 安全要求高需求, 与操作系统相关. 应该都是相同的系统
   B/S 建立在广域网上, 面向不同的用户群, 分散地域, 这是C/S无法作到的. 与操作系统平台关系最小
  7.用户接口不同
   C/S 多是建立的Window平台上,表现方法有限,对程序员普遍要求较高
   B/S 建立在浏览器上, 有更加丰富和生动的表现方式与用户交流. 并且大部分难度减低,减低开发成本
  8.信息流不同
   C/S 程序一般是典型的中央集权的机械式处理, 交互性相对低
   B/S 信息流向可变化, B-B B-C B-G等信息、流向的变化, 更像交易中心。
      7. Integerint的区别
  intjava提供的8种原始数据类型之一。Java为每个原始类型提供了封装类,Integerjavaint提供的封装类。int的默认值为0,而Integer的默认值为null,即Integer可以区分出未赋值和值为0的区别,int则无法表达出未赋值的情况,例如,要想表达出没有参加考试和考试成绩为0的区别,则只能使用Integer。在JSP开发中,Integer的默认为null,所以用el表达式在文本框中显示时,值为空白字符串,而int默认的默认值为0,所以用el表达式在文本框中显示时,结果为0,所以,int不适合作为web层的表单数据的类型。
  Hibernate中,如果将OID定义为Integer类型,那么Hibernate就可以根据其值是否为null而判断一个对象是否是临时的,如果将OID定义为了int类型,还需要在hbm映射文件中设置其unsaved-value属性为0
  另外,Integer提供了多个与整数相关的操作方法,例如,将一个字符串转换成整数,Integer中还定义了表示整数的最大值和最小值的常量。
  8.
  作用域public,private,protected,以及不写时的区别。 作用域
   当前类
  同一package
  子孙类
  其他package public private protected 不写(默认)
  
  
  
    注:具有访问权限的写"是",不具有访问权限的写"否"。
  9.
    OverloadOverride的区别。Overloaded的方法是否可以改变返回值的类型
  Overload是重载的意思,Override是覆盖的意思,也就是重写。
  重载Overload表示同一个类中可以有多个名称相同的方法,但这些方法的参数列表各不相同(即参数个数或类型不同)。
  重写Override表示子类中的方法可以与父类中的某个方法的名称和参数完全相同,通过子类创建的实例对象调用这个方法时,将调用子类中的定义方法,这相当于把父类中定义的那个完全相同的方法给覆盖了,这也是面向对象编程的多态性的一种表现。子类覆盖父类的方法时,只能比父类抛出更少的异常,或者是抛出父类抛出的异常的子异常,因为子类可以解决父类的一些问题,不能比父类有更多的问题。子类方法的访问权限只能比父类的更大,不能更小。如果父类的方法是private类型,那么,子类则不存在覆盖的限制,相当于子类中增加了一个全新的方法。
  至于Overloaded的方法是否可以改变返回值的类型这个问题,要看你倒底想问什么呢?这个题目很模糊。如果几个Overloaded的方法的参数列表不一样,它们的返回者类型当然也可以不一样。但我估计你想问的问题是:如果两个方法的参数列表完全一样,是否可以让它们的返回值不同来实现重载Overload。这是不行的,我们可以用反证法来说明这个问题,因为我们有时候调用一个方法时也可以不定义返回结果变量,即不要关心其返回结果,例如,我们调用map.remove(key)方法时,虽然remove方法有返回值,但是我们通常都不会定义接收返回结果的变量,这时候假设该类中有两个名称和参数列表完全相同的方法,仅仅是返回类型不同,java就无法确定编程者倒底是想调用哪个方法了,因为它无法通过返回结果类型来判断。
    override可以翻译为覆盖,从字面就可以知道,它是覆盖了一个方法并且对其重写,以求达到不同的作用。对我们来说最熟悉的覆盖就是对接口方法的实现,在接口中一般只是对方法进行了声明,而我们在实现时,就需要实现接口声明的所有方法。除了这个典型的用法以外,我们在继承中也可能会在子类覆盖父类中的方法。在覆盖要注意以下的几点:
  1、覆盖的方法的标志必须要和被覆盖的方法的标志完全匹配,才能达到覆盖的效果;
  2、覆盖的方法的返回值必须和被覆盖的方法的返回一致;
  3、覆盖的方法所抛出的异常必须和被覆盖方法的所抛出的异常一致,或者是其子类;
  4、被覆盖的方法不能为private,否则在其子类中只是新定义了一个方法,并没有对其进行覆盖。
  overload对我们来说可能比较熟悉,可以翻译为重载,它是指我们可以定义一些名称相同的方法,通过定义不同的输入参数来区分这些方法,然后再调用时,VM就会根据不同的参数样式,来选择合适的方法执行。在使用重载要注意以下的几点:
  1、在使用重载时只能通过不同的参数样式。例如,不同的参数类型,不同的参数个数,不同的参数顺序(当然,同一方法内的几个参数类型必须不一样,例如可以是fun(int,float),但是不能为fun(int,int));
  2、不能通过访问权限、返回类型、抛出的异常进行重载;
  3、方法的异常类型和数目不会对重载造成影响;
  4、对于继承来说,如果某一方法在父类中是访问权限是priavte,那么就不能在子类对其进行重载,如果定义的话,也只是定义了一个新方法,而不会达到重载的效果。
    10.TCPUDP的区别。
  TCP:传输控制协议,提供的是面向链接、可靠的字节流服务。当客户和服务器彼此交换数据之前,必须现在双方之间建立一个TCP链接,之后才能传输数据。TCP提供超时重发,丢弃重复数据,检验数据,流量控制等功能,保证数据能从一端传到另一端。UDP是用户数据协议,是一个简单的面向数据报的运输层协议。UDP不提供可靠性,它只是把应用程序传给IP层的数据报发送出去,但是并不能保证它们能到达目的地。用于UDP在传输数据报前不用在客户和服务器之间建立一个连接,且没有超时重发等机制,故而传输速度很快,UDPTCP的主要区别在于UDP不一定提供可靠的数据传输。事实上,该协议不能保证数据准确无误的到达目的地。UDP在许多方面非常有效。当某个程序的目标是尽快的传输尽可能多的信息是(其中任意给定数据的重要性相对较低),可使用UDP.ICQ短消息使用UDP协议发送消息。许多程序将使用单独的TCP链接和单独的UDP链接。重要的状态信息随可靠的TCP链接发送,而主要数据通过UDP发送。 1、环境变量pathclasspath的作用是什么?(5分)
    :.PATH变量用于列出可执行文件的搜索路径.因为要通过命令行的命令启JAVA,JAVAC等编译工具和解释工具,系统必须要知道他们所在位置,PATH则指明了其位置.CLASSPATH变量用于JAVA加载类的路径.只有在classpath设置的路径中的类才能被加载.
    2、编写程序计算1+2+3+....+100的和。(10分)
    答:Num.javapublic class Num{public static void main(String[] args){    int sum = 0;    for(int i=1;i [/b][b]HTML注册表单[/b][b][/b][b]用户名:
密码 
确认密码:
性别:[/b][b]男[/b][b]女
城市: [/b][b]郑州[/b][b]上海[/b][b]天津[/b][b]深圳[/b][b]
兴趣爱好:阅读        [/b][b]旅游        [/b][b]上网个人简介
      [/b][b]       [/b][b]
  使用JavaScript验证第9题的HTML表单. 用户名: 必须是字母数字或下划线, 不能以数字开头. 密码: 6-16位字母数字下划线. 确认密码: 和密码一致. 其他项为必填。(选做题 20)
    答:
  function sub (){   
   if(!(/^[a-zA-Z_]{1}[a-zA-Z_0-9]*$/.test(form.usern ame.value))){   
    alert("用户名必须是字母数字或下划线, 不能以数字开头!");   
    return false;   
   }else if(!(/[a-zA-Z_0-9]{6,16}/.test(form.password.value ))){   
   alert("密码 6-16位字母数字下划线!");   
    return false;   
   }else if(form.repassword.value != form.password.value){   
   alert("两次输入密码应一致!");   
   return false;   
  }else if(form.sex[0].checked==false && form.sex[1].checked==false){   
    alert("性别不能为空!");  
    return false;    
   }else if(form.city. checked == false){   
    alert("城市不能为空!");   
    return false;   
   }   
  else if(form.read.checked == false && form.travel.checked == false && form.Internet.checked == false){   
    alert("兴趣爱好不能为空!");   
    return false;   
   }   
   else if(form. readme. checked == false){   
    alert("个人简介不能为空!");    
    return false;   
   }    
   else{    
    return true;     
   }   
  }     
    
      .阐述一下你对MVC的理解。
  Mmodel 也就是模型
  V:  view 也就是视图
  Ccontrol 也就是控制 JAVA中如何跳出当前的多重嵌套循环?
  可以在外面的循环语句前定义一个标号,然后在里层循环体的代码中使用带有标号的break 语句,即可跳出外层循环。例如,
  ok: for(int i=0;i循环条件表达式的结果可以受到里层循环体代码的控制,例如,要在二维数组中查找到某个数字。
  int arr[][] = {{1,2,3},{4,5,6,7},{9}};
  boolean found = false;
  for(int i=0;i<arr.length && !found;i++)
  {
             for(int j=0;j<arr[i].length;j++)
             {
                      System.out.println("i=" + i + ",j=" + j);
                      if(arr[i][j] == 5) 
                      {
                               found = true;
                               break;
                      }
             }
     
分享到:
评论

相关推荐

    java面试题大全(网上能搜到的所有面试题)

    张孝祥整理Java就业面试题大全.doc 应届生应聘技术工作的面试技巧(来自培训机构多年经验总结).ppt sql面试题.doc JAVA面试题解惑系列.pdf Java面试题大全.pdf java面试题及答案(基础题122道,代码题19道).doc Java...

    Java就业面试题大全

    Java就业面试题大全 人们在时间面前是平等的,吾生也有涯,所以,你的经验更丰富点,那不算什么,经验是用时间积累的,你一生只有那么多时间,你能积累多少经验呢?最重要的是你的学习能力和学习方法,这个发挥的...

    Java就业笔试面试题总结

    从9月份开始找工作,到10月份找到工作,期间经历的无数公司,笔试、面试无数次,想总结一些题,给想找工作的人一点经验

    名师整理Java就业面试题大全

    名师整理Java就业面试题大全.写的比较好。总结的相当好,很经典。对大家就业有很大的帮助。

    传智播客Java就业面试题大全

    传智播客总结的java面试题,对于找工作的同学可以去看看

    java面试笔试题库java学习笔记开发教程互联网公司面试资料大全合集.zip

    Java面试题以及答案(小生).pdf java面试题(题库全).doc JS 数据库答案.doc Land.the.Tech.Job.You.Love-人人都有好工作—IT行业求职面试必读.pdf Linux命令大全完整版.doc sql查询语句练习.doc Web服务器的工作...

    张孝祥正在整理Java就业面试题大全

    最重要的是你的学习能力和学习方法,这个发挥的能量可以有很大差异,要提高学习能力和学习方法首先要学会思考和总结,要学会掌握事物的根本性的东西,而不是一些表面的细节。学习方法和学习能力对于IT工作者来说尤为...

    java面试与笔试资料收集

    Core Java技术面试, java_web试题 java笔试题大集合及答案 java经典面试题 java面试题及答案(基础题122道,代码题19道) ...张孝祥正在整理Java就业面试题大全(结业版) 最终JAVA面试题目汇总 java笔试汇总

    java面试笔试题库java软件设计java笔试题大集合及答案文档资料合集300MB.zip

    大公司最喜欢问的Java集合类面试题.docx 大公司的Java面试题集.doc 就业相关java 广州传智播客JavaEE工程师测试题.doc 广州传智播客JavaEE工程师测试题(带答案的).doc 应聘时最漂亮的回答.docx 当面试官问「你有...

    java面试题以及技巧

    │ 上海税友软件 面试题.doc │ 公司培训文档-混淆的基本概念.doc │ 基本算法.doc │ 孙卫琴精通struts.基于MVC的.java.web设计与开发.pdf │ 学习Struts提供的和Form相关标签.txt │ 日企编码规范.doc │ 电信盈科...

    java面试笔试资料java笔试题大集合及答案题库java笔试题汇总资料188个合集.zip

    Java面试题以及答案(小生).pdf java面试题(题库全).doc JS 数据库答案.doc Land.the.Tech.Job.You.Love-人人都有好工作—IT行业求职面试必读.pdf Linux命令大全完整版.doc sql查询语句练习.doc Web服务器的工作...

    java就业经典面试题

    绝对经典的面试题,牛人总结,会了这些,java笔试轻松通过!!刚毕业的大学生有木有!!!想实习的大三学生有木有!!!

    Java就业面试实用大全

    总结很多人的面试题,是一套很全面的Java面试题

    java面试题及技巧4

    │ 上海税友软件 面试题.doc │ 公司培训文档-混淆的基本概念.doc │ 基本算法.doc │ 孙卫琴精通struts.基于MVC的.java.web设计与开发.pdf │ 学习Struts提供的和Form相关标签.txt │ 日企编码规范.doc │ 电信盈科...

    java就业常见面试题

    本文总结了java专业学生在面试过程中公司经常问到的面试题库,内容丰富,针对性强。

    java面试题及技巧3

    │ 上海税友软件 面试题.doc │ 公司培训文档-混淆的基本概念.doc │ 基本算法.doc │ 孙卫琴精通struts.基于MVC的.java.web设计与开发.pdf │ 学习Struts提供的和Form相关标签.txt │ 日企编码规范.doc │ 电信盈科...

    张孝祥java就业面试宝典

    关于张孝祥总结的一些面试题供大家参考,包括大家常犯的错误,面试常提到的问题。

    java面试题以及技巧6

    │ 上海税友软件 面试题.doc │ 公司培训文档-混淆的基本概念.doc │ 基本算法.doc │ 孙卫琴精通struts.基于MVC的.java.web设计与开发.pdf │ 学习Struts提供的和Form相关标签.txt │ 日企编码规范.doc │ 电信盈科...

    Java面试宝典(张孝祥)

    张老师总结的常见面试题.很全面.很详细.

Global site tag (gtag.js) - Google Analytics