乐趣区

阿里P7面试经历JAVA总结技术面HR面附整理好的答案分享

为记录阿里的电面经历,特与大家分享,岗位是 JAVA 研发工程师。

答案文末分享!!!!!答案文末分享!!!!!答案文末分享!!!!!

一面主要问题如下:

  1. 首先自我介绍
  2. 数据结构算法的基本问题,如排序算法,二叉树遍历,后序遍历非递归,图的最短路径问题
  3. 对一个数组进行绝对值排序的算法
  4. java 中 hashmap 的底层实现
  5. java 中垃圾回收机制 GC 原理等
  6. 介绍自己的项目,数据库中用到的数据结构数据模型,死锁的概念(问的应该是数据库的死锁),如何避免死锁?
  7. 乐观锁和悲观锁?
  8. 一致性 hash 算法
  9. 项目中业务对象的关联关系 / 关联方式,谈谈左外连接及如何实现多对多关系模型
  10. spring 的 IOC 和 AOP
  11. sping 如何实现(保证)事务一致性完整性,spring 中事务传播机制类型
  12. 谈谈 WEB 的架构(应该指的是 j2ee 开发架构模型)、项目中的用户场景使用场景
  13. 对分布式架构的了解,如分布式存储 分布式缓存 分布式计算
  14. 谈谈对阿里的哪些开源项目有所了解?
  15. 对淘宝技术是否有了解?
  16. 对其杭州信息平台事业部其主要业务是否了解(其主要是 java 方面的开发,另可以重点关注看看工作流引擎)

二面主要问题如下:

  1. 首先仍然是先自我介绍
  2. 有过竞赛经历?奖项?专业排名?平时都看些什么书籍?是否参加了学校社团活动?哪个部门?主要工作?时间安排?
  3. 对哪些技术最熟悉最擅长?我说的是 java WEB 框架那些,然后就开始问 java 了
  4. 接口和抽象类的区别 实现有哪些不同?
  5. 序列化如何实现?用代码描述。writeObject? objectWrite?ObjectOutputStream.writeObject(). ObjectInputStream.readObject()
  6. IO 框架 集合框架的描述。如何判断文件是否存在?如何读取一个目录下面的所有文件和子目录?代码描述。
  7. 广度优先遍历目录下面的所有子目录和文件?代码实现?List 和 Map 的不同?HashMap 的实现?如何解决散列冲突?
  8. 多线程机制?线程休眠 10 秒?sleep()与 wait()的区别。
  9. 缓冲流 buffer 的用途?原理?
  10. linux 下如何查看 CPU 负载和 IO 端口的使用情况?如何创建目录?如何搜索一个指定的字符?
  11. 考察数据库的 sql 操作,给定了一个具体的业务表,如何对不同类型的数据进行统计。
  12. 事务的概念?脏读?如何避免?如何在代码中实现?
  13. sql 代码中如何使用如何定义一个事务?应该是如何定义一个事务的隔离级别?
  14. 项目中遇到的问题?解决方式?
  15. SSI 框架?spring 如何定义一个 bean? 代码描述。Bean 的生命周期?Bean 的 scope?
  16. 对淘宝技术架构的了解?从哪里获取到的?自己今后的职业规划?技术发展方向?
  17. 最后,对来杭州和阿里工作的意向?然后询问我自己有啥想问的?谈了下 信息平台事业部的主要业务?工作流和 ERP?

总体上来看,还是比较注重基础的 尤其是 java 的多线程和并发安全性及数据库相关,另外对有关开源框架的具体底层实现需要多阅读源码并进行总结。


下面是网上参考到的阿里 java 面试题目, 同样作为借鉴。

  1. hashmap,hashtable 区别。
  2. 是否了解过 hashmap 的源码?
  3. jvm 相关,主要是内存分配的过程,何时出发 GC,用什么工具或者命令来进行监控?
  4. 类加载,类隔离机制。
  5. spring 的 ioc,aop,事物,然后顺便提到了数据库的事物,两阶段提交,数据库锁的级别,MySQL 数据库锁的特殊之处(页级锁)
  6. java 线程池里面的 arrayblockingqueue,linkedblockingqueue 的用途和区别。
  7. 设计模式相关,主要讲解用途
  8. 如何保证数据库集群中 ID 的唯一性,假设每秒钟并发 20 万次。
  9. 设计十万并发级别的网站后台,如何计算使用的 ecs 数目 (云服务器(Elastic Compute Service, ECS 如阿里 ECS) 是一种处理能力可弹性伸缩的计算服务器,
  10. 基于 BGP 最优路由算法构架多线网络, 云服务器可以帮助构建更加安全稳定的应用)。
  11. memcached 和 redis 的异同和用途。
  12. nosql 数据库相关,主要讲了 mongodb
  13. 10G 的整数中,取出最大的一个(不光是使用高效的排序算法,还需要考虑内存大小)
  14. synchronized,volatile,可重入锁的用途和优缺点。
  15. java nio 相关核心的 api 基本了解和应用
  16. 一致性 hash
  17. 在一个大系统中存在哪些单点失效的问题
  18. hadoop 优化相关

