百度360必应搜狗淘宝本站头条
当前位置:网站首页 > 技术教程 > 正文

来瞧瞧阿里一面都面些什么(笔试+机试)

mhr18 2025-07-28 18:26 4 浏览 0 评论

絮叨

说实话,能有机会面一下阿里对我来说帮助确实有蛮多,至少让我知道了自己的不足在哪,都说面试造火箭,上班拧螺丝。但就算是如此,为了生存,你也只有不停的学习,唯有光头,才能更强。哈哈

起因

2月28日在Boss上,有个阿里的大佬找我打招呼说可以帮我内推,我想也没想就把简历给它了,然后就一直忘记这事了。因为我觉得我一个垃圾学校的小垃圾,怎么会有面试机会,亏人家还让我准备一下,我也抛到九霄云外了。



然后也收到了阿里的内推消息



开始第一轮电话面

然后在3月4号的晚上8点钟(看来阿里的工作时间确实长,我估计面试也是他们kpi的一部分吧),一个来自杭州的陌生电话打过来

面试官

xxx,你好,我是杭州阿里巴巴xxx的,我想问你现在有没有时间,我来简单的给你做个面试,你这边先来个自我介绍

当时我还没意识到是内推,因为我早已经忘的差不多了,还以为是啥新的炸骗方式,直到他说它是来给我面试的,然后说有人内推过我的简历,我这才想起几天前的事情。然后我巴拉巴拉的做了一个传统的自我介绍,就是那些套路,之类的,然后面试官开始问问题了

面试官

你对多线程了解吗,说说你对Synchronized和lock,说说他们之间的区别

其实这个问题,应该算是很基础的问题了,我就说了一下,一个乐观锁,一个是悲观锁,然后说了一下Synchronized的锁升级的过程(这个还行我自己觉得),然后我说了一下 Synchronized 锁方法 ,静态方法,同步代码块的一些区别(这个点其实我没答上来,有点忘记了。就是在JVM里面的标记位不同的区别),然后是lock这点我也没答上,这个应该说他的几个实现,然后跟面试官聊聊他的底层实现原理,但是我这个是目前真的不是很熟悉,因为平时不用,可能前面走马观花的看了,但是这次面试是突击,所以真的对于lock就是知道他是aqs实现的具体的全忘记了

面试官

然后面试官说lock不熟,没事,那你还有没有用过什么东西来保证线程安全

然后突然想到了一下CAS,然后说了一下CAS,这个我感觉说的7788吧,至少怎么保证安全的我说出来,先在本地线程记录原来的值和计算之后的值,去刷到主存的时候,先比较原来的值。但是他让我说底层原来的时候,我又好像说错了,我把他和voliate搞混了,我竟然说是因为有一个内存总线,真的是尴尬呀,能够说让其他的本地线程无效,在Cpu层面(这就是那种靠背的结果,哎),其实CAS的底层是一个lock指令来实现的再多核系统中,反正就这样扯。。被我扯到了分布式锁。。。我感觉自己拉开话题的技术还是可以的,哈哈

面试官

你说你们公司用的redisson来实现分布式锁,如果不用redisson你能实现分布式锁嘛,自己用redis,或者你给我说说redission是怎么实现分布式锁的

当时我就在想,我怎么把自己从一个坑,挖到另外一个坑,因为redisson的底层源码,我是真的没看,这个我是真说不出来,然后我就说怎么实现分布式锁,用exist 和 setNX命令,还有加超时时间,然后用lua脚本做成一个原子性操作,来实现一个分布式锁,这个我以前自己做过demo,然后现在手写不出来,但是至少做过,印象还是深点。然后我就搭了一下,然后他又说,那你还有什么方法保证原子性呢?我其实也不清楚他想问的是啥,我就随便搭了个事务。。。。

面试官

我看你对redis 蛮熟悉的,那我们就来聊聊redis,说说他的数据结构

