面经详情

当前内容设置为仅微信小程序内可见

前往微信小程序

相关推荐

匿名用户
java工程师
确定通过感觉靠谱
前天接到阿里巴巴的面试官电话,心情很激动。首先就是自我介绍,就随便介绍了一下。然后就是问问题了,自己答得没有那么理想,就总结了一下,大家可以参考参考,简历的状态还没有变,不知道结果咋样。 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 是默认的也是最常用的对象模型。对于无状态服务对象很理想。...查看更多
2 年前 发布
2
匿名用户
java工程师
未通过感觉没戏
第一轮:电话初面 第二轮:技术面谈【技术职位尽量避免多谈管理工作】 第三轮:高管复试 第四轮:HR最后确认 一面:面试官一般会针对您所做过的项目来做具体技术的交流,会比较关注个人对项目细节是不是掌握到位,主要考察java的技术基础和原理,比如Spring框架以及数据库和JVM三个方面,也会交流到分布式、线程池的实现等等,重点考察是不是有比较钻研技术和技术上的亮点【不一定每个面都很厉害但一定要有亮点】; 二面:技术面,根据项目深入的了解技术实力,了解您的知识面,了解您的问题解决能力以及技术灵活运用能力,也通过这一过程考察团队合作能力、学习主动性和创新性,可以挑选2-3个做过的典型性项目做一个全面的技术回顾和自己独到的理解【这会成为您的加分项】; 三面:他们最后的高管复试会涉及到相关的技术问题,大部分是对你的整体价值观做宏观的把控(比如上进心,责任心,心态,工作激情等) HR确认:基本就是从大方向了解一下您的心态、抗压能力,工作中的角色、未来大致的规划以及对Ali的意向度 【技术基础以及的问题多看看书准备下就行了,不懂的直接说不懂没关系的;在项目细节上多把关一下,根据项目有针对性的谈自己的技术亮点,能表达清楚,可以引导面试官来问你比较擅长的技术问题,个人就可以尽情发挥】 Ali比较喜欢的人才特点:对技术有热情,强硬的技术基础实力;主动,善于团队协作,善于总结思考; Ali面试官关注的问题 - Java内存结构,spring的aop的实现方法,java数据库问题定位和性能调优; - 关于Java异常的续承层次结构,讲述异常的续承关系; - java中重载和重写有什么区别,分别用什么关键字; - 关于分布式消息队列,分布式缓存; - 关于hashmap源码实现, jdk - 关于设计模式,uml,jvm 内存回收机制问题 - java线程如何启动?java中加锁的方式有哪些,怎么个写法? - 对乐观锁和悲观锁的理解; - ORACLE中的SQL如何进行优化,都有哪些方式?事务有哪些特性,在ORACLE中隔离有哪些级别? - 介绍一下自己最近做的一个典型的项目; - 在项目中遇到了哪些问题,自己是如何解决的 ; - 目前系统支撑的用户量是多少,假如用户量提升10倍,系统会出现什么样的问题,如何重新设计系统【这里主要是想了解您的问题预见能力以及问题解决能力,考查思路】 - 使用memcached是一个什么样的原理 - 如何存放数据到memcached集群中,介绍一下这个过程。跟进的问题,讲一下一致性哈希算法的实现原理。 - JVM中堆是如何管理的,JVM的内存回收机制,介绍一下 PS:一定要准备下基础理论或者在网上看一些Java面试常用点 关于spring的aop的实现方法 关于分布式消息队列,分布式缓存 关于rpc方面 关于hashmap源码实现 关于Java异常的续承层次结构,讲述异常的续承关系 关于https握手过程 关于java数据库问题定位和性能调优 关于设计模式,uml,jvm 内存回收机制问题 java中类的加载机制 介绍一下自己最近做的一个典型的项目 在项目中遇到了哪些问题,自己是如何解决的 说一下有哪些常用的设计模式 事务有哪些特性,在ORACLE中隔离有哪些级别 一二面:技术面,主要是Java底层内容和项目细节。 1.java虚拟机垃圾回收机制,G1垃圾回收方式 2.ConcurrentHashMap实现方式,为什么并发效率高 3.线程sleep和wait区别,中断这两种状态线程的结果 4.项目中遇到的难题及解决方式方法 5.项目中用到的技术 6.谈一下在项目中做的工作 7.项目系统架构,对项目底层的认识 三面:交叉面,其他部门面试官交叉面试,提的问题都是常见的技术问题,和一二面也有一些重复 1.线程和进程的区别 2.堆排序和快速排序实现方式及原理 3.项目使用的数据存取框架 四面:HR面 1.在项目中承担的角色 2.在项目中所做的工作 3.和同事在工作上的交流 4.薪酬待遇问题 5.加班问题...查看更多
包含1个问题,0个回答
Q:Java内存结构,spring的aop的实现方法,java数据库问题定位和性能调优; - 关于Java异常的续承层次结构,讲述异常的续承关系; - java中重载和重写有什么区别,分别用什么关键字; - 关于分布式消息队列,分布式缓存; - 关于hashmap源码实现, jdk - 关于设计模式,uml,jvm 内存回收机制问题 - java线程如何启动?java中加锁的方式有哪些,怎么个写法? - 对乐观锁和悲观锁的理解; - ORACLE中的SQL如何进行优化,都有哪些方式?事务有哪些特性,在ORACLE中隔离有哪些级别?
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高级工程师
未通过感觉没戏
在内推网上收到了阿里菜鸟和阿里云安全部门的面试,后来参加了阿里云的面试。 阿里的面试安排的很快,这次止步二面,两轮面试都是电面。听朋友说阿里五轮面试,四轮技术一轮HR,技术面试是部门的几个同事交叉面试,也有了了解。 一面总体上还是围绕项目架构、Java基础、JVM、并发编程、数据库操作、中间件技术和Dubbo服务治理框架等展开, 可能因为是云安全部门,有一半时间在考察JVM,还提问了一些编译优化的知识, 一面结束后很快安排了二面,相对一面,二面的问题更深入,问题比较刨根问底,更加注重对一些技术细节的理解和把握。 比如数据库操作,面试官会详细的问你数据库插入和删除一条数据的过程在底层是如何执行的,项目里配置了读写分离,也会比较深入的就实现方法和底层逻辑展开讨论。 一些值得记录的问题: JVM内存分代, Java 8的内存分代改进 深入分析了Classloader,双亲委派机制 JVM的编译优化 对Java内存模型的理解,以及其在并发中的应用 指令重排序,内存栅栏等 HashMap的并发问题 了解LinkedHashMap的应用吗 在工作中遇到过哪些设计模式,是如何应用的 由于阿里杭州目前社招都是P6起,自我感觉和岗位要求有差距,二面在电话里和面试官交流了,没有再参加后面的面试。 两次面试,阿里给我留下的印象很好,面试官都是大牛,面试结束后第二天,收到了阿里的邮件拒信,点赞。...查看更多
2 年前 发布

进入微信小程序

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

立即前往
看准网阿里巴巴阿里巴巴面试经验阿里巴巴面试经验:一個半小時不停歇的首面問題轟炸