一面,主要注重基础,问得很深很广,压力面试。

  1. hashmap、concurrenthashmap 底层实现和区别
  2. spring 框架的原理
  3. 如何写一个 orm 框架
  4. hibernate 一级缓存和二级缓存,hibernate 其他缓存
  5. hibernate 事务传播行为种类
  6. springmvc 原理
  7. restful 的好处
  8. restful 有几种请求,表单如何提交 put 请求
  9. web 中安全性问题的考虑,如何防止
  10. web 系统整体架构
  11. hibernate 如何实现声明式事务
  12. java 并发包
  13. volatile
  14. 平常都看哪些书
  15. spring 底层数据结构
  16. 如何进行反射,如何提高反射的性能
  17. 如何实现 java 的代理,为什么需要实现接口
  18. TCP 协议三次握手
  19. springmvc 用过哪些注解
  20. springAOP 可以使用哪些代理,有什么区别
  21. 为什么要分三层
  22. mybatis 与 hibernate 有什么区别,为什么不用 hibernate 直接写 sql 语句?

这面没有准备好,广度和深度压力很大,建议大家多看看三大框架源码、原理,并发包。

二面注重于项目

  1. 什么是 restful web service?
  2. 并发集合包?
  3. 项目中使用了哪些数据结构?
  4. TCP 中断连接四次挥手?
  5. MD5 加盐
  6. https
  7. 支付宝接口开发
  8. 知道哪些锁,有什么区别?
  9. 依旧 JDK 源码
  10. 项目遇到什么问题,怎么解决?
  11. JDK1.8 有什么新特性?

也许是觉得一面已经问了很多了,这面又答得比较不错,20 分钟就结束了,30 分钟出了结果。

三面聊人生

leader 人 very nice,给了一些建议,可能是觉得技术差不多,这面基本没怎么问技术,主要是职业发展、IBM 的实习内容之类,我想大家可能也都有自己的想法,18 分钟。

hr 面聊成长经历: 聊了一下对 B2B 的认识和自己的技术成长历程。


  1. 进程和线程的区别
  2. 什么叫线程安全?举例说明
  3. OSI 七层模型,包括 TCP,IP 的一些基本知识
  4. 数据库的锁
  5. DFS,BFS 算法
  6. 还有一些诸如 collection framework 的 Java 基础
  7. http 中,get post 的区别

其他的面试,感觉问的很有代表性:

第一面(只记得这么多了)

  1. 笔试题第四题实现又口述了下
  2. 有个每秒钟 5k 个请求,查询手机号所属地的笔试题(记得不完整,没列出),如何设计算法? 请求再多,比如 5w,如何设计整个系统?
  3. 比较熟悉什么技术? 我说 jvm 和 oracle,就让我画 jvm 的体系结构,画了之后说各个部分的职责,并扯到运行期优化。

第二面(没有技术细节,都是泛泛的,但是我回答的比较保守,只觉得能滔滔不绝的说上半小时才敢说看过或了解)

  1. 是否愿意去杭州
  2. 熟悉各种技术框架么? 源码读过么?
  3. 数据库了解什么?mysql 了解么
  4. 前台技术,看我用的 ExtJS,就问是否了解 JQuery
  5. 进现在的公司,觉得对技术是否有提升?

第三面,此面没有技术问题

第四面 HR(感觉这面问题回答的有点扯,毕竟是这么几年来首次面 HR,之前面过 2、3 个公司,要么很早就挂了,要么感觉流程太长,自己不愿意面下去)

  1. 愿意去杭州发展么? 我说要考虑,hr 就问主要考虑什么问题
  2. 从技术角度来说,你觉得你跟你同学比怎么样
  3. 你的父母怎么看待你的
    • *
  1. jvm 性能调优都做了什么
  2. 高并发情况下,我们系统是如何支撑大量的请求的
  3. 集群如何同步会话状态
  4. 负载均衡的原理
  5. 数据库事务属性
  6. 二叉树的遍历算法
  7. hashtable 和 hashmap 的区别
  8. 并发、同步的接口或方法
  9. string、stringbuilder、stringbuffer 区别
  10. https 处理的一个过程,对称加密和非对称加密
  11. 线程的几种状态
  12. 了解手机开发么
  13. 个人优势
  14. 与同事沟通的时候,如果遇到冲突了如何解决
  15. 工作中觉得哪方面欠缺?
  16. 有问题要问么?
  17. 期望薪水
  18. 为什么要离开现在的公司

那么看到这里的你肯定想问了,答案在哪?我把这些年经历过的面试,和一些刷过的面试题都做成了 PDF,PDF 都是可以免费分享给大家的,大家关注我的公众号:前程有光,回复领取资料即可获取!

退出移动版