`
metaphy
  • 浏览: 344582 次
  • 性别: Icon_minigender_1
  • 来自: 大西洋底
社区版块
存档分类
最新评论

Java程序员面试题目

阅读更多
作者:metaphy
日期:2007-5-30
版本:V2.01
说明:题目和答案源自metaphy过去知识、经验积累和网络,metaphy不能保证其正确性和完整性,仅供参考。转载请注明原作者及版本及该说明。(5573255960011251209L)
 
Part I Java2基础知识
▲面向对象编程语言的3个基本特征是什么?
封装,继承,多态.(From: Thinking in Java)
 
▲Object有哪些方法?说出3个
equals, toString, hashCode, getClass, notify, notifyAll, wait
 
▲抽象类和接口的区别
1) 一个类只能使用一次继承关系继承一个抽象类。但是,一个类却可以实现多个interface。
2)interface 中属性默认是 public static final的,而abstract class 不是。而在abstract class方式中,可以有自己的数据成员,也可以有非abstarct的成员方法。
3)从设计上讲,abstract class表示的是"is a"关系,interface表示的是"like a"关系。
 
▲简叙java集合类
Java集合分3类:分别是Set,List,Map,其中Set,List 继承自Collection接口。Map不是。
Set是无序集,下面有HashSet, TreeSet, LinkedHashSet,List是有序集,下面有 ArrayList, LinkedList, Map不是通常意义的集合,它是一个键-值对。
 
▲Hashtable & HashMap 的区别
HashMap不是线程安全的,Hashtable是
HashMap允许null值(键和值都可以),Hashtable不允许
 
▲Java IO中,InputStream 和Reader 的区别
InputStream是基于字节流,而Reader是基于字符流
 
Part II J2EE知识(含JavaScript,XML,HTML知识)
▲J2EE技术框架包括哪些技术?
-Enterprise JavaBeans (EJB)
-Java Interface Definition Language(IDL)
-Java Message Service (JMS)
-Java Naming and Directory Interface(JNDI)
-Java Remote Method Invocation(RMI) 和 Object Serialization
-Java Servlet API
-Java Server Pages(JSP)
-Java Transaction API (JTA)
-Java Transaction Service(JTS)
-JDBC
 
▲JDBC中STATEMENT的分类
-Statement
-PreparedStatement(预编译语句)
-CallableStatement(可调用语句):用来执行存储过程
 
▲JDBC中如何手工实现事务的提交和回滚?
java 代码
  1. try{      
  2.     conn = DriverManager.getConnection("...");      
  3.     conn.setAutoCommit(false);      
  4.     stmt = conn.createStatement();      
  5.     stmt.executeUpdate("sql...");      
  6.     stmt.executeUpdate("sql...");      
  7.     conn.commit();      
  8. }catch(Exception e){      
  9.     e.printStackTrace();      
  10.     try{      
  11.         conn.rollback(); //      
  12.     }catch(Exception e){      
  13.         e.printStackTrace();             
  14.     }      
  15. }     
 
▲关闭JDBC Connection 和 PreparedStatement的方式.
java 代码
  1. try{   
  2.     /*...*/  
  3.     pstmt.close () ;   
  4.     conn.close();   
  5. }catch(Exception e){   
  6.     /*…*/  
  7. }finally{   
  8.     try{   
  9.         if(pstmt!=null)  pstmt.close();   
  10.     }catch(Exception e){}   
  11.     try{   
  12.         if(conn!=null)  conn.close();   
  13.     }catch(Exception e){}   
  14. }  
 
▲JSP的内置对象
request、response、out、session、page、pageContext、application、config、exception
 
▲Servlet的生命周期
容器加载
初始化 init()
服务,根据请求,返回应答 service()
销毁 destroy()
 
▲解析XML的API
有DOM、SAX、JAXP、JDOM 和 DOM4J等
DOM : JAVA/JAVASCRIPT/PERL等均支持,缺点是将一个文档当作一个树一次读入,如果文档特别大(如10M)将会十分低效
JDOM :JAVA自己定的
SAX: 也是Java定的,后移植到C++等语言
 
▲XML的定义(关于XML文档有效性的定义)方法及其之间的区别
DTD:DTD 是参考 SGML DTD 创造出的 XML 格式定义方法。DTD 的格式定义采用与 XML 不同的语法,这使得很难直接用解析器来解析 DTD,也很难动态(runtime)验证 XML 的有效性。
XML Schema:XML Schema是W3C 后来创造的。Schema 是一种新型的 XML 格式定义方法,它完全采用 XML 语法,便于解析器处理,而且对于数据格式的定义更加严格和精确,所以 Schema 更加适合面向数据的应用。
RELAX NG :RELAX NG 是一种以 RELAX(由日本人开发)与 TREX(由 XML 界的权威 James Clark 开发)为基础的模式语言。它的基本思想与 Schema 相同,也采用 XML 格式,所以程序处理起来也很方便。而且它的语法比 Schema 要简单的多。但是目前 RELAX NG 还不是 W3C 的标准,所以大多数解析器都不支持。
 
▲XML的显示格式的定义方式
有两种:CSS 和 XSLT。XSLT 的主要作用是将 XML 由一种格式转换为另一种格式。例如由 XML 的一种词汇集(vocabulary)转换为另一种词汇集(vocabulary),或者由 XML 转换为 HTML 或者 XHTML。所以 XML 页面要在浏览器中显示必须结合 CSS 或者 XSLT 样式单。
 
▲XML名词解释
HTML  HyperText Markup Language
XML   eXtensible Markup Language
SGML  Standard Generalized Markup Language
DTD    Document Type Definition
XSLT  eXtensible Stylesheet Language-Transformation
DOM  Document Object Modle
SAX    Simple API for XML
 
▲Html页面表示白色的16进制码是什么?(只有外国人才会问这么基础的问题,我当时答错了,惭愧啊。这个答案就不给了。)
 
Part III 数据库相关
▲快速删除表中所有数据
truncate table table_name
delete from table_name记录行操作日志,而truncate只是记录一次操作日志,因此速度更快。
 
▲Table,View,Temporary table 的区别之处
VIEW只是一个定义,其中的数据还是基于table;
临时表是临时定义的表,它在用户关闭数据库连接之后将删除。
为什么要使用临时表呢?主要是为了暂时存储数据,以便再次处理
 
▲left outer join ,right outer join 的区别
left outer join:左面的那个表的记录全部返回,右面那个表只返回满足条件的的记录。不满足条件的,对应左表用null填充。
right outer join:和上一个正好相反。
full outer join:两边表都返回,不满足条件就用null填充
上面是外连接,内连接是一个这样的形式:
sql 代码
  1. select a.id, a.name ,b.id,b.score from a,b where a.id = b.id   
返回的结果是2者的交集。
 
Part IV 问题分析、编程能力和算法
▲999条直线最多能将一个平面分成多少部分?(来自IBM的面试题)
归纳法:
f(1) = 2
f(2) = 4
f(3) = 7
f(4) = 11
f(n) = f(n-1) + n     (n>=2)
 
0
0
分享到:
评论

相关推荐

    JAVA程序员面试题目

    面试题集共分为以下十部分: 一、Core Java: 1 — 95 题1 — 24 页 基础及语法: 1 — 61 题1 — 13 页 异常: 62 — 69 题13 — 15 页 集合: 70 — 80 题15 — 18 页 线程: 81 — 90 题18 — 21 页

    最新java程序员面试题目及视频资料.rar

    里面有高可用、高并发、高性能及分布式、Jvm性能调优、Spring,MyBatis,Netty源码分析,Redis,Kafka,Mysql,Zookeeper,Tomcat,Docker,Dubbo,Nginx等多个知识点高级进阶干货视频和面试资料

    Java程序员面试笔试宝典-何昊pdf版

    根据提供的文件信息,我们可以推断出这是一本关于Java程序员面试和笔试准备的书籍,作者为何昊。本书可能包含了大量关于Java编程语言的基础知识、高级特性以及与面试相关的技巧和策略等内容。下面将对可能涉及的重要...

    JAVA程序员常用面试题

    集合了JAVA程序员面试常会问到的题目 Anonymous Inner Class (匿名内部类) 是否可以extends(继承)其它类,是否可以implements(实现)interface(接口)  答:匿名的内部类是没有名字的内部类。可以继承抽象(SDK1.5...

    Java程序员面试笔试真题与解析.tar

    Java程序员面试笔试真题与解析,包含各大IT企业面试笔试的题目

    Java程序员面试笔试宝典

    《Java程序员面试笔试宝典》是一本专门为寻求Java相关职位的程序员准备的参考资料,它涵盖了Java编程语言的基础、进阶以及面试中常见的问题和考点。这本书的高清版旨在提供清晰易读的学习体验,帮助读者更好地理解和...

    程序员--java面试100题目

    【Java面试核心知识点详解】 1. **面向对象的特征**: - **抽象**:抽象是将复杂的现实问题简化,关注关键属性和行为,忽略不重要的细节。...理解和掌握这些知识点对于提升Java程序员的技能水平至关重要。

    Java程序员面试宝典.pdf

    ### Java程序员面试宝典知识点概览 #### 一、唯一性——聚焦Java程序员求职面试技巧 **《Java程序员面试宝典》**之所以独具特色,在于它是国内市场上唯一一本专门针对Java程序员求职面试技巧的图书。这本宝典不仅...

    Java程序员面试宝典+题集(最新)

    《Java程序员面试宝典+题集》是一份针对Java开发者准备面试的重要参考资料,它涵盖了Java编程语言的基础知识、进阶概念、设计模式、框架应用、并发处理、性能优化等多个方面,旨在帮助求职者全面理解并掌握Java技术...

    JAVA程序员面试指南

     第二篇(第2章~第13章)介绍了Java程序员涉及的基础知识,内容包括Java语言基础、异常的处理、I/O控制流、面向对象编程、线程、集合以及数据库技术等基本知识点。  第三篇(第14章~第16章)专门介绍了Java开发...

    Java程序员面试宝典_第二版清晰版

    《Java程序员面试宝典》第二版作为Java程序员求职面试的重要参考书,为求职者提供了详尽的面试准备材料。本版在原有基础上进行了大量的更新,不仅保留了第一版中关于数据结构、字符串处理、Java程序设计等核心内容,...

    java程序员面试宝典 2010版 最新版面试宝典

    《Java程序员面试宝典2010版》是针对Java开发者进行面试准备的重要参考资料,它汇集了众多IT公司的面试和笔试题目,旨在帮助求职者掌握关键的Java技术知识,提高面试成功率。以下是对该宝典中可能涵盖的主要知识点的...

    Java程序员面试ppt

    Java程序员面试是一个全面考察应聘者技术能力、问题解决能力和沟通技巧的过程。面试通常包括投递简历、电话通知、笔试、一轮或多轮面试等步骤。在面试中,表现出积极主动的态度和解决问题的决心非常重要。 面试题...

    Java程序员面试宝典(免费).pdf

    总的来说,Java程序员面试宝典是一个集理论与实践于一体的资料,不仅覆盖了面向对象编程的基础知识点,还提供了通过实例和面试题目来加深理解的方式。这份资料对准备Java面试的初级学者来说是一个宝贵的资源,特别是...

    Java程序员面试题集

    Java程序员面试时,通常会遇到一系列关于语言特性和框架的问题,这些题目旨在考察候选人的基础知识、问题解决能力和实践经验。以下是对这些面试题目的详细解答: 1. **final, finally, finalize的区别**: - `...

    java程序员面试宝典 都是经典简答 看了面试一定成功

    Java程序员面试宝典是每一位求职者在准备Java开发职位面试时不可或缺的参考资料。这份文档集成了许多经典且常被问到的问题,旨在帮助面试者掌握关键知识点,提高面试成功率。以下是一些重要的Java编程和面试相关知识...

    Java程序员面试宝典 第4版 欧立奇

    本书是《Java程序员面试宝典》的第四版,在保留前第三版数据结构、字符串处理、Java程序设计等主干内容的基础上,更新了部分程序员面试题目,内容主要取材于2013年至2015年多家大公司的面试题,以反映第三版图书出版...

    Java程序员面试宝典(完整版)

    【Java程序员面试宝典】是一本全面覆盖Java技术面试题目的资源,旨在帮助求职者准备面试,提升技能。以下是对部分题目及其所涉及知识点的详细解释: 1. 一个`.java`源文件中可以包含多个类,但只能有一个公开类...

Global site tag (gtag.js) - Google Analytics