版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、架构师面试问题指导性框架1. java基础问题31.1. 所有java类的基类是什么? 31.2. object类屮有哪些方法?(说出三个)31.3. equals 和=的差别? 31.4. hashcode 的作用31.5. hashcode 和 equals 方法a勺关系31.6. 如何停止一个线程? 31.7. thread.seideamon()的含义? 51.8. classloader的功能和工作模式? 51.9. 列举几个java collection类库中的常用类,试简述其类结构。610. input/outputstream和reader/writer有何区别?何为字符,何为
2、字节? 61.11. 如何在字符流和字节流之间转换? 61.12. gc垃圾收集是什么意思?怎样的对象会被收集? 62. javaee 的问题62.1. serlvet/jsp 相关62.1.1. jsp的工作原理62.1.2. servlet 中的 session 工作 原理62.1.3. web 层如何实现 cluster72.2. ejb 相关72.2.1. ejb 的类型72.2.2. ejb的工作原理72.2.3. ejb的应用领域72.3. jms 相关72.3.1. jms 的模式72.4. jdbc/jta/jts 相关72.4.1. 用jdbc怎样从数据库中查询一条记录? 7
3、2.4.2. transaction 有哪几种隔离级另ij? (isolation level) 72.4.3. global transaction 的原理是什么? 72.5. webservice 相关82.5.1. 简述webservice是怎么实现的? 82.6. ant/maven 的知识82.6.1. 用过ant或maven吗?它们是什么?有什么特点(或好处)? 83. 开源软件的问题83.1. spring 相关83.1.1. spring的核心理念是什么? 832 ibatis/hibernate 相关83.2.1. 简介hibernate和(或)ibatis, 及它们的异同、
4、优缺点。83.3. 其它软件83.3.1. web层彳匡架83.32 数据层框架83.3.3. 普通工具类83.3.4. 测试框架83.3.5. service 框架83.3.694. ooa/ood94.1. 00d 的原贝u94.1.1. 类a依赖类b,会产生什么问题? 94.1.2. 怎样解除这种耦合? 94.2. 设计模式? 94.2.1. 列举一两个设计模式,举例说明其用途。94.2.2. 简述m-v-c模式解决了什么问题? 95. 项目相关95.1. 项目相关的技术问题96. 对新技术敏感度96.1. java 5语言的新特性?对我们有什么帮助? 97. 其他问题107.1. 职业
5、发展道路?愿意做技术吗?愿意做编码吗? 107.2. 愿意在杭州长期发展吗? 10&其它方面的基础知识108.1. 操作系统相关问题,如虚拟内存管理1082数据结构相关:如队列应用10&3.网络相关:如tcp/ip协议基础问题108.4. http协议以及相关内容108.5. 对uml以及业务健模的考察108.6. 群集技术108.7. 版本管理:svn/cvs101 .java基础问题11 所有java类的基类是什么?java.lang.object1.2.object类中有哪些方法?(说出三个)/对象相关getclass()clone() protectedtostring
6、()equals(object)hashcode()/线程相关notify () notifyall() wait(longl, int|)/gc相关finalize()1.3. equals 和=的差别?equals为对象相等。二二代表引用相等(即同一个对象)。object.equals的实现和=相同,但子类可以覆盖此方法,以便实现不同的比较算法,例如string.equals逐字比较。1.4. hashcode 的作用在hashmap或hashset中,作为杂凑值,以提高查找的性能。object.hashcode实际上返回的是对象的引用地址,但子类可以覆盖此方法,实现不同的杂凑算法。1.5
7、. hashcode和equals方法的关系如果两个对象equals相等,那么hashcode必须相等。反之,则不一定:hashcode相等,可能equals不等。但这个概率不能太高,否则将增加hashmap的冲突能性,而降 低查找的效率。16如何停止一个线程?设置一个标记,让线程自行停止。必要时,主线程执行join方法等待子线程完全退出。public class testthread private boolean exit = false;private void go() throws exception thread thread 二 new thread(new myrunnable
8、o, my_threact);systemprintln("press enter to exit);thread start ();system in. read ();exit = true;thread. join();private class myrunnable implements runnable public void run()(for (int i = 1; !exit; i+) system, out. print i n( thread. currentthread). getnameo + : + i);thread. s7ee/?(1000); catc
9、h (interruptedexception e) public static void main(string args) throws exception new tcstthrcado. go();事实上,thread自己有interrupted标志,可以通过terrupted()或某些方法的interruptedexception來捕获中断标 志。程序可改进为:public class testthread pri¥qte-boolean-exit 二 false;private void go() throws exception exit 二 true
10、;thread interrupt();thread, join();private class myrunnable implements runnable public void run() for (int i 二 1;i+) system o ut. pr in tin (thread. currentthreadq. getnameo + : + i);try thread, s/e即(1000); catch (interruptedexception e) return;1.7. thread.setdeamon()的含义?一个daemon线程是一个在背景执行服务的线程,例如网络
11、服务器倾听连接端口的服务、隐藏的系统线程如垃圾收集线 程或其它jvm建立的线程,如果所有的非daemon的线程都结束了,则daemon线程白动就会终止。rhread.setdaemon(true)就是设置一个线程为daemon线程。该方法必须在thread.start()之前执行。并且daemon线程创建 的子线程,自动成为daemon线程。1.8. classloader的功能和工作模式?classloader的功能是读取二进制码,生成class对象。classloader使用的是委托模式(delegation模式)。classloader呈树状结构,每个结点代表一个classloader0
12、 一般来说, classloader查找一个类时,会先询m parent classloader,如果找不到,才会在自身查找。下面是javaee classloader的常 见结构:(system class loader之前其实省略了一个bootstrap class loader,用來装载jre/lib下的jdk基本类)19列举几个java collection类库中的常用类,试简述其类结构。collectionmaplistsetsortedmapsortedsetinterfaceimplementationhistoricalsetilashse ttreesetlistarrayl
13、istlinkedlistvectorstackmaphashmaptreemaphashtableproperties还有包装器:unmodifiable collectionssynchronized collectionssingleton collections等。1.10.input/outputstream和reader/writer有何区别?何为字符,何为字节?1.11 如何在字符流和字节流之间转换?1.12.gc垃圾收集是什么意思?怎样的对象会被收集?2.javaee的问题2.1.serlvet/jsp 相关2.1.1.jsp的工作原理jsp会先转换成servlet类,然后再执
14、行。2.1.2.servlet 中的 session 工作原理通过jsessionid来索引session的数据。通常将jsessionid保存在cookie屮,但也可以编码到url屮。session的数据是保存在服务端的。具体的实现方式由应用服务器决定。2.1.3. web 层如何实现 cluster关键是解决session的问题。可以通过sticky server的方式,也可以通过session复制的机制。如果web应用不使用session (无状态的),则可以将请求随机分发到任何一台对等的应用服务器上。2.2. ejb 相关2.2.1. ejb的类型stateless session b
15、eans> stateful session beans> entity beans> message-driven beanso2.2.2. ejb的工作原理session bean和entity bean通过stub来实现remote和local调用。调用时,可以插入特殊的逻辑:如安全、事务管理。message-driven bean通过监听jms对象来触发。同样支持安全、事务。2.2.3. ejb的应用领域stateless session bean和message-driven bean目前用得比较多。前者常用于远程/本地访问业务逻辑;后者常用于异步 调用。由于使用了
16、 spring这样的轻量框架,ejb的应用越来越少。2.3. jms 相关2.3.1. jms的模式queue模式:point-to-point (点对点),一头发消息,一头收消息。消息收掉就没了,两个接收者不能收到同一个消息。topic模式:publish-subscriber (发布、订阅),一个人发消息,多个订阅topic的人接收消息。多个接收者能够收到同一 个topic中的同一个消息。2.4. jdbc/jta/jts 相关241 用jdbc怎样从数据库中查询一条记录?2.4.2. transaction 有哪几种隔离级别?(isolation level)数据在修改过程中的中间状态对
17、其它事务的可见程度,和其它事务修改数据的中i'可状态对本事务的可见性。1. read uncommitted -dirty reads, non-repeatable reads, and phantom reads are all allowed;2. read committed -dirty reads are prevented; non-repeatable reads and phantom reads are allowed.;3. repeatable read dirty reads and non-repeatable reads are prevented; ph
18、antom reads are allowed;4. serializable dirty reads, non-repeatable reads, and phantom reads are all prevented;oracle 支持两种:read committed(默认)、serializableo2.4.3. globai transaction 的原理是什么?两阶段提交。不仅可对数据库,也可对其它资源如jms进行transaction操作。2.5. webservice 相关251 简述webservice是怎么实现的?说出soap、wsdl之类的就可以了。2.6. ant/ma
19、ven 的知识2.6.1 用过ant或maven吗?它们是什么?有什么特点(或好处)?3.开源软件的问题3.1.spring 相关3.1.1.spring的核心理念是什么?核心是 ioc (inversion of controk 反转控制)或 di (dependency injectionx 依赖注入)。通过ioc或dj的方式来装配对象,解除对象与对象之间的耦合性,从而简化应用的开发、测试过程。和ioc或dj密切相关的,还有aop (aspect oriented programming.面向切面的编程)。有了 ioc,就很容易实现aop。通过aop,可以将额外的功能透明地附着于对象上,而不会影响到使用对象的代码。通过此种机制,就可实现很多功能: 远程、异步调用、transaction> security> intercepter3.2.ibatis/hibernate 相关3.2.1 简介hibernate和(或)ibatis,及它们的异同、优缺点。3.3其它软件33lweb层框架web work > struts > tapestry x turbine spring mvc332数据层框架hibernateibatis> torque > ojb333 普通工具类jakarta common
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 一年级下册数学教案-1.3 七巧板-人教新课标
- 中班体育课教案:帮叔叔送地图
- 2024年产品代销合同乙方销售渠道
- 人音版三年级上册摇啊摇教案
- 一年级上册数学教案-20以内的进位加法 解决问题(1)-人教版
- 一年级上册数学教案 第四单元【第一课时】 认识物体(一) 人教新课标
- 一年级下册数学教案-第4单元 数数、数的组成∣人教新课标
- 2024年区域性网络安全防护系统建设合同
- 2024年升级版广告推广服务合同
- 二年级下册数学教案 - 7.1 1000以内数的认识 人教版
- 婴儿培养箱校准规范
- 田径运动会各种记录表格
- 《补贴与反补贴措施协议》对出口信贷的法律规制研究2
- 铁道运输实训总结报告
- 企业信息管理概述课件
- 室外健身器材投标方案(技术方案)
- 足浴店店长聘用合同范本
- MOOC 光纤光学-华中科技大学 中国大学慕课答案
- 中国医药流通行业情况分析
- 电商免责声明范本
- 飞行科普知识讲座
评论
0/150
提交评论