面经详情

阿里的内推第一次面试。
前天接到阿里巴巴的面试官电话,心情很激动。首先就是自我介绍,就随便介绍了一下。然后就是问问题了,自己答得没有那么理想,就总结了一下,大家可以参考参考,简历的状态还没有变,不知道结果咋样。 1.说一说ssh2框架整合的工作流程以及它们各自的功能 struts2将jsp中的控制分离出来,当它要执行控制逻辑的具体处理时,就直接使用Spring中的Action组件;Action组件在处理中若要访问数据库,则通过DAO组件提供的接口;而Hibernate才是直接与数据库打交道。 所有的Action模块,DAO类以及Hibernate全部都由Spring来统一管理,整个系统是以Spring为核心,Spring使得管理对象更加方便,极大的降低了组件之间的耦合度,实现了软件各层之间的解耦。 2.Hibernate的核心模块 Hibernate是一个持久层框架,封装了JDBC,基于ORM。它有五个核心接口: Configuration: 负责管理Hibernate配置信息; SessionFactory: 负责创建session实例; Session: 是Hibernate持久化操作的基础,提供了众多的持久化方法; Transaction: 是Hibernate中进行事务操作的接口,是对实际事务实现的一个抽象,这些实现包括JDBC事务,JTA中的UserTransaction,甚至可以使CORBA事务。 Query: 查询接口,用于向数据库中查询对象,包装了HQL查询语言,采用了新的面向对象的查询方式。 3.Spring的IOC和AOP IOC: ①IOC就是控制反转 ②控制反转就是由第三方实例化对象 ③IOC的好处:可以降低耦合度 AOP思想 ①AOP就是面向切面编程 ②AOP的思想就是把一个对象按照业务分为主要业务和次要业务,然后再动态的组合 ③AOP的好处:降低耦合度,代码重用,分工合作 4.什么是运行时异常? RuntimeException类及其子类异常,如NullPointerException(空指针异常)、IndexOutOfBoundsException(下标越界异常)等,这些异常是不检查异常,程序中可以选择捕获处理,也可以不处理。这些异常一般是由程序逻辑错误引起的,程序应该从逻辑角度尽可能避免这类异常的发生。运行时异常的特点是Java编译器不会检查它,也就是说,当程序中可能出现这类异常,即使没有用try-catch语句捕获它,也没有用throws子句声明抛出它,也会编译通过。 5.抽象类和接口的区别? 1.抽象类可以提供成员方法的实现细节,而接口中只能存在public abstract 方法; 2.抽象类中的成员变量可以是各种类型的,而接口中的成员变量只能是public static final类型的; 3.接口中不能含有静态代码块以及静态方法,而抽象类可以有静态代码块和静态方法; 4.一个类只能继承一个抽象类,而一个类却可以实现多个接口。 6.你知道几种设计模式?单例模式是什么?Spring中怎么实现单例模式? 设计模式总共23种,我看了那本大话设计模式。但几种常用的有单例模式,简单工厂模式,工厂方法模式,缺省适配器模式。但面试官就问单例模式是什么? 单例模式:一个类有且仅有一个实例,并且自行实例化向整个系统提供。 (我有一篇博文详细的写了) Spring中实现单例?当时候我还真是蒙了,单例模式不是通过它的三种形式去实现它,为什么还要单独在Spring中去实现呢?当时这个问题就没有回答出来。后来想了一下,不知道总结的对不。 总结 bean 工厂的概念是 Spring 作为 IOC 容器的基础。IOC 将处理事情的责任从应用程序代码转移到框架。正如我将在下一个示例中演示的那样,Spring 框架使用 JavaBean 属性和配置数据来指出必须设置的依赖关系。而BeanFactory 支持两个对象模型,其中一个就是单态 模型。 □ 单态 模型提供了具有特定名称的对象的共享实例,可以在查询时对其进行检索。Singleton 是默认的也是最常用的对象模型。对于无状态服务对象很理想。

相关推荐

