阿里巴巴校园招聘面试试题合集总结_第1页
阿里巴巴校园招聘面试试题合集总结_第2页
阿里巴巴校园招聘面试试题合集总结_第3页
阿里巴巴校园招聘面试试题合集总结_第4页
阿里巴巴校园招聘面试试题合集总结_第5页
已阅读5页,还剩28页未读 继续免费阅读

下载本文档

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

文档简介

和服务器直接访问目标地址的...,....2对的.2对和和而,.1234567你对Java的集合框架了解吗?能否说说常用的类?说说Hashtable与HashMap的区别:源代码级别的区别呢?平时用过的List有哪些?(除了ArrayList和LinkedListArrayList和LinkedList的区别?ArrayList的特点,内部容器是如何扩充的?Properties类的特点?线程安全?===============================================平时使用过的框架有哪些?(我提到了Struts2)请说一下Struts2的初始化?和类的创建?(从源代码角度出发)据你了解,除了反射还有什么方式可以动态的创建对象?(我提到了CGLIB„„我以为他会接着问CGLIB,揪心中„„,结果他没问)请说一下Struts2是如何把Action交给Spring托管的?它是单例的还是多例?你们页面的表单对象是多例还是单例?请说一下你们业务层对象是单例还是多例的?请说一下Struts2源代码中有哪些设计模式?======================================================请说一下,你觉得你最熟悉的技术特点?(我提到了并发编程)请说一下线程安全出现的原因?请说一下线程池的中断策略(4个)?各有什么特点?请说一下Tomcat配置不同应用的不同端口如何配置?如何配置数据源?如何实现动态部署?请说一下Java常用的优化?你了解最新的Servlet规范吗?简单说一下?(我提到了推)那请你说一下“推”是如何实现的?线程安全下,StringBuffer与StringBuilder的区别?它们是如何扩充内部数组容量的?(源代码)请说一下Tomcat中的设计模式?(我提到观察者模式)是否可以说说Java反射的相关优化机制?(我说我不太清楚„„他说没关系--!)请说一些Mysql的常用优化策略?解一些什么其他的技术范畴。(他首先提到SOA,我说有了解,并且是未来的趋势,还有提到云计算,我说有过一定了解,但是并未深究)=====================================================之后是几个职业方面的问题?你觉得你的潜力?你在团队中的位置?你觉得跟团队中最好的还有哪些差距?你要花多少时间赶上他们?你对阿里巴巴还有什么疑问吗?(我很囧的问了,“阿里巴巴的牛人平时都跟你们有互动吗?-----本意是指培训,但是话没说清楚„„”,囧了„„)PS,下面是时候对问题的整理,里面纯粹仅限于个人浅见,如果有错误,还希望各位能指点一二。==================================================================Java集合框架类图:我常用的类:HashMap,Hashtable,HashSet,ArrayList,Vector,LinkedList,Collections,Arrays;说说Hashtable与HashMap的区别(源代码级别)1.最明显的区别在于Hashtable是同步的(每个方法都是synchronized),而HashMap则不是.2.HashMap继承至AbstractMap,Hashtable继承至Dictionary,前者为Map的骨干,其内部已经实现了Map所需要做的大部分工作,它的子类只需要实现它的少量方法即可具有Map它的实现类一一作自己的实现,且该类已过时3.两者检测是否含有key时,hash算法不一致,HashMap内部需要将key的hash码重新计算一边再检测,而Hashtable则直接利用key本身的hash码来做验证。HashMap:Java代码1.inthash=(key==null)?0:hash(key.hashCode());2.-----3.staticintinth){4.5.6.h^=(h>>>20)^(h>>>12);returnh^(h>>>)^(h>>>4);}Java代码1.inthash=(key==null)?0:hash(key.hashCode());2.-----3.staticinthash(inth){4.5.6.h^=(h>>>20)^(h>>>12);returnh^(h>>>7)^(h>>>4);}Hashtable:Java代码1.inthash=key.hashCode();Java代码1.inthash=key.hashCode();4.两者初始化容量大小不一致,HashMap内部为16*0.75,Hashtable为11*0.75HashMap:Java代码1.staticfinalintDEFAULT_INITIAL_CAPACITY=16;2.staticfinalfloatDEFAULT_LOAD_FACTOR=0.75f;3.publicHashMap(){4.this.loadFactor=DEFAULT_LOAD_FACTOR;threshold=(int)(DEFAULT_INITIAL_CAPACITY*DEFAULT_LOAD_FACTOR);table=newEntry[DEFAULT_INITIAL_CAPACITY];init();.}9.„„„„„„„„„„„„Java代码1.staticfinalintDEFAULT_INITIAL_CAPACITY=16;2.staticfinalfloatDEFAULT_LOAD_FACTOR=0.75f;3.publicHashMap(){4.5.this.loadFactor=DEFAULT_LOAD_FACTOR;threshold=(int)(DEFAULT_INITIAL_CAPACITY*DEFAULT_LOAD_FACTOR);table=newEntry[DEFAULT_INITIAL_CAPACITY];init();6.7.8.}9.„„„„„„„„„„„„Hashtable:Java代码1.publicHashtable(){2.3.}this(11,0.75f);4.-----5.publicHashtable(intinitialCapacity,floatloadFactor){.10...........this.loadFactor=loadFactor;table=newEntry[initialCapacity];threshold=(int)(initialCapacity*loadFactor);}Java代码1.publicHashtable(){this(11,0.75f);2.3.}4.-----5.publicHashtable(intinitialCapacity,floatloadFactor){6...........7.this.loadFactor=loadFactor;table=newEntry[initialCapacity];threshold=(int)(initialCapacity*loadFactor);}8.9.10.其实后续的区别应该还有很多,这里先列出4点。平时除了ArrayList和LinkedListList有哪些?ArrayList和LinkedList的区别?事实上,我用过的List主要就是这2个,另外用过Vector.ArrayList和LinkedList的区别:1.毫无疑问,第一点就是两者的内部数据结构不同,ArrayList内部元素容器是一个Object的数组,而LinkedList内部实际上一个链表的数据结构,其有一个内部类来表示链表.Java代码1.(ArrayList)2.privatetransientObject[]elementData;3.4.„„„„„„„„„„„„„„„„„„„„„„„„„„„„„„5.6.(LinkedList)7.privatetransientEntry<E>header=newEntry<E>(null,null,null);/链表头8.9.//内部链表类.10.privatestaticclassEntry<E>{7.18.Eelement;//数据元素Entry<E>next;//前驱Entry<E>previous;//后驱Entry(Eelement,Entry<E>next,Entry<E>previous){this.element=element;this.next=next;this.previous=previous;}19.}Java代码20.(ArrayList)21.privatetransientObject[]elementData;22.23.„„„„„„„„„„„„„„„„„„„„„„„„„„„„„„24.25.(LinkedList)26.privatetransientEntry<E>header=newEntry<E>(null,null,null);/链表头27.28.//内部链表类.29.privatestaticclassEntry<E>{6.37.38.}Eelement;//数据元素Entry<E>next;//前驱Entry<E>previous;//后驱Entry(Eelement,Entry<E>next,Entry<E>previous){this.element=element;this.next=next;this.previous=previous;}2.两者的父类不同,也就决定了两者的存储形式不同。ArrayList继承于AbstractList,而LinkedList继承于AbstractSequentialList.两者都实现了List问形式趋向于“随机访问”数据存储(如数组),后者趋向于“连续访问”数据存储(如链接列表)Java代码1.publicclassArrayList<E>extendsAbstractList<E>2.---------------------------------------------------------------------------------------3.publicclassLinkedList<E>extendsAbstractSequentialList<E>Java代码4.publicclassArrayList<E>extendsAbstractList<E>5.---------------------------------------------------------------------------------------6.publicclassLinkedList<E>extendsAbstractSequentialList<E>3.再有就是两者的效率问题,ArrayListLinkedList元素需要向前向后遍历,所以索引元素要慢。ArrayList的特点,内部容器是如何扩充的?Java代码1.publicvoidensureCapacity(intminCapacity){.6.7.modCount++;intoldCapacity=elementData.length;if(minCapacity>oldCapacity){ObjectoldData[]=elementData;//这里扩充的大小为原大小的大概60%intnewCapacity=(oldCapacity*3)/2+1;8.9.if(newCapacity<minCapacity)newCapacity=minCapacity;10.11.//创建一个指定大小的新数组来覆盖原数组elementData=Arrays.copyOf(elementData,newCapacity);12.13.}}Java代码1.publicvoidensureCapacity(intminCapacity){.6.7.modCount++;intoldCapacity=elementData.length;if(minCapacity>oldCapacity){ObjectoldData[]=elementData;//这里扩充的大小为原大小的大概60%intnewCapacity=(oldCapacity*3)/2+1;8.if(newCapacity<minCapacity)9.newCapacity=minCapacity;10.11.//创建一个指定大小的新数组来覆盖原数组elementData=Arrays.copyOf(elementData,newCapacity);12.13.}}Properties类的特点?线程安全吗?Hashtable,,.:load(){}{=={c=====2<{c=c{=+=}''cc{=+}{=}{=}}<{c=''cc{c{=}{}}}==-.}{}{=={c=====2<{c=c{=+=}''cc{=+}{=}{=}}<{c=''cc{c{=}{}}}==-.}{{==}{==}===****{=c====.=加=={{=?:=.{0{}}}{c=&}{c=}{={}}{''

温馨提示

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

评论

0/150

提交评论