写点什么

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

  • 2021 年 11 月 12 日
  • 本文字数:2777 字

    阅读完需:约 9 分钟

  1. 关于设计模式,uml,jvm 内存回收机制问题

  2. java 线程如何启动?java 中加锁的方式有哪些,怎么个写法?

  3. 对乐观锁和悲观锁的理解;

  4. ORACLE 中的 SQL 如何进行优化,都有哪些方式?事务有哪些特性,在 ORACLE 中隔离有哪些级别?

  5. 介绍一下自己最近做的一个典型的项目;

  6. 在项目中遇到了哪些问题,自己是如何解决的 ;

  7. 目前系统支撑的用户量是多少,假如用户量提升 10 倍,系统会出现什么样的问题,如何重新设计系统【这里主要是想了解您的问题预见能力以及问题解决能力,考查思路】

  8. 使用 memcached 是一个什么样的原理

  9. 如何存放数据到 memcached 集群中,介绍一下这个过程。跟进的问题,讲一下一致性哈希算法的实现原理。

  10. JVM 中堆是如何管理的,JVM 的内存回收机制,介绍一下

  11. 分布式事务实现方式

  12. 热点账户问题(项目中有就会问)


第一轮技术面试(电面)涉及 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 的实现有什么差异。了解这些可能需要花费很大精力。但是,面试的时候一但问到了这个你非常精通的知识点,就基本进入你的主场了。这个能起到一锤定音的作用,给面试官留下极强的印象,甚至直接决定了此次面试的成败。因此,至少准备那么一两个非常精通的知识点,一定不要多,但要比面试官和其他求职者都要精通。这个赌的就是运气,只要在一个问题上能给面试官上一课,就能让对方产生“你很厉害”的错觉。


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


项目篇


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


情商篇


面试的时候,可


【一线大厂Java面试题解析+后端开发学习笔记+最新架构讲解视频+实战项目源码讲义】
浏览器打开:qq.cn.hn/FTf 免费领取
复制代码


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


阿里面试流程


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

评论

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