引言

离3月13日第一轮电话面试,到今日,一过去差不多一个月的时间,有确切的面试结果。中间每一轮面试,我都会将相关的问题进行记录,以及回答要点。

简单总结下面试的安排和时间情况,我一共面试了6轮,分别是:

  1. 3月13日,上午9点半,一面,电话技术面试,时间为40分钟;
  2. 3月13日,上午10点20分,二面,算法在线评测;
  3. 3月17日,中午12点半,三面,电话技术面试+项目,时间大概是45分钟;
  4. 3月21日,晚上7点,四面,视频技术面试+项目,时间1个小时左右;
  5. 3月23日,晚上7点30,五面,视频技术面试+项目,时间是30分钟;
  6. 3月25日,上午10点,第六面,视频HR面,时间是一个小时。

邮件视频面试通知如下:

其中第一轮和第三轮是电话面试,邀约是通过电话口头沟通的,暂无邮件通知。

第一轮面试和算法评测

第一轮面试是周日,邀约的时间是10点,本来打算早起再梳理一下知识点,没想到电话在9点半左右就打进来了,然后就开始了面试。面试主要的要点在于平常使用到的知识点,特别是简历上体现出的技术栈、所做项目的核心流程和要点、基本的基础知识等。主要问题如下:

  1. 说说项目,库存是如何管理和同步的?库内操作的核心流程有哪些?
  2. redis的使用,什么情况下要用?如何实现分布式锁?
  3. JVM的相关知识,什么可以作为GCRoot?有哪些回收算法?CMS和G1相比有哪些差异?
  4. mysql的索引知识,为什么要用B+树?平常怎么设计表的?怎么分库分表?
  5. 你用过哪些消息中间件?顺序消费问题,消息丢失问题,集群问题的解决方案?
  6. 什么情况下会产生死锁?怎么避免?
  7. DDD领域驱动设计,什么场景下使用?有什么优势?

第一面还是比较轻松的,因为大部分问题都很基础,也有比较通用的解决方案。这一面是非常基础的筛选,只要平常有所积累,大部分问题都能回答出来。面完之后,面试官说让我查收一下邮件,简单的做一下算法评测。我的算法是基于冒泡方法实现一个字符串排序,问题是so easy,但题目很有迷惑性,因为字符串是用数字展示的,稍不注意就会写错。

第三轮电话面试

第三轮电话面试是在中午12点半进行的,所以吃完午饭就赶紧找了个安静的地方,我是在天台上面的,当时还下着雨,在一个小屋檐下完成的面试。主要问题如下:

  1. 说下库存管理,智能分仓后调拨的问题?波次主要解决什么问题?超大件物品的出库流程和普通的商品一样吗?你们有冷冻仓吗,怎么做管理的?包材推荐问题?
  2. 如何实现一个阻塞队列?采用什么数据结构和通知机制?
  3. redis事务和管道有什么区别,string结构的底层存储是什么格式?为什么要这样做?线程模型是什么?select和epoll有什么区别?redis是基于select还是epoll的?
  4. rocketMq高可用是什么机制保证的?支持选举吗?哪个版本支持的?
  5. 讲讲dubbo服务依赖启动失败怎么处理?怎么解决循环引用的问题?
  6. hashMap的扩容机制?我初始容量是1000,就是1000吗?JDK7和8的实现有什么不同?为什么超过8就要转换成红黑树?而不是7或者9?

项目还是聊得比较久的,涉及到的业务几乎都有涉及。可能是中午时间有限,我背诵的自我介绍模板在说到一半的时候,就被打断,直接问项目。这个面试官说话语速很快,业务上的问题问得还是比较深入的,已经不单单涉及技术层面的问题,需要对产品设计也有个思考。比如说问到一个问题,说分仓后调拨单目的地相隔较远,如何保证时效。当时我没回答出来,说是运营层面的问题,但后面再去思考的时候,发现这种场景其实现实中也有遇到过,就是用户端会提示跨区调货延迟送达。技术层面上的问题问的比第一面更为深入,需要对常见的底层源码和实现机制有所了解。这一面其实聊得很好,最后面试官说我觉得你很不错,会尽快安排下一轮面试。

第四轮视频面试

果然,在第三轮面完后的第二天上午,就收到了第四轮的电话邀约,当天正好是周五,中间刚好隔了一个周末,最后协定了一个下周一的时间,也让自己总结一下面试的情况,对后面的面试能有更加多的时间去准备。周一晚上,下班后就往家里赶,直接开好视频等面试官上线。主要问题如下:

  1. 项目介绍,库存的管理;
  2. DDD思想的设计,什么是领域事件?划分值对象、实体、聚合根的依据是什么?你们是怎么落地DDD的?
  3. 介绍volatile关键字的原理?AQS?
  4. new object 占多少个字节?
  5. 快速排序和希尔排序有什么区别?
  6. 线上CPU100%排查过程,使用的命令?
  7. 分布式事务问题,有哪些?怎么处理的?缓存一致性协议保证?
  8. 给你1亿的数据,怎么去重?
  9. redis的zset数据结构是如何实现的?为什么要用跳表而不用B树?
  10. 你遇到最大的生产事件是什么?怎么解决的?问题原因是什么?后续怎么规避?