匿名用户
java工程师
未通过未通过
我就是那拥抱变化的其中一员,实习面试过了,拿了offer。但是没去实习,最后校招随便面了下,给你挂了。从实习到校招,一共电话面了6-7次,具体我也不记得了。阿里不太喜欢问算法,喜欢问些java概念的东西,j2ee可以好好看看,系统设计的也可以看下。 一面:主要问简历里面的项目经历和比较多的知识基础 (1)自我介绍 (2)项目中遇到的困难 (3)多线程 (4) tcp与udp的区别?多线程有哪些注意的地方? (5)你是学电子的,为什么搞计算机? 二面:项目经历和少量的java基础(GC机制) (1)实验室的项目,论文写了什么内容? (2)问哪个项目最有心得?现在系统怎么改进? (3)怎么样在全国建立一个身份证存储系统? 三面:问了一下项目,跟二面差不多(也问了一下GC,阿里这么喜欢GC么) (1)专业是电子为什么会去干这个? 自己对这种东西比较感兴趣,平时也会写个小的安卓程序(比如说相册),或者网上找一个炫酷的html源码改造一下。 (2)对阿里这个公司有什么看法? 能为很多人服务,能真正用到生活中,对人们的生活产生帮助。 4面: (1)实习时间:hr说最好尽早确定实习时间,实习两个月转正。 答:七八月一定能去 (2)对蚂蚁金服的看法:hr说手机支付宝用过吧,了解过吧,用过红包没。参照4面准备 (3)前三面觉得自己有哪些答得不好的? 主要是j2ee,自己平时做项目用到的都是j2se,j2ee不太了解 校招终面(大概面了两三次): (1)问你是没来实习的吧 答:因为实验室项目没去。 (2)自己想去支付宝什么部门,不太了解,面试官介绍了一下支付宝的大概组成。 (3)自己未来的规划,想干嘛? (4)最后有什么问题问他?...查看更多
包含1个问题,1个回答
Q:怎么样在全国建立一个身份证存储系统?
2 年前 发布
2
匿名用户
java工程师
确定通过感觉靠谱
笔试过了,很多人都接到了面试通知,我也接到了。后来才知道参加面试的有200人,阿里还真是海面。当晚又抱了一下佛脚。通知我的面试时间是11点40,我11点06到场,发现很多人都在等待,遇到我们班前批的同学,有的是9点多面试都还没轮到。然后我们就直接去科大食堂吃饭了(ps:吃饭时我旁边的两个女生一直讨论高数的一个定理,科大mm就是强啊),吃完了我们继续等待。我们班已经有面试出来的了,结果都不太好,我就想自己就当是积累一次面试经验吧,不指望能通过。12点50多终于轮到我了,1面的gg人很好,总是笑嘻嘻的,我先自我介绍了一下,然后说明我一直都在搞php,java没搞过,他说没关系。然后开始问我一些java基本知识,不会的我就直接说不会,他也没为难我,就找更简单的问我,始终态度都非常好。了解了我的java水平后就考我两个简单的算法(判断回文和排序),我也顺利的写出来了,然后问了我一些数据库方面的知识,最后就是项目和实习方面的情况。我也基本上和他配合的很好,说到我擅长的就滔滔而谈,不会的就直接说不会。整个面试轻松愉快,持续了近一个半小时,最后他和我说:一面我让你过了,二面就看你的运气了。然后给我写下评语,后来我无意中看到评语,对我的评价很高,真的很感谢这位gg,不然二面就不会那么容易过了。...查看更多
包含1个问题,1个回答
Q:问了我一些java基础方面的知识,然后就开始谈php,他对php应该是比较了解。
2 年前 发布
1
匿名用户
Java
未通过未通过
简单自我介绍,项目介绍。 从本科入学到省创,再到推免,再到进入导师实验室参与项目,之后介绍研究生期间完成的两个项目。 2. 项目中遇到的最大的难点是什么? 3. java 中所有类的父类是什么?该类有哪些方法? Object类,方法包括:hashCode(), toString(), equals(),wait(),notify(),notifyAll(),finalize()。 4. wait() 和notify()的作用是什么? 线程同步。 5. 介绍类加载机制。 双亲委托机制,类初始化顺序。 6. 对数据结构的了解 队列,栈,堆(优先级队列),二叉树,平衡树,二叉树,红黑树,B树,B+树。 7. JAVA 中可以向ArrayList添加任意多的元素吗? 答,在没有内存溢出的情况下可以无限添加,同时补充了ArrayList的自动扩容机制。 8. ArrayList 和LinkedList的区别,二者各自的优势分析? ArrayList基于数组实现,LinkedList基于链表实现,之后问题回归到数组和链表各自的优势,在插入,删除,查找的使用情形下。 9. Hashmap的实现机制,hashmap的冲突解决法办法。java 1.8 中引入了哪些特性? 散列表实现,一次探测,二次探测,开放链表法。 10. 是否使用过ConcurrentHashMap? 无。 11. 菲波那切数列的实现 剑指offer原题,考虑边界条件,整数溢出,空间复杂度和时间复杂度。 12. 在运行java程序的时候,是否有过调节jvm参数的经历,jvm参数包括哪些? 答:栈内存,堆内存,栈深度,垃圾回收算法。13. 什么情况下需要特别调节jvm参数,调节jvm参数的准则是什么? 无。 14. 谈谈你对Spring的了解? Ioc和Aop,以及SpringMVC。 15. 谈谈你对mybatis的了解? 扯了下hibernate。 16. Statement和PreStatement的区别; 17. SQL注入,写代码时是否会注意代码的安全性? 18. 讲一讲快速排序的思想 结合归并排序,扯到分治思想,与快排做对比。 19. 你所做的项目都是C/C++,且很底层,为什么要找JAVA研发工作? 谈到将来的就业方向,JAVA的开源思想。 20. 你什么时候开始做的JAVA?做过哪些JAVA项目? 好尴尬的回答,最后满打满算算了两年(大四和研二)。 21. 工作地的考虑,是否愿意去杭州或北京? 答,不愿意,面试官就说给我特别备注一下。 22. 你有什么问题要问我吗? 问了面试官的工作日常,工作部门,以及工作时间。 23. HTTP协议,状态码,Session,Cookie? 乱答的,泪奔。 ...查看更多
包含1个问题,1个回答
Q:项目中遇到的最大的难点是什么?
2 年前 发布
2

进入微信小程序

前往微信小程序,查看更多结果

立即前往
看准网阿里巴巴阿里巴巴面试经验阿里巴巴面试经验:阿里的内推第一次面试。