我靠,终于来了个会的了,哔哩吧啦的说了一下,然后他又问了一些基础的东西,比如说缓存穿透这些,这些其实还好,毕竟自己有试过。

面试官

既然你对redis那么熟悉,你知道为啥redis那么快嘛

其实这个问题是为后面做铺垫的,我搭 单线程 内存 IO多路复用,妈的这个IO多路复用我只是以前看书的时候看过,我根本还不是很熟悉这个东西,然后他就盯着这个问了。。。然后我就尴尬的一批。就没问我了,可能知道了我的深度了吧,哈哈

面试官

那你对多线程方面的知识,还有哪些了解的,比如线程池,或者原子性的类这些

我心里,一万字曹尼玛,又来多线程,然后我说了几个我自己并不是很熟悉的原子类,然后聊到底层,又不会(还是太菜),然后聊线程池,然后聊线程池的创建,线程池的运行过程,然后他的优化啥的,然后聊了一下,感觉我也没啥深度,就终于不再跟我聊多线程了,(目前为止,就聊了2个东西 redis和多线程,redis的东西,至少我感觉比多线程要好很多),然后面试官,又开始问了

面试官

我看你用的rabbitmq 说说你是如何保证消息的可靠性的

这个其实还是很简单,从发送端就是 confirm机制,接收端就是用的ack机制,然后引用到我们自己项目用的Aop把失败的消息存到redis中,并通知相关负责人去处理,这样,然后我来聊到了 我用它来做分布式事务的可靠消息最终一致性,因为这些东西都是我自己引申过去说的,肯定是我比较会的,说到了如何去做它的幂等,防止重复消费,然后中间还插了一下rocketmq ,可惜我不是很熟悉,它里面的事务机制,稍微说了下 然后说了一下它的持久化机制啥的,最后它问了一个啥问题,说假设你什么都做到最好的情况下,怎么样才能更好的保证消息的可靠,包括你的服务器被炸了,断点,啥的。。。完成不知道再问啥,然后mq就没问了,其实看着说的简单,但是实际聊的东西还是有点的,什么死信队列啥的都是有设计到的。

面试官

我看你对JVM调优有了解,我们聊聊JVM吧,然后因为垃圾回收算法,垃圾回收器。

这个还好毕竟自己有看过这方面的知识,然后就把JVM的知识说了一遍,反正就是自己知道各种扯

面试官

说说你是怎么定位线上问题的定位吧,比如说CPU 或者是内存

其实我这快没怎么实战过,还是看过一些人家的解决方案,然后我就靠着记忆 Cpu:通过 top 命令找到 CPU 消耗最高的进程,并记住进程 ID。再次通过 top -Hp [进程 ID] 找到 CPU 消耗最高的线程 ID,然后找到线程ID是十进制的,把他转换成十六进制,然后用jstack找到当前线程的jstack.log的快照,然后分析他的问题。 内存:其实对于内存的话无非就是2种一直是内存溢出,另外一种是内存不健康,就是内存泄露 内存溢出的情况可以通过加上 -XX:+
HeapDumpOnOutOfMemoryError 参数,该参数作用是:在程序内存溢出时输出 dump 文件。 有了dump文件,我们找问题就很简单了,比如我们用MAT等等,找到原因 如果是内存泄露的话就得具体分析了 比如你的young GC的频率,和Full GC的频率 ,如果是和平时完全不一样的话,我们也可以用MAT去分析一下看是否是每个对象占用的内存特别大,并且还没有回收他,然后找到这个对象去分析他的逻辑,并且来解决这种内存泄露的问题

面试官

聊聊mysql把,平时怎么做查询,优化

反正就是那些套路 什么索引啥的,说到索引了,那你对b+数熟悉吗,我。。。。又是挖坑给我,我擦。我就其实我不懂,我因为没有准备去面试题。。。。唉(还是不能注重形式)

面试官

没关系,我们来聊聊mysql的隔离级别