总体聊下来也还不错,最后的1亿数据去重,我简要的回答出了基于位图,但具体怎么编码实现,没有回答出来。其它问题都还行,最后我直接问他对我来说有什么评价,我说都面了4轮了,对我有什么建议。他回答也很直接,说整体问题不大,库存的问题再好好想想,后面是P9面你,这些问题肯定会涉及到,让我好好准备。听到这里还是很开心的,因为等于直接告诉你通过了。

第五轮视频面试

果然,第二天上午就接到了技术的终面邀约,是一个非常稳重的声音,跟我约了下面试的时间。他还加了我微信。我提前进入面试间等待面试官上线。主要的问题果然是集中在库存上,主要问题如下:

  1. DDD相关的知识,怎么做服务划分?服务划分的依据合理吗?怎么验证?
  2. 库存分库分表后怎么保证一致性问题?你们sharding-key是什么?有什么缺陷?你会怎么改进?
  3. 服务治理问题,限流和熔断的机制原理是什么?

整体聊下来,主要问题都是我在说,因为问题本身很少,我每次回答之前,我都会简要的重复下问题,这也给思考一点时间。然后我分了要点去说,第一,xxx;第二,xxx;最后,效果如何。最后面试官是让我反问,我主要问了下主要的业务,基于仓储方向,大促的单据管理,自动化程度如何,时效性的保障。

第六轮视频面试

第五轮完成后,因为加了微信,第二天上午直接微信告知技术终面通过,等约HR面。微信还提醒了我,说要诚信第一,思考突破,自我反思。然后HR面的前一晚,我把HR可能会问的问题,在网络渠道上,都作了汇总和总结,包括口语化的语言组织。果然,面试的时候,问题几乎都包含在了准备的问题当中,回答起来还是很轻松愉快的。问题要点如下:

  1. 自我介绍和说说最近几份工作的情况,为什么离职?
  2. 说说你职业生涯最重要的转折点是什么时候,学到了什么,为什么要做这样的选择?
  3. 说说你对服务划分的理解,为什么需要分布式?
  4. 说说你的职业规划是什么,希望达到什么样的水平?你离开平台是因为什么限制?在新的平台就一定能实现你的规划吗?
  5. 说说你在同事直接的印象是什么,举例说明?
  6. 说说你最佩服你领导的是什么?
  7. 你有过跟你领导争论的时候吗?是什么原因?怎么解决的?
  8. 你职业生涯上遇到过什么挫折?怎么解决的?
  9. 你在你小组里面是什么水平?处于什么地位?
  10. 1你还聊过哪些公司?什么岗位?进度怎么样?
  11. 新的业务你怎么迅速熟悉?迅速上手?
  12. 你最近看了什么书籍,技术上的或生活上的?有什么体会?平常有什么兴趣爱好?
  13. 你什么时候能离职?时间怎么安排?
  14. 你还有什么想要了解的和想问的?

下面是一条总结的分割线

--------------------------------------------------------------------------------------------------------------------------------

关于如何准备

1、阿里对自有业务的把控还是需要一定的深度的,需要思考业务的实际使用场景和价值,并能进行发散思索。在行业细分的条件下,几乎不存在通用的业务处理方案,我们需要对不同的场景划分出不同的流程,并让其具有扩展性。

2、把握好自我介绍的一分半钟,对承担的角色和实现的需求、使用的技术栈等,还有个人的亮点要在这进行展现,无论你是有职称、核心业务的处理方案、对源码非常了解的技术、前沿热门的设计实现,都要自我介绍中体现。我们期望,面试能展现出自己的擅长的点,通过自我介绍,能在一定程度上引导面式的方向。

3、技术方面的准备,我是提前准备了一个月,恰好之前准备考证有所积累,准备我是基于思维脑图去写的,简要的概括下知识体系即可。如下:

4、面试的过程,一定不要等着面试官挤牙膏式的问问题,每问一个问题,需要从原理、原因、达成的效果几个方面进行回答。比如说问你hashMap,至少要回答出数据结构、扩容机制、hash函数、JDK7和8的区别,同时需要思考为什么要这样做,别的方案有什么缺陷?这些就是后续深入拷问的基础,一定要顶住。

5、关于团队管理,大部分公司对P7都需要管理一个小团队,负责一个小的业务线。要思考现有的管理方案,比如说敏捷的实行过程,还有自身业务和技术、管理能力的提升和把控,平常需要多注意。

6、关于自身亮点,一定要有擅长的一个方面。因为我简历上写明了我实践过DDD,所以几乎每一面都会涉及到,而且越往后面级别越高的面试官,问的细节更加深入,因为这是一套方法论层面的东西,对业务的设计能力有较高的要求。一方面是理论,另一方面是落地实践,最终的结果可能多种多样,但只要有理有据,是基于综合层面(devOps、维护成本、架构耦合性)的考量,都会得到一个不错的反馈。

