架构师面试问题指导性框架_第1页
架构师面试问题指导性框架_第2页
架构师面试问题指导性框架_第3页
架构师面试问题指导性框架_第4页
架构师面试问题指导性框架_第5页
免费预览已结束,剩余6页可下载查看

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、.架构师面试问题指导性框架1. Java 基础问题31.1. 所有 Java 类的基类是什么?31.2. Object 类中有哪些方法?(说出三个)31.3. equals 和 =的差别?31.4. hashCode 的作用31.5. hashCode 和 equals 方法的关系31.6. 如何停止一个线程?41.7. Thread.setDeamon()的含义?51.8. ClassLoader 的功能和工作模式?51.9. 列举几个 Java Collection 类库中的常用类,试简述其类结构。61.10. Input/OutputStream 和 Reader/Writer 有何区别

2、?何为字符,何为字节?71.11. 如何在字符流和字节流之间转换?71.12. GC 垃圾收集是什么意思?怎样的对象会被收集?72. JavaEE 的问题72.1. Serlvet/JSP 相关72.1.1. JSP 的工作原理72.1.2. Servlet 中的 session 工作原理72.1.3. WEB 层如何实现Cluster72.2. EJB 相关72.2.1. EJB 的类型72.2.2. EJB 的工作原理72.2.3. EJB 的应用领域72.3. JMS 相关82.3.1. JMS 的模式82.4. JDBC/JTA/JTS 相关82.4.1. 用 JDBC 怎样从数据库中

3、查询一条记录?82.4.2. Transaction 有哪几种隔离级别?(Isolation Level )82.4.3. Global transaction 的原理是什么?82.5. WebService 相关82.5.1. 简述 WebService 是怎么实现的?82.6. Ant/maven 的知识92.6.1. 用过 ant 或 maven 吗?它们是什么?有什么特点(或好处)?93. 开源软件的问题93.1. Spring 相关93.1.1. Spring 的核心理念是什么?93.2. iBatis/hibernate 相关93.2.1. 简介 hibernate 和(或) ib

4、atis,及它们的异同、优缺点。93.3. 其它软件93.3.1. Web 层框架93.3.2. 数据层框架93.3.3. 普通工具类9;.3.3.4. 测试框架 .93.3.5. Service 框架 .04. OOA/OOD .104.1. OOD 的原则 .104.1.1. 类 A 依赖类 B ,会产生什么问题? .104.1.2. 怎样解除这种耦合? .104.2.设计模式? .104.2.1. 列举一两个设计模式,举例说明其用途。.104.2.2. 简述 M-V-C 模式解决了什么问题? .105.项目相关 .105.1.项目相关的技术问题 .106.对新技术敏感度

5、.106.1. Java 5 语言的新特性?对我们有什么帮助?.107.其他问题 .117.1.职业发展道路?愿意做技术吗?愿意做编码吗?.117.2.愿意在杭州长期发展吗? .118.其它方面的基础知识 .118.1.操作系统相关问题,如虚拟内存管理.118.2.数据结构相关:如队列应用 .118.3.网络相关:如 TCP/IP 协议基础问题 .118.4. http 协议以及相关内容 .118.5.对 uml 以及业务健模的考察 .118.6.群集技术 .118.7.版本管理 :svn/cvs .11;.1.Java 基础问题1.1. 所有 Java 类的基类是什么?java.lang.O

6、bject1.2.Object 类中有哪些方法?(说出三个)/ 对象相关getClass()clone() - protectedtoString()equals(Object)hashCode()/ 线程相关notify()notifyAll()wait(long, int)/ GC 相关finalize()1.3.equals 和=的差别?equals 为对象相等。=代表引用相等(即同一个对象)。Object.equals 的实现和 =相同,但子类可以覆盖此方法,以便实现不同的比较算法,例如String.equals 逐字比较。1.4.hashCode 的作用在 HashMap 或 Has

7、hSet 中,作为杂凑值,以提高查找的性能。Object.hashCode 实际上返回的是对象的引用地址,但子类可以覆盖此方法,实现不同的杂凑算法。1.5.hashCode 和 equals 方法的关系如果两个对象equals 相等,那么hashCode 必须相等。反之,则不一定:hashCode 相等,可能equals 不等。但这个概率不能太高,否则将增加HashMap 的冲突可能性,而降低查找的效率。;.1.6. 如何停止一个线程?设置一个标记,让线程自行停止。必要时,主线程执行join 方法等待子线程完全退出。publicclassTestThread privatebooleanexi

8、t=false;privatevoid go()throwsException Thread thread =new Thread(new MyRunnable(),"my_thread");System.out .println("Press Enter to exit.");thread.start();System.in .read();exit=true ;thread.join();privateclassMyRunnableimplementsRunnable publicvoidrun() for( inti = 1; !exit; i+)

9、 System.out .println(Thread.currentThread ().getName() +": "+ i);tryThread.sleep (1000);catch(InterruptedException e) publicstaticvoidmain(String args)throwsException new TestThread().go();事实上, Thread 自己有 interrupted 标志,可以通过 Terrupted() 或某些方法的 InterruptedException 来捕获中断标志。程序可改进为:p

10、ublicclassTestThread privatebooleanexit=false;privatevoidgo()throwsException exit=true ;.errupt();thread.join();privateclassMyRunnableimplementsRunnable publicvoidrun() for( inti = 1; !exit; i+) System.out .println(Thread.currentThread ().getName() +": "+ i);tryThread.sleep (1000

11、);catch(InterruptedException e) return;1.7.Thread.setDeamon()的含义?一个 Daemon 线程是一个在背景执行服务的线程, 例如网络服务器倾听连接端口的服务、 隐藏的系统线程如垃圾收集线程或其它 JVM 建立的线程,如果所有的非 Daemon 的线程都结束了,则 Daemon 线程自动就会终止。Thread.setDaemon(true)就是设置一个线程为 daemon 线程。该方法必须在 Thread.start()之前执行。 并且 daemon 线程创建的子线程,自动成为 daemon 线程。1.8.ClassLoader的功能和

