最新阿里Java面试题整理+进阶资料分享,看完直接收藏

最新阿里Java面试题整理+进阶资料分享,看完直接收藏

前言:

金三已经过去,现在是银四,据我了解,好多人都会在三月份选择跳槽,为什么大家都会在三月份选择离职跳槽呢?那当然是新年刚刚过去,大家也许是觉得老公司待遇不怎么样?薪资不够高,想换个新环境等等原因,所以,三月份就变成了招聘与跳槽的旺季,那为什么四月份就比不上三月份呢?相信不用我说大家也知道,毕竟三月份大家都去凑热闹,都去招聘与面试了,四月份还剩下来的招聘与面试的人就寥寥无几了,而且四月份还没找到工作的可以用老油条来这么说也不为过,且四月份公司还招人的,那几本找的都是些大牛了。

那为什么我要说银四比金三火呢?因为,大多数人多觉得,四月份的工作难找,且薪资也不会很高,环境还不知道好不好,而且要求的还很多,面试也难面等等说法,但据我了解到的,四月份的就业情况要比三月份的好,待遇,薪资,环境等,都要比三月份的好。据我从一个好友James哪里了解到的,就在前几天,他带的两个学员,成功面试上了阿里,且还帮我整理哪两个学员的面试总结,在此,我分享给大家,希望大家在四月份要找工作的朋友,我的这篇文章能给你有所帮助。

面试总结

那来两位学员我分别用A和B来代替

A学员

第一轮:电话初面

第二轮:技术面谈【技术职位尽量避免多谈管理上的工作】

第三轮:高管复试

第四轮:HR最后确认

一面:首先确认对阿里的意向度(如果异地更会考虑对工作地点(杭州)的意向度!阿里很看重这个);其次面试官一般会针对您所做过的项目来做具体技术的交流,会比较关注个人对项目细节是不是掌握到位,主要考察java的技术基础和原理,比如Spring框架以及数据库和JVM三个方面,也会交流到分布式、线程池的实现等等,重点考察是不是有比较钻研技术和技术上的亮点【不一定每个面都很厉害但一定要有亮点】;

二面:技术面,根据项目深入的了解技术实力,了解您的知识面,了解您的问题解决能力以及技术灵活运用能力,也通过这一过程考察团队合作能力、学习主动性和创新性,可以挑选2-3个做过的有典型性的项目做一个仔细 技术回顾和自己独到的理解【这会成为您的加分项】;

三面:他们最后的高管复试会涉及到相关的技术问题,大部分是对你的整体价值观做宏观的把控(比如上进心,责任心,心态,工作激情等)

HR确认:基本就是从大方向了解一下您的心态、抗压能力,工作中的角色、未来大致的规划以及对阿里的意向度

【技术基础以及的问题多看看书准备下就行了,不懂的直接说不懂没关系的;在项目细节上多把关一下,根据项目有针对性的谈自己的技术亮点,能表达清楚,可以引导面试官来问你比较擅长的技术问题,个人就可以尽情发挥】

阿里比较喜欢的人才特点:对技术有热情,强硬的技术基础实力;主动,善于团队协作,善于总结思考;

阿里面试问的问题会比较底层

  1. Java内存结构,spring的aop的实现方法,java数据库问题定位和性能调优;
  2. 关于Java异常的续承层次结构,讲述异常的续承关系;
  3. java中重载和重写有什么区别,分别用什么关键字;
  4. 关于分布式消息队列,分布式缓存;
  5. 关于hashmap源码实现, jdk
  6. 关于设计模式,uml,jvm 内存回收机制问题
  7. java线程如何启动?java中加锁的方式有哪些,怎么个写法?
  8. 对乐观锁和悲观锁的理解;
  9. ORACLE中的SQL如何进行优化,都有哪些方式?事务有哪些特性,在ORACLE中隔离有哪些级别?
  10. 介绍一下自己最近做的一个典型的项目;
  11. 在项目中遇到了哪些问题,自己是如何解决的 ;
  12. 目前系统支撑的用户量是多少,假如用户量提升10倍,系统会出现什么样的问题,如何重新设计系统【这里主要是想了解您的问题预见能力以及问题解决能力,考查思路】
  13. 使用memcached是一个什么样的原理
  14. 如何存放数据到memcached集群中,介绍一下这个过程。跟进的问题,讲一下一致性哈希算法的实现原理。
  15. JVM中堆是如何管理的,JVM的内存回收机制,介绍一下
  16. 分布式事务实现方式
  17. 热点账户问题(项目中有就会问)