记一次互联网寒冬下的阿里面试总结相关推荐

  1. 互联网寒冬下,原生Android开发的路该怎么走

    移动寒冬 18年的冬真冷,大家都在说裁员,其实裁员一直都在,只是18年的确多点.android 10年了,已经积累了太多的技术,知识点,技巧,思路,这些前人都会了,并且正在创造新的思路出来,对于广大的 ...

  2. 2021年您应该知道的技术之一!互联网寒冬下(1)

    于是,我开始调整状态,着重于深耕技术知识,似乎一切开始了好转,最后斩获p7岗offer. 于是乎,我想在2020最后一个月,把我的学习经历以及面试几十家互联网企业总结下来的面试经历分享给我的同行(Ja ...

  3. 有心人天不负,互联网寒冬下斩获40W年薪offer,面经分享(附复习脑图)

    前言 今年年初,到了金三银四的关键时期,却频频爆出大厂裁员,互联网寒冬令人瑟瑟发抖,而本人已在三月份裸辞,跳槽压力巨大,本文就来聊聊亲身经历.包括如何复习,投简历,面试,谈薪. 复习 每次跳槽,必不可 ...

  4. 再记一次止于三面的阿里面试之旅,感觉内心是拔凉拔凉的

    Hello 大家好,我是楠楠,最近心情不是很好,因为楠楠面试阿里三面挂掉了, 当收到下面这封邮件的时候猪猪内心是拔凉拔凉的.楠楠被 "Unfortunately","an ...

  5. 互联网寒冬下如何过冬?厚积薄发还是直接开摆?我选这个

    谈到今年的互联网形势,用闻者伤心见者流泪形容也不为过,从牛客到leetcode,从知乎到脉脉,我就这么逛了一圈,都是在唉声叹气,就一个字,难! ulsl,往年也不是没有这种情况,但今年的惨烈程度我不敢 ...

  6. 互联网寒冬下拿捏大厂面试?2022最新版的Java面试突击班手册流露,果真一分钱一分货

    前言 虽说今年互联网就业形势不太好,但也有很多同学已经成功"拿捏"了今年的面试,那么本着取长补短的原则,我问了问,好多同学给我说,2022最新版的Java面试突击班的内容给自己提供 ...

  7. 互联网寒冬下的面经总结

    简介 本科两年多前端开发经验,常用技术栈Vue+TypeScript. 换工作的原因:想着趁自己还年轻,不能老是在一家公司混吃等死

  8. 互联网寒冬下,在校生如何寻找自己的定位?

    版权 23届正式秋招快要结束,可在写简历的时候,无论多努力也憋不出来一个像样的实习经历,又不敢造假,经历真实与否,HR一问就会露馅. 该怎样充实自己的项目经历? 不用焦虑!大拿老师为同学们带来了优质的 ...

  9. 互联网寒冬前端社招面试

    前言 本人17年毕业,至今一年多工作经验,三月加入找工作的浪潮,深感乏力,好在最后拿到心仪公司的offer,这里整理一下面试过程中的题目(有些忘记了?,简单总结下两家面试体验不错的公司),分享给大家. ...

最新文章

  1. 知道Python中的字符串是什么吗?
  2. Python序列的增量赋值
  3. android adb 联系人,使用adb命令向Android模拟器中导入通讯录联系人的方法
  4. 金融计算器 npv_一个工具箱 之 净现值(NPV)计算器
  5. 【UOJ 48】最大矩形面积(修正版)
  6. 微软Azure云之企业Exchange 2016部署12—配置负载平衡
  7. jdk的ServiceLoader
  8. 移动开发 Jetpack Compose 组件布局
  9. ACDSee 10中文版+注册码
  10. CSS固定定位(position: fixed;/background-attachment: fixed;)
  11. Kafka-常见问题
  12. Hadoop基础教程-第1章 环境安装配置(1.6 SSH免密登录)
  13. 虾皮Shopee上货铺货助理工具
  14. 雷军与小米:上扬的微笑与下行的隐忧
  15. 神奇女侠计算机技术,神奇女侠代言 华硕灵耀X轻薄本及双屏AI概念机亮相
  16. 新入手的iPhone 11不会玩?手势和按键操作大全,快捷玩机很简单
  17. 第十一届“挑战杯”广东省大学生课外学术科技作品竞赛总结——陈文斌
  18. 计算机视觉中的细节问题(七)
  19. 逆向分析某App其Frida、Xposed、Root检测及protobuf数据解析
  20. PHP程序员上岗后的工作都有哪些内容?我来和大家分享一下

热门文章

  1. AFM代码解析及tensorflow复现
  2. python中def fun()是什么意思_python学习函数
  3. 重装系统后有线网上不了网,校园网无法自动获取
  4. 人民币小写金额转大写
  5. 杭电 HDU ACM 圆桌会议
  6. vue项目根据不同手机尺寸设置引入不同图片的功能
  7. Android手机适配,手机尺寸、px、dpi、dp、sp详解
  8. xamarin Android activity生命周期详解
  9. Xcode免证书打包ipa
  10. Adobe全家桶功能介绍