`
daisy8564
  • 浏览: 77230 次
  • 性别: Icon_minigender_2
  • 来自: 北京
社区版块
存档分类
最新评论

java笔试题收集(更新中……)

    博客分类:
  • JAVA
阅读更多
1.怎么处理ajax的缓存?

ajax缓存:当再次请求同一url时,浏览器会直接取出缓存里的内容返回,而不向服务器端发送请求.这只有在提交方式使用get时才会发生,解决方法是在url后面加上一个参数来告诉浏览器这是一个新的请求,通常可以用new Date()来生成时间戳.而post方式提交每次都会向服务器发送请求,不要考虑缓存.

Ajax缓存  在控制层 返回到页面前添加
response.setHeader("Cache-Control","no-cache");
response.setHeader("Pragma","no-cache");

2.struts的启动流程?

流程:
¤     客户请求匹配Action URI 样式的路径。
¤     容器将请求传递给ActionServlet。
¤     如果这个是模块化应用,ActionServlet 选择响应的模块。
¤     ActionServlet 查询路径的映射。
¤     如果映射标明了一个form bean,ActionServlet 看是否已经有一个实例,或者创建一个新的实例。如果已经有一个form bean,ActionServlet 重设它,并根据HTTP请求重新组装它。
¤     如果 mapping 的 validate 属性设置为 true, 它将调用 form bean 的validate 方法。
¤     如果失败,Servlet 将控制转发到input 属性标明的路径,控制流终止。
¤     如果mapping 标明一个Action 类型,如果它已经存在或已经实例化,它将被重用。
¤     Action的perform 或 execute 方法被调用,并传递一个实例化的form bean (或者 null)。
¤     Action 可以组装form bean, 调用业务对象,以及其他需要做的事情。
¤     Action 返回一个ActionForward 给ActionServlet。
¤     如果ActionForward 指向另一个 Action URI,重新开始; 否则,显示页面或者其他资源,流程结束。

3.2个字符串比较大小?如:String str1="a"; String str2="b";

4.abstract class Something {
   private abstract String doSomething ();
}

该段代码有错吗?

答案: 错。abstract的methods不能以private修饰。abstract的methods就是让子类implement(实现)具体细节的,怎么可以用private把abstract
method封锁起来呢? (同理,abstract method前不能加final)。

5.看看下面的代码段错在哪里?

public class Something {
   void doSomething () {
       private String s = "";
       int l = s.length();
   }
}

答案: 错。局部变量前不能放置任何访问修饰符 (private,public,和protected)。final可以用来修饰局部变量
(final如同abstract和strictfp,都是非访问修饰符,strictfp只能修饰class和method而非variable)。

6. 下面该段代码是否有错,若是有错错在哪里?
abstract class Name {
   private String name;
   public abstract boolean isStupidName(String name) {}
}

答案: 错。abstract method必须以分号结尾,且不带花括号。

7.Collection 和 Collections的区别?
Collection是集合类的上级接口,继承与他的接口主要有Set 和List.
Collections是针对集合类的一个帮助类,他提供一系列静态方法实现对各种集合的搜索、排序、线程安全化等操作。

8.Overload和Override的区别?
方法的重写Overriding和重载Overloading是Java多态性的不同表现。重写Overriding是父类与子类之间多态性的一种表现,重载Overloading是一个类中多态性的一种表现。如果在子类中定义某方法与其父类有相同的名称和参数,我们说该方法被重写 (Overriding)。子类的对象使用这个方法时,将调用子类中的定义,对它而言,父类中的定义如同被"屏蔽"了。如果在一个类中定义了多个同名的方法,它们或有不同的参数个数或有不同的参数类型,则称为方法的重载(Overloading)。Overloaded的方法是可以改变返回值的类型

9.abstract的method是否可同时是static,是否可同时是native,是否可同时是synchronized?
都不能

10.4棵树,怎么栽让他们两棵树之间的距离相等
4个等边三角形

11.Error与Exception有什么区别?
Error表示系统级的错误和程序不必处理的异常,
Exception表示需要捕捉或者需要程序进行处理的异常。

12.谈谈final, finally, finalize的区别
final—修饰符(关键字)如果一个类被声明为final,意味着它不能再派生出新的子类,不能作为父类被继承。因此一个类不能既被声明为 abstract的,又被声明为final的。将变量或方法声明为final,可以保证它们在使用中不被改变。被声明为final的变量必须在声明时给定初值,而在以后的引用中只能读取,不可修改。被声明为final的方法也同样只能使用,不能重载。
  finally—再异常处理时提供 finally 块来执行任何清除操作。如果抛出一个异常,那么相匹配的 catch 子句就会执行,然后控制就会进入 finally 块(如果有的话)。
  finalize—方法名。Java 技术允许使用 finalize() 方法在垃圾收集器将对象从内存中清除出去之前做必要的清理工作。这个方法是由垃圾收集器在确定这个对象没有被引用时对这个对象调用的。它是在 Object 类中定义的,因此所有的类都继承了它。子类覆盖 finalize() 方法以整理系统资源或者执行其他清理工作。finalize() 方法是在垃圾收集器删除对象之前对这个对象调用的。

13.Anonymous Inner Class (匿名内部类) 是否可以extends(继承)其它类,是否可以implements(实现)interface(接口)?

匿名的内部类是没有名字的内部类。不能extends(继承) 其它类,但一个内部类可以作为一个接口,由另一个内部类实现。

14.用1、2、2、3、4、5这六个数字,用java写一个main函数,
打印出所有不同的排列,如:512234、412345等,要求:"4"不能在第三位,
"3"与"5"不能相连。

import java.util.ArrayList;      
import java.util.List;      
     
public class GetAll {      
 List list=new ArrayList();      
 public GetAll(){      
  list.add("22");      
 }      
 public void AllOrder(String str){      
  List listlin=new ArrayList();      
  for(int i=0;i<list.size();i++){      
   String nstr=(String )list.get(i);      
   nstr=str+nstr;      
   String cmpstr=nstr;      
   listlin.add(nstr);      
   nstr=ChangeStr(nstr);      
   while(!cmpstr.equals(nstr)){      
    listlin.add(nstr);      
    nstr=ChangeStr(nstr);      
   }      
  }      
  list.clear();      
  list.addAll(listlin);      
 }      
       
 public void OutAll(){      
  //过虑      
  for(int j=0;j<list.size();j++){      
   String outstr=(String)list.get(j);      
   if((outstr.indexOf("3")+1==outstr.indexOf("5")) || (outstr.indexOf("3")-1==outstr.indexOf("5"))||(outstr.indexOf("4")==2))      
                    continue;      
             System.out.println("-----------"+outstr);      
         
  }      
 }      
 public String ChangeStr(String str){      
  char arr[]=str.toCharArray();      
  char first=arr[0];      
  str=str.substring(1,str.length())+first;      
  return str;      
 }      
 public static void main(String args[]){      
  GetAll getall=new GetAll();      
  getall.AllOrder("1");      
  getall.AllOrder("3");      
  getall.AllOrder("4");      
  getall.AllOrder("5");      
  getall.OutAll();      
 }      
} 


15.看看下面这个代码段是否有错?

interface  A{
   int x = 0;
}
class B{
   int x =1;
}
class C extends B implements A {
   public void pX(){
      System.out.println(x);
   }
   public static void main(String[] args) {
      new C().pX();
   }
}

答案:错误。在编译时会发生错误(错误描述不同的JVM有不同的信息,意思就是未明确的x调用,两个x都匹配(就象在同时import java.util和java.sql两个包时直接声明Date一样)。对于父类的变量,可以用super.x来明确,而接口的属性默认隐含为 public static final.所以可以通过A.x来明确。

16.来自:pupi 一道java面试题

碰到一个java题目,要求1000!(1000*999*998...*2*1)的值。

BigDecimal big = new BigDecimal(1); 
   for(int i=1; i<1001; i++) { 
     big = big.multiply(new BigDecimal(i)); 
     } 
   big.setScale(100); 
   System.out.println(big); 

17.来自:SpringArt 一著名软件公司的java笔试算法题!

原题如下:用1、2、2、3、4、5这六个数字,用java写一个main函数,打印出所有不同的排列,如:512234、412345等,要求:"4"不能在第三位,"3"与"5"不能相连.
解决思路:强化题目,用1、2、2、3、4、5这六个数字排列“递增”序列。其他要求不变。

import java.util.Iterator; 
import java.util.TreeSet; 

public class TestQuestion { 

private String[] b = new String[]{"1", "2", "2", "3", "4", "5"}; 
private int n = b.length; 
private boolean[] visited = new boolean[n]; 
private int[][] a = new int[n][n]; 
private String result = ""; 
private TreeSet set = new TreeSet(); 

public static void main(String[] args) { 
new TestQuestion().start(); 
} 

private void start() { 

// Initial the map a[][] 
for (int i = 0; i < n; i++) { 
for (int j = 0; j < n; j++) { 
if (i == j) { 
a[i][j] = 0; 
} else { 
a[i][j] = 1; 
} 
} 
} 

// 3 and 5 can not be the neighbor. 
a[3][5] = 0; 
a[5][3] = 0; 

// Begin to depth search. 
for (int i = 0; i < n; i++) { 
this.depthFirstSearch(i); 
} 

// Print result treeset. 
Iterator it = set.iterator(); 
while (it.hasNext()) { 
String string = (String) it.next(); 
// "4" can not be the third position. 
if (string.indexOf("4") != 2) { 
System.out.println(string); 
} 
} 
} 

private void depthFirstSearch(int startIndex) { 
visited[startIndex] = true; 
result = result + b[startIndex]; 
if (result.length() == n) { 
// Filt the duplicate value. 
set.add(result); 
} 
for(int j = 0; j < n; j++) { 
if (a[startIndex][j] == 1 && visited[j] == false) { 
depthFirstSearch(j); 
} else { 
continue; 
} 
} 

// restore the result value and visited value after listing a node. 
result = result.substring(0, result.length() -1); 
visited[startIndex] = false; 
} 
} 


  *  3,5不能相连:实际要求这个连通图的结点3,5之间不能连通, 可在构造图结构时就满足改条件,然后再遍历图。
代码中请注意这几行:
// 3 and 5 can not be the neighbor.
a[3][5] = 0;
a[5][3] = 0;

18.Hibernate外键关联,做多表链接查询出的字段如果没有实体bean与之相对应,该如何解决?
Hibernate的sessionfactory和session的区别是什么?如何处理session线程不安全问题?
Hibernate如何实现动态查询?DetachedCriteria与Criteria的区别是什么?
Jdk1.6的新技术Annotation有什么特点和作用?大量应用在哪些领域,具体是如何做的举例
你对搜索引擎lucene的原理能讲述一下吗?他有那些常用的框架?


19.如何实现一个表达式的验证,例如{01}=({09}+{02})-{03};花括号的内部是代号,不需要管,怎样验证它,包括=,_,*,/,(,),;使它成为合格的表达式?

可以通过正则表达式,括号一定要是对应的,表达式的左边必须是只有一个,表达式的右边可以使多个,包括加减乘除和括号。

20.
1 实现telnet到某台主机,在判断正确登陆下,输入ipconfig提取出
登陆主机的ip地址及"ip address"值.

2 实现socket,能接收几个客户端发出的请求,解析出来,假设包的结构为
序列 long 名称 string 次数 int,将这些数据再打包发给客户端.

3 举出你常用的设计模式及场景

4 请举出用程序能快速消耗CPU的的几个方法

5 人民币大小写转换问题

6 写出测试的V模型的含义

7 一个bug report一般包括哪几部分,请说明

21.
分享到:
评论
3 楼 MySpace 2010-05-13  
给你再加一题:
给定一个序列1,34,3,2,3,。。。,找出其中出现次数最多的所有数字
2 楼 walsh 2009-07-13  
收藏了,谢谢楼主
1 楼 liliang_xf 2009-07-10  
  真不错

相关推荐

    高级java笔试题-xiongfan:xiongfan

    高级java笔试题 感谢大家的关注与支持,最近工作上比较忙,一直没有抽出时间来更新~ 8月份终于赶在最后几天把性能优化补全了,结构方面还会再优化一下。然后这个月,也就是9月份开始着手第三方框架的内容,10月底前...

    高级java笔试题-Java-Interview-Questions:本仓库是笔者在2019年跳槽找工作时收集的面试问题,内容丰富、涉及面广,

    高级java笔试题 Java突击面试问题大全,助你获得心仪Offer java突击面试问题大全 :grinning_face_with_big_eyes: 本仓库是笔者在2019年跳槽找工作时收集的面试问题,内容丰富、涉及面广,面向初级、中高级几乎所有...

    高级java笔试题-amazing-books::open_book:编程电子书免费下载

    高级java笔试题 :books: amazing-books :balloon: 持续更新中 …… 我的其他项目,欢迎 Star 收藏: CS-Docs amazing-websites amazing-softwares :firecracker: 免责声明 声明,所有资源均来源于网络其他人的整理,...

    高级java笔试题-YCBlogs:技术博客笔记大汇总【15年10月到至今】,包括Java基础及深入知识点,Android技术博客,Pytho

    高级java笔试题 关于我的博客大汇总整理 目录介绍 01.Java博客大汇总 02.Android博客大汇总 03.开源项目推荐 04.bug分析大汇总 05.技术问题整理 06.数据与算法 07.Python学习笔记 08.Kotlin学习笔记 09.生活博客汇总...

    li_3ck_02a_1118.pdf

    li_3ck_02a_1118

    基于MATLAB的牛顿迭代法实现

    基于MATLAB的牛顿迭代法实现

    mellitz_3ck_01_0319.pdf

    mellitz_3ck_01_0319

    2025探索银行业人工智能驱动技术转型的投资回报率

    内容概要:文章阐述了银行采用人工智能(AI)技术替代传统系统的紧迫性和收益,讨论了通过构建现代化的数据和技术平台实现效率提升的方法,同时强调实施过程中确保数据质量和建立信任的重要性。文中提及,在金融行业中,若想优化业绩则必须拥抱AI带来的机遇,并为此进行经营模式的革新。根据Workday主办的研讨会内容,PwC金融服务风险与监管领导和Workday金融服务高层指出了大部分银行对AI认知不足的问题,强调AI在金融、人力资源以及IT等领域的广泛应用潜力及具体应用场景,如欺诈检测、技能映射和财务管理方面的作用。并且提到了AI部署过程中可能出现的技术与非技术难题及相应解决办法,鼓励金融机构及时投资建设新型基础设施,以保持竞争力。 适用人群:银行及其他金融机构管理人员;金融科技领域的专业研究人员;对企业数字化和智能化转型感兴趣的商业分析师、投资者;从事信息技术咨询工作的顾问。 使用场景及目标:本文可以帮助金融机构制定合理的技术发展战略规划,评估是否有必要推进AI技术转型,同时也为希望涉足银行科技项目的开发者提供了宝贵的市场洞察,帮助理解行业内普遍存在的困难与潜在的市场需求。此外,对于想要了解银行

    matlab程序代码项目案例论文+程序 基于在线优化的快速模型预测控制Fast model predicitive control with matlab interface.zip

    matlab程序代码项目案例 【备注】 1、该资源内项目代码都经过测试运行成功,功能ok的情况下才上传的,请放心下载使用!有问题请及时沟通交流。 2、适用人群:计算机相关专业(如计科、信息安全、数据科学与大数据技术、人工智能、通信、物联网、自动化、电子信息等)在校学生、专业老师或者企业员工下载使用。 3、用途:项目具有较高的学习借鉴价值,不仅适用于小白学习入门进阶。也可作为毕设项目、课程设计、大作业、初期项目立项演示等。 4、如果基础还行,或热爱钻研,亦可在此项目代码基础上进行修改添加,实现其他不同功能。 欢迎下载!欢迎交流学习!不清楚的可以私信问我!

    [AB PLC例程源码][MMS_043071]Phase Manager and a Scalable Batching Solution.zip

    AB PLC例程代码项目案例 【备注】 1、该资源内项目代码都经过测试运行成功,功能ok的情况下才上传的,请放心下载使用!有问题请及时沟通交流。 2、适用人群:计算机相关专业(如计科、信息安全、数据科学与大数据技术、人工智能、通信、物联网、自动化、电子信息等)在校学生、专业老师或者企业员工下载使用。 3、用途:项目具有较高的学习借鉴价值,不仅适用于小白学习入门进阶。也可作为毕设项目、课程设计、大作业、初期项目立项演示等。 4、如果基础还行,或热爱钻研,亦可在此项目代码基础上进行修改添加,实现其他不同功能。 欢迎下载!欢迎交流学习!不清楚的可以私信问我!

    [AB PLC例程源码][MMS_044386]1769-SM2 Compact I-O to DSI Module - Multi Drive Mode Operation - with.zip

    AB PLC例程代码项目案例 【备注】 1、该资源内项目代码都经过测试运行成功,功能ok的情况下才上传的,请放心下载使用!有问题请及时沟通交流。 2、适用人群:计算机相关专业(如计科、信息安全、数据科学与大数据技术、人工智能、通信、物联网、自动化、电子信息等)在校学生、专业老师或者企业员工下载使用。 3、用途:项目具有较高的学习借鉴价值,不仅适用于小白学习入门进阶。也可作为毕设项目、课程设计、大作业、初期项目立项演示等。 4、如果基础还行,或热爱钻研,亦可在此项目代码基础上进行修改添加,实现其他不同功能。 欢迎下载!欢迎交流学习!不清楚的可以私信问我!

    [AB PLC例程源码][MMS_041232]Monitor I-O Connections in Logix.zip

    AB PLC例程代码项目案例 【备注】 1、该资源内项目代码都经过测试运行成功,功能ok的情况下才上传的,请放心下载使用!有问题请及时沟通交流。 2、适用人群:计算机相关专业(如计科、信息安全、数据科学与大数据技术、人工智能、通信、物联网、自动化、电子信息等)在校学生、专业老师或者企业员工下载使用。 3、用途:项目具有较高的学习借鉴价值,不仅适用于小白学习入门进阶。也可作为毕设项目、课程设计、大作业、初期项目立项演示等。 4、如果基础还行,或热爱钻研,亦可在此项目代码基础上进行修改添加,实现其他不同功能。 欢迎下载!欢迎交流学习!不清楚的可以私信问我!

    chromedriver-linux64-136.0.7058.0.zip

    chromedriver-linux64-136.0.7058.0.zip

    [AB PLC例程源码][MMS_042504]Logix5000 interface to Atlas-Copco Tool Controller over EtherNet-IP.zip

    AB PLC例程代码项目案例 【备注】 1、该资源内项目代码都经过测试运行成功,功能ok的情况下才上传的,请放心下载使用!有问题请及时沟通交流。 2、适用人群:计算机相关专业(如计科、信息安全、数据科学与大数据技术、人工智能、通信、物联网、自动化、电子信息等)在校学生、专业老师或者企业员工下载使用。 3、用途:项目具有较高的学习借鉴价值,不仅适用于小白学习入门进阶。也可作为毕设项目、课程设计、大作业、初期项目立项演示等。 4、如果基础还行,或热爱钻研,亦可在此项目代码基础上进行修改添加,实现其他不同功能。 欢迎下载!欢迎交流学习!不清楚的可以私信问我!

    [AB PLC例程源码][MMS_042349]How to read-write data to-from a PLC using OPC in Visual Basic 6.zip

    AB PLC例程代码项目案例 【备注】 1、该资源内项目代码都经过测试运行成功,功能ok的情况下才上传的,请放心下载使用!有问题请及时沟通交流。 2、适用人群:计算机相关专业(如计科、信息安全、数据科学与大数据技术、人工智能、通信、物联网、自动化、电子信息等)在校学生、专业老师或者企业员工下载使用。 3、用途:项目具有较高的学习借鉴价值,不仅适用于小白学习入门进阶。也可作为毕设项目、课程设计、大作业、初期项目立项演示等。 4、如果基础还行,或热爱钻研,亦可在此项目代码基础上进行修改添加,实现其他不同功能。 欢迎下载!欢迎交流学习!不清楚的可以私信问我!

    电力工程领域中背压热电联产电厂的设计与参数计算

    内容概要:本文档介绍了背压热电联产(CHP)发电厂的详细设计步骤,涵盖确定各状态点的压力、温度、比焓以及质量流率的具体方法。主要内容围绕计算净电功率、燃料消耗及其效率展开,并提供了T-s图绘制的指南。针对每个组件(如蒸汽轮机、冷凝器、除氧器等),都列出了详细的效率假设和压力损失表,为实际工程应用提供了宝贵的参考资料和操作指导。同时,该作业任务要求学生从给定初始值中选择合适的操作条件进行系统模拟,并利用课程讲义和Moodle平台资料完成计算流程。 适用人群:对能源转换和动力设备设计感兴趣的学生或者初涉该领域的工程师。 使用场景及目标:旨在帮助学员深入了解并掌握背压热电联产装置的工作原理和技术指标计算的方法论,通过实践练习提高他们的问题解决能力。 其他说明:文档强调了稳态运行假设的重要性,即物质平衡等于能量输入等于输出的原则,并鼓励参与者借助附录提供的典型操作参数图表来寻找解决问题的方向。此外,它还特别指出对于一些变量值求解可能需要迭代法来进行调整,直至获得稳定结果。提交的报告必须含有一份详细的T-s图和其他必要附件。

    机器学习-市财政收入分析(含数据集)

    机器学习_市财政收入分析(含数据集)

    [AB PLC例程源码][MMS_046989]KAT with Code Sequencer.zip

    AB PLC例程代码项目案例 【备注】 1、该资源内项目代码都经过测试运行成功,功能ok的情况下才上传的,请放心下载使用!有问题请及时沟通交流。 2、适用人群:计算机相关专业(如计科、信息安全、数据科学与大数据技术、人工智能、通信、物联网、自动化、电子信息等)在校学生、专业老师或者企业员工下载使用。 3、用途:项目具有较高的学习借鉴价值,不仅适用于小白学习入门进阶。也可作为毕设项目、课程设计、大作业、初期项目立项演示等。 4、如果基础还行,或热爱钻研,亦可在此项目代码基础上进行修改添加,实现其他不同功能。 欢迎下载!欢迎交流学习!不清楚的可以私信问我!

    tracy_3cd_01_0318.pdf

    tracy_3cd_01_0318

    lusted_3cd_01_0918.pdf

    lusted_3cd_01_0918

Global site tag (gtag.js) - Google Analytics