第一轮技术面试(电面)涉及Java基础点(可参考):

  1. session
  2. java锁
  3. gc原理
  4. hashmap
  5. listlink arraylist 区别
  6. aop 原理
  7. 多线程
  8. kafka 原理和容错
  9. spark hadoop 原理
  10. redis 同步机制
  11. classLoader 机制
  12. Http 协议
  13. cookie的限制
  14. HashMap key的要求 , hashcode一致两个对象是否相等
  15. JVM的原理
  16. 涉及面较广,包括谈到项目上遇到的问题,以此深入探讨。

XX:

  1. 介绍自己的工作职责、技术or管理怎么分配的
  2. 介绍项目,涉及的技术把整个流程说下。然后他感兴趣就会深入问
  3. 然后就是聊一些jvm、nosql之类的
  4. 假如服务器反应很慢,你应该怎么排查问题
  5. 怎么跟踪一个方法的用时,并且最小限度干涉业务程序

旁听面试-java:

  1. 人选介绍目前目前技术管理侧重;
  2. 对阿里推荐对应岗位的理解度;
  3. 系统设计是怎么样的;
  4. 做的一些架构,数据源来自于哪里并深入问;
  5. 模块边界,缓存机制;
  6. 选用技术选型时,A和B的区别;
  7. 多线程如何用,有什么好处,和进程的区别;
  8. 多线程的过程;
  9. 多线程同步的方法,X项目中如何去实现;
  10. 分布式架构在你目前项目中的体现;
  11. 跨主机通信用过什么,接口等;
  12. 大数据存储;

结尾:

  1. 你自己觉得你擅长什么,以后想走的路线,技术还是管理;

Java面试题分享:

  1. JMS的两种模式是那些;
  2. 富客户端怎么更新;
  3. 自己设计类似ESB这样的企业数据总线应该有哪些功能;
  4. 系统架构设计;
  5. 集群中怎么控制session;
  6. 怎么样知道java存中是哪一些模块消耗内存比较多;
  7. 应用服务器的参数调整。

B学员

基础篇

面试题

  1. junit用法,before,beforeClass,after, afterClass的执行顺序
  2. 分布式锁
  3. nginx的请求转发算法,如何配置根据权重转发
  4. 用hashmap实现redis有什么问题(死锁,死循环,可用ConcurrentHashmap)
  5. 线程的状态
  6. 线程的阻塞的方式
  7. sleep和wait的区别
  8. hashmap的底层实现
  9. 一万个人抢100个红包,如何实现(不用队列),如何保证2个人不能抢到同一个红包,可用分布式锁
  10. java内存模型,垃圾回收机制,不可达算法
  11. 两个Integer的引用对象传给一个swap方法在方法内部交换引用,返回后,两个引用的值是否会发现变化
  12. aop的底层实现,动态代理是如何动态,假如有100个对象,如何动态的为这100个对象代理
  13. 是否用过maven install。 maven test。git(make install是安装本地jar包)
  14. tomcat的各种配置,如何配置docBase
  15. spring的bean配置的几种方式
  16. web.xml的配置
  17. spring的监听器。
  18. zookeeper的实现机制,有缓存,如何存储注册服务的
  19. IO会阻塞吗?readLine是不是阻塞的
  20. 用过spring的线程池还是java的线程池?

能回答上百分之七十,基础的广度就算OK了。如果达不到,那么缺什么就赶紧补什么。广度达到了,还需要对个别热点问题有深度。每个人的精力都有限,可以适当挑选两个热点问题进行深入挖掘。比如HashMap,要不仅仅能够说上来源码是什么去实现的,还要了解JDK1.7版本到1.8版本都做了哪些改进,为什么这么改进,ConcurrentHashMap怎么实现的,针对并发场景都做了哪些优化措施,JDK1.7和1.8的实现有什么差异。了解这些可能需要花费很大精力。但是,面试的时候一但问到了这个你非常精通的知识点,就基本进入你的主场了。这个能起到一锤定音的作用,给面试官留下极强的印象,甚至直接决定了此次面试的成败。因此,至少准备那么一两个非常精通的知识点,一定不要多,但要比面试官和其他求职者都要精通。这个赌的就是运气,只要在一个问题上能给面试官上一课,就能让对方产生“你很厉害”的错觉。

