2024分享三面阿里:Java面试核心手册

本文讲述了作者在阿里巴巴面试过程中的经历,涉及自我介绍、项目展示、技术问题如Java核心知识、数据库优化(如B+树、索引、并发控制)、数据结构等,强调了面试中应变能力和技术准备的重要性。
摘要由CSDN通过智能技术生成
  • 有了解过apollo吗?

  • 了解CAP原则吗,介绍一下?

  • 你有什么要问我的吗?

阿里巴巴菜鸟网络二面:

  • 自我介绍,这次着重介绍自己的项目经历和项目总结。

  • 介绍项目,我刚说第一个就被面试官打断了,感觉要开始怼我,直接问有没有更亮点的项目。然后我介绍了另一个比较难的项目,讲了一些业务背景以及使用到的技术栈,不知道为什么面试官没有拓展开继续问下去了。

  • 网络协议有哪些?

  • 讲讲ThreadLocal的作用,是否线程安全?

  • 进程间的通信

  • TreeMap讲解,里面有什么属性,entry里有什么属性?

  • Java里有哪些是不需要加锁的同步方法?

  • 行锁和表锁的区别、场景

  • 组合索引的使用,eg. (a, b, c)索引,where a=x;where b=x;where a=x and b=x;哪个能使用索引?

  • ArrayList和linkedlist的区别?

  • 有哪些集合类是线程安全的?

  • 算法:(1)排好序的数组,找2个数的和为M的所有组合;(2)大数据下,找出出现频率topK的ip

  • 上家公司的研发部门有哪些组?大致的工作内容是什么?一个组多少人?你在什么组?负责什么?

  • 离开上家公司后,在看什么书?学习什么技术?(回答在研究Dubbo和MySQL,还看了一些底层实现的东西)

  • 截止目前,你自己感觉面试表现怎么样?

  • 你有没有要问我的?

——三顾阿里四面拿offer(一淘事业部)

阿里巴巴一淘事业部一面:

  • 按照自我介绍,项目介绍

  • 你们每天这么大的数据量,都是保存在关系型数据库中吗?

  • 那你们有没有对查询做一些优化呢?

  • 能说说为什么B+树相对于B树在查询上会更加优胜吗?

  • 除了上面这个范围查询,你还能说出其他的一些区别吗?

  • 刚刚我们聊到B+ Tree,那你知道B+Tree的叶子节点都可以存哪些东西吗?

  • 聚簇索引和非聚簇索引,在查询数据的时候有区别吗?

  • 刚刚你提到主键索引查询只会查一次,而非主键索引需要回表查询多次。是所有情况都是这样的吗?非主键索引一定会查询多次吗?

  • 在创建索引的时候你都会考虑哪些因素呢?有用过联合索引吗?

  • 在创建联合索引的时候,需要做联合索引多个字段之间顺序你们是如何选择的呢?

  • 知道在MySQL 5.6中,对索引做了哪些优化吗?

  • 你们创建那么多索引,到底有没有生效,或者说你们的SQL语句有没有使用索引查询你们有统计过吗?

  • 那排查的时候,有什么手段可以知道有没有走索引查询呢?

  • 那什么情况下会发生明明创建了索引,但是执行的时候并没有通过索引呢?

  • 你们线上数据的事务隔离级别是什么?

  • 手撕代码:链表内指定区间反转

阿里巴巴一淘事业部第二面:

  • 直接上来就手撕代码:重建二叉树

  • JVM:类加载机制,沙箱安全

  • 问到运行时数据区,我答漏了一个程序计数器,然后面试官就接着问到了程序计数器。

  • 问可达性分析,什么样的对象可以作为GcRoot、加载的时候把这些对象提前找好用的OopMap

  • 新生代几次对象几次到老年代?

  • 有没有可能直接就把刚new出来的对象放在老年代?(第一次碰到这个问题,有些慌,我答的有可能,毕竟有些垃圾回收器会有一个空间分配担保策略)

  • 多线程:volatile,CAS,总线嗅探,CPU缓存一致性协议

  • 讲一讲ReentrantLock、ThreadLocal、Lock和Synchronized的区别。

  • CountDownLatch,ABC三个线程怎么去保证顺序执行?

  • 数据库优化:B+树,Hash索引,最左前缀,索引优化分析,一条龙服务,都问了一下。

  • Redis:一来就是分布式锁,然后别的就没问了,可能也是觉得我回答得还行就跳过了。

  • HashMap:扩容的触发条件是什么?我答只是一个达到负载就扩容了,明显错了。然后面试官纠正说负载和Hash冲突同时发生。

  • 死锁怎么排查?

  • JVM调优怎么做?

  • 问了几个索引题。字符串要写单引号,字符串查询怎么增加查询效率,字符串索引太大了那就截取几个做索引,叫前缀索引。怎么判断一个索引字段选得好不好,看不重复的和总数的比值,越大越好。

  • 假如现在系统里面就是要模糊匹配怎么办?

