面经详情

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

前往微信小程序

相关推荐

匿名用户
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工程师
未通过未通过
我就是那拥抱变化的其中一员,实习面试过了,拿了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工程师
未通过感觉没戏
第一轮:电话初面 第二轮:技术面谈【技术职位尽量避免多谈管理工作】 第三轮:高管复试 第四轮: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
未通过未通过
简单自我介绍,项目介绍。 从本科入学到省创,再到推免,再到进入导师实验室参与项目,之后介绍研究生期间完成的两个项目。 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

进入微信小程序

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

立即前往
看准网阿里巴巴阿里巴巴面试经验阿里巴巴面试经验:阿里云的面试,问题比较深入