所有基础知识都要做好笔记,面试前多回顾下,在配合刷下题,问题就不大了。

项目篇

要回答好项目问题,核心就是要提前做好充足的准备。首先,仔细回顾自己做过的项目。然后挑选最有价值的部分,写一篇关于这个项目的总结性文档,要讲清楚这个项目的架构,设计思路。其次是努力回想当时遇到的难点,踩过的坑,以及自己怎么思考和应对的,还有对项目后续改进的思考。这个非常重要,一定写下来。文档写出来后,还要反复提炼和补充。面试的时候就以此文档为纲领,方能做到侃侃而谈,从容应对。

情商篇

面试的时候,可能会穿插一些考察性格的问题。比如,问你为什么离职/想换工作,对技术和业务怎么看,对我们公司有什么了解,对我们的业务有什么了解,你有什么想问我的,你觉得自己有什么优点/缺点。做技术的同学往往在情商方面有所欠缺,如果没有准备的话,面试时一不小心说错一句话就可能导致前功尽弃。尤其在阿里,HR是有一票否决权的。 那么,应对此类问题的第一点就是提前预防,可以提前拿张纸,猜想对方可能会问的问题,把标准答案写出来,反复推敲,然后背下来即可。比如,“你觉得自己有什么优点”这个问题,我当时的标准答案就是,“我觉得人最难了解的就是自己,所以我想借用我前领导对我的评价,XXX是个…的人”。我的这个标准答案是基于 “第三方的评价更有可信度” 这个原理来设计的。第二点,回答问题的时候表现的谦虚一点即可,而且千万不要有负能量。比如“为什么离职/想换工作”,这个问题,不要去吐槽公司或者同事,或者表达情绪上的不满。要尽量展现出自己好学上进的一面,这一点很重要。面试官会把对你的印象记录在案的,包括你的优点和缺点。因此即便技术达不到要求,也尽量展现性格上的优点。

阿里面试流程

面试一般是四到五面,以电话面试为主。最后一轮面试时HR面试,所以只要挺过前面的技术面试一般就OK了。第一轮是考察基础,第二轮开始考察项目,沟通表达能力。第三四轮会可能有编程,要求现场写代码,或者线下完成一个指定的项目。面试官的级别在p6-p9之间,一般随着面试流程的推进而升高。技术面试通过后就是HR面了,这一轮主要考察价值观。所有面试结束后,就是一个漫长的等待了,期间会有体检,背景调查,然后发offer。这个流程会有一个月的时间,比较久。需要注意的是,面试过程中一定要保证诚实,不能有半点弄虚作假。因为一但背景调查的时候发现说谎了,不但offer会取消,还会记录到人才库里。再有一点,约好了的面试不能随意爽约,这个也会永久记录。你的每次面试的过程都会详细的记录在人才库里的,因此尽量不要留下污点,以免影响以后的面试。

以上这两位学员,是James带的两位学员,那两位学员面试过了,然后写出来的总结,我再此分享给大家。

那为什么这两个学员能在这四月初就可以面试上阿里呢?有人就说:“可能他们是老油条,经验丰富当然能面试上了,” 你们是不是想不到,据我问James的,他们两个都是2-3年的工作经验的,基础中等。

总结:

通过以上的两位朋友总结出来的阿里面试总结,你们自己在看文章时,你自己想一下看,你能把那些问题都能回答上来么?你对自己的技术感到又想到进一步的提升么?在四月,面试黄金月的最后一月,你能把握住机会么?在你约到技术上的困难以及瓶疾的时候,你能够解决么?不能解决的,证明你在开发的道路上,你还需要继续努力学习。

最后:点这里即可获得整理好的面试题以及答案。

猜你喜欢

转载自blog.csdn.net/lyl5454/article/details/112653072