12、工作模式?ClassLoader 的功能是读取二进制码,生成Class 对象。ClassLoader 使用的是委托模式( delegation 模式)。ClassLoader 呈树状结构, 每个结点代表一个ClassLoader。一般来说,ClassLoader 查找一个类时,会先询问parent ClassLoader,如果找不到,才会在自身查找。下面是JavaEE ClassLoader 的常见结构:( System Class Loader 之前其实省略了一个Bootstrap Class Loader ,用来装载jre/lib 下的 JDK 基本类);.1.9. 列举几个 Java C

13、ollection类库中的常用类,试简述其类结构。InterfaceImplementationHistoricalSetHashSetTreeSetListArrayListVectorLinkedListStackMapHashMapHashtableTreeMapProperties还有包装器:Unmodifiable collectionsSynchronized collectionsSingleton collections等。;.1.10.Input/OutputStream和 Reader/Writer 有何区别?何为字符,何为字节?1.11. 如何在字符流和字节流之间转换?1

14、.12.GC 垃圾收集是什么意思?怎样的对象会被收集?2.JavaEE的问题2.1.Serlvet/JSP相关2.1.1.JSP 的工作原理JSP 会先转换成Servlet 类,然后再执行。2.1.2.Servlet 中的 session工作原理通过 JSESSIONID 来索引 session的数据。通常将 JSESSIONID 保存在 cookie 中,但也可以编码到URL 中。Session 的数据是保存在服务端的。具体的实现方式由应用服务器决定。2.1.3.WEB 层如何实现 Cluster关键是解决session的问题。可以通过sticky server 的方式,也可以通过sessi

15、on 复制的机制。如果 Web 应用不使用session(无状态的),则可以将请求随机分发到任何一台对等的应用服务器上。2.2.EJB 相关2.2.1.EJB 的类型Stateless Session Beans、 Stateful Session Beans、Entity Beans 、 Message-Driven Beans。2.2.2.EJB 的工作原理Session Bean和 Entity Bean 通过 Stub 来实现 Remote 和 Local 调用。 调用时, 可以插入特殊的逻辑:如安全、 事务管理。Message-Driven Bean 通过监听JMS 对象来触发。同样

16、支持安全、事务。2.2.3.EJB 的应用领域Stateless Session Bean 和 Message-Driven Bean 目前用得比较多。前者常用于远程 /本地访问业务逻辑;后者常用于异步调用。由于使用了Spring 这样的轻量框架,EJB 的应用越来越少。;.2.3.JMS 相关2.3.1.JMS 的模式Queue 模式: point-to-point (点对点),一头发消息,一头收消息。消息收掉就没了,两个接收者不能收到同一个消息。Topic 模式: publish-subscriber(发布、订阅) ,一个人发消息,多个订阅 topic 的人接收消息。多个接收者能够收到同一

17、个 topic 中的同一个消息。2.4.JDBC/JTA/JTS相关2.4.1.用 JDBC 怎样从数据库中查询一条记录?2.4.2.Transaction 有哪几种隔离级别?(Isolation Level )数据在修改过程中的中间状态对其它事务的可见程度,和其它事务修改数据的中间状态对本事务的可见性。1. READ UNCOMMITTED -Dirty reads, non-repeatable reads, and phantom reads are all allowed;2. READ COMMITTED -Dirty reads are prevented; non-repeata

18、ble reads and phantom reads are allowed.;3. REPEATABLE READ -Dirty reads and non-repeatable reads are prevented; phantom reads are allowed;4. SERIALIZABLE -Dirty reads, non-repeatable reads, and phantom reads are all prevented;Oracle 支持两种: READ COMMITTED(默认 )、 SERIALIZABLE。2.4.3.Global transaction 的

19、原理是什么?两阶段提交。不仅可对数据库,也可对其它资源如JMS 进行 transaction 操作。2.5.WebService相关2.5.1.简述 WebService 是怎么实现的?说出 soap、 wsdl 之类的就可以了。;.2.6.Ant/maven 的知识2.6.1.用过 ant 或 maven 吗?它们是什么?有什么特点(或好处)?3.开源软件的问题3.1.Spring 相关3.1.1.Spring 的核心理念是什么?核心是 IoC ( Inversion of Control 、反转控制)或DI ( Dependency Injection 、依赖注入) 。通过 IoC 或 D

20、J 的方式来装配对象,解除对象与对象之间的耦合性,从而简化应用的开发、测试过程。和 IoC 或 DJ 密切相关的, 还有 AOP( Aspect Oriented Programming 、面向切面的编程) 。有了 IoC ,就很容易实现AOP。通过AOP ,可以将额外的功能透明地附着于对象上,而不会影响到使用对象的代码。通过此种机制,就可实现很多功能:远程、异步调用、Transaction、Security 、Intercepter3.2.iBatis/hibernate相关3.2.1.简介 hibernate 和(或) ibatis ,及它们的异同、优缺点。3.3. 其它软件3.3.1.Web 层框架Webwork 、 Struts、 Tapestry、 Turbine 、 Spring MVC3.3.2.数据层框架Hibernate、 iBatis 、 Torque、 OJB3.3.3.普通工具类Jakarta commons模板工具: Velocity 、 Freemarker3.3.4.测试框架Junit、Testng、 Cact

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论