阿里巴巴一淘事业部第三面

  • 自我介绍,直接问到了技术栈。(这次优化了自我介绍的内容,主要围绕4个点去讲。自报家门、项目经验、技术栈以及求职愿景)

  • 根据项目来提问,技术问题(这部分大致是对你的整体价值观做宏观的把控,包括上进心、责任心、心态以及工作激情等)

  • 在项目中遇到了哪些比较棘手的问题?是如何解决的呢?

  • 目前系统支撑的用户量是多少?假如用户量提升10倍,系统会出现什么样的问题?如何重新设计系统?(这部分就是主要考察你对问题的预见能力、解决能力,考察你对项目、问题解决的整体思路)

  • 使用memcached是一个什么样的原理?

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

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

  • 分布式事务实现方式

  • 热点账户问题(项目中有就会问到)

  • 类加载委托机制

  • 锁的应用

  • 项目架构

  • 最后一问:你觉得你在同事眼中是一个什么样的人?

阿里巴巴一淘事业部第四面(终面:Hr面)

  • 自我介绍

  • 看你工作换得比较勤?你的职业规划是怎么样的?

  • 上一份工作为什么要换?(我回答的是:上份工作让我处于一个舒适区,但我比较喜欢做有挑战的事情,巴拉巴拉)

  • 对阿里了解多少?对电商了解多少?

  • 知道新零售吗?说说看

  • 读过哪些算法方面的书籍?

  • 开放题:数据和商业的关系

  • 薪资待遇

  • 你有什么想问的?

面试题答案:

三顾茅庐,七面阿里,25k*16offer,还原我的大厂面经

Two:三顾阿里,七轮面试,我的经验复盘

================================================================================

1.阿里面试注意事项

  1. 部门选择:从这三次面试经历来看,部门不同,问到的技术栈都有所区别,所以在面试前最好是根据自己所面试的部门做相应的准备。

  2. 岗位选择:根据岗位介绍能够洞见的关键信息并不多,基于有限的信息,所谓合适通常需满足以下几点:①自身的核心竞争力与所应聘的岗位具有较高的匹配度;②对岗位的工作内容感兴趣,至少不排斥;③岗位所在的业务具有良好的前景;④工作地点可接受。

  3. 应变能力:几轮面试下来,给我最大的一个感受就是一定要培养自己的应变能力。在面试过程中,面试官会根据和你交流的过程中,找一些细节进行提问,一旦应变能力不强,就容易慌了张影响面试发挥,导致失败。

2.面试核心知识点梳理

除了阿里以外,其他七七七八八的互联网公司我也面过不少,不说身经百战,那也面临过一些枪林弹雨的。所以,对于面试会问到什么技术栈,还是做了一些详细的梳理,这些面试梳理还是相当有说服力的。

针对面试核心知识点的梳理,我提供了以下的思维导图和面试核心点PDF:

  • Java面试核心知识导图

三顾茅庐,七面阿里,25k*16offer,还原我的大厂面经

  • Java面试核心点PDF

三顾茅庐,七面阿里,25k*16offer,还原我的大厂面经

小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。

深知大多数初中级Java工程师,想要提升技能,往往是自己摸索成长,但自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!

因此收集整理了一份《2024年最新Java开发全套学习资料》送给大家,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。
img
img
img

由于文件比较大,这里只是将部分目录截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频

如果你觉得这些内容对你有帮助,可以添加下面V无偿领取!(备注Java)
img

1710818671241)]
[外链图片转存中…(img-6LY20nDj-1710818671241)]
[外链图片转存中…(img-oEGj52QO-1710818671242)]

由于文件比较大,这里只是将部分目录截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频

如果你觉得这些内容对你有帮助,可以添加下面V无偿领取!(备注Java)
[外链图片转存中…(img-KHkIhuFt-1710818671242)]

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值