我又把那几个背了一下(还好这个好记得,因为真的是死背的以前)

面试官

那你给我说说 可重复读的底层实现原理嘛

我擦,又掉坑里面去了。。。。唉我就只好说,还没空去了解这块

面试官

没关系 我看你用的SpringCloud 聊聊他的组件吧

然后我有哔哔哔啦 把这些基础的 平时工作的这些分布式组件给他说了

面试官

那你给我说说 注册中心怎么保证自己的高可用的

其实这个还好,以前背过哈哈 我就把自己对2pc的选举过程崩溃恢复,数据同步的过程扯了一遍

面试官

既然你对2pc 这么熟悉。我给你个场景,你说说看这种情况怎么处理,就是因为网络原因,出现了双主问题。

我的内心的崩溃的,其实我都不知道再说啥了反正,不过有一点我是知道的,肯定是再瞎说,因为我自己也真不知道自己再说什么了,然后只能说,这个不是很清楚

面试官

好点,没事。那你说 对于分布式系统来说,除了我们经常说的2pc 3pc还有什么更好的方法来做数据一致性

然后我又不知道要说啥了,又只能说不知道了

面试官

然后又问了下Spring ,对于Spring的一些源码的理解

我靠,终于问到一个我会的了,然后我就Spring容器的初始化过程 和Spring单例bean的注入过程,和循环依赖讲了一下。这个它竟然没往死里问我了,哈哈(看来平时看点源码还是有点用的)

面试官

你现在有电脑吗,我们来做个机试吧,

然后我说我没带电脑,我想着就说算了把,谢谢您的好意,我反正也过不了,然后它就再三约我明天晚上来做,我就说 没有补全 我代码都写不全的,但是它还是邀请我参加,我就只能答应了,然后就挂了电话

开始我的阿里第一次机试,估计也是最后一次(哈哈)

当时我跟这个面试官约的是3月5号 8点以后,看来再阿里工作也是蛮长时间的,但是人家工资高,哪里像我们做的多,工资少,不过人家水平高,这个没办法

到了8点,面试官主动给我打了个电话,然后把机试题目发到了我邮箱,然后高速我看着我写,我心理拔凉的,担心啥也写不来



然后题目其实很简单 是力扣上的24题,但是我当时做的时候并不知道,我也不能百度,可惜我在那瞎写写了30来分钟,但是也是完成没有搞懂再干嘛



最后只能选择放弃



结束我的阿里面试旅程



结尾

哈哈,其实还是自己太菜了,虽然说我连一面都没过(菜是原罪),但是这次面试给我的帮助还是很大,让我在没有准备的情况下知道了自己的水平,应该算是比较真实了把,还有一点就是我们工作中大都是CV大法,导致我很多的基础代码都不是很会,基础不扎实,虽然这个机试是算法,但是我很多简单代码没有补全都不会,很多简单工作的实现都是百度,导致自己的动手能力弱了很多。这点以后要改,我呢?把这次经历分享给大家,希望大家要引以为戒。好好学习,扎实基础。


作者:六脉神剑
链接:
https://juejin.im/post/5e60f6d05188254963276acc

相关推荐

软考架构师-案例分析之Redis(软考架构师真题)

软考架构师考试中,Redis的知识考了很多回,从最近几年来看,案例分析经常考,有的时候单独考,有的时候和其他知识点一起考。Redis过往的考试中,考过的知识如下:1、Redis特点,涉及数据类型、持久...

揭秘:视频播放网站如何精准记录用户观看进度

在互联网蓬勃发展的当下,视频内容已毫无争议地成为人们获取信息、享受娱乐休闲时光的核心方式。据权威数据统计,全球每天有数十亿小时的视频被观看,视频流量在网络总流量中的占比逐年攀升,预计在未来几年内将超过...

量子级一致性!Flink+Redis全局状态管理

百万级实时计算任务如何实现亚毫秒级状态访问?本文揭秘Flink+Redis的量子纠缠态状态管理方案,将状态延迟降至0.3ms。引子:实时风控系统的量子跃迁//传统Flink状态管理(基于RocksD...

在 Mac 上运行 Redis 的 Docker 容器

在Mac上运行Redis的Docker容器,你可以按以下步骤操作,非常简单高效:一、前提要求已安装DockerDesktopforMac可通过终端验证Docker是否可用:d...

从 0 到 1:使用 Nginx + Lua 打造高性能 Web 网关

在大规模分布式架构中,Web网关扮演着重要角色,负责请求转发、负载均衡、限流、认证等功能。而Nginx+Lua结合可以提供:o高性能:Nginx是目前最流行的高性能Web服务器o动...

外贸独立站缓存设置黑科技:用错Redis比没缓存更致命

上周帮一个杭州卖家排查网站崩溃问题,发现这老铁把Redis缓存设置成128MB还开着持久化,服务器内存直接炸得比春节红包还彻底——"你这哪是缓存啊,根本是DDoS攻击自己!"最近Clo...

Spring Boot3 整合 Redis,这些缓存注解你真的会用吗?

你在开发SpringBoot3项目时,有没有遇到过这样的困扰?随着项目功能不断增加,数据量逐渐庞大,接口响应速度变得越来越慢,用户体验直线下降。好不容易找到优化方向——引入Redis缓存...

MySQL处理并发访问和高负载的关键技术和策略

MySQL处理并发访问和高负载的关键技术和策略主要包括以下几个方面:一、硬件优化1.CPU:提升CPU处理能力可以明显改善并发处理性能。根据数据库负载,考虑使用更多的CPU核心。2.内存:增加内存可以...

druid解决高并发的数据库(druid多数据源配置 spring boot)

处理高并发的时候可以解决我们java一个核心问题java核心问题就是并发问题解决并发一个是redis一个是线程池的方式现在出来是个druid好像现在解决高并发的方式进行更换数据库的方式操作场景插入频繁...

高并发方案最全详解(8大常见方案)

关注△mikechen△,十余年BAT架构经验倾囊相授!大家好,我是mikechen睿哥。高并发是大型架构的核心,下面我重点来详解常见8大高并发方案@mikechen文章来源:mikechen.cc分...

MySQL如何处理并发访问和高负载?(mysql如何处理并发访问和高负载访问)

MySQL在处理并发访问和高负载方面,采取了一系列关键技术和策略,以确保数据库系统在面对不断增长的并发需求时维持高效和稳定的性能。以下是对这些技术和策略的详细阐述,旨在全面解析MySQL如何处理并发访...

Redis高可用集群详解(redis高可用方案以及优缺点)

Redis集群与哨兵架构对比Redis哨兵架构在redis3.0以前的版本要实现集群一般是借助哨兵sentinel工具监控master节点状态,如果master节点异常,则会做主从切换,将某一台sla...

MCP协议重大升级!Spring AI联合阿里Higress,性能提升300%

引言:一场颠覆AI通信的技术革命2025年3月,MCP(ModelContextProtocol)协议迎来里程碑式升级——StreamableHTTP正式取代HTTP+SSE成为默认传输层。这一...

阿里三面被挂,幸获内推,历经5轮终于拿到口碑offer

作者:Java程序猿阿谷来源:https://www.jianshu.com/p/1c8271f03aa5每一个互联网人心中都有一个大厂梦,百度、阿里巴巴、腾讯是很多互联网人梦寐以求的地方,而我也不例...

来瞧瞧阿里一面都面些什么(笔试+机试)

絮叨说实话,能有机会面一下阿里对我来说帮助确实有蛮多,至少让我知道了自己的不足在哪,都说面试造火箭,上班拧螺丝。但就算是如此,为了生存,你也只有不停的学习,唯有光头,才能更强。哈哈起因2月28日在Bo...

取消回复欢迎 发表评论: