太可怕了,开发5年的我与Alibaba面试官“大战”7回合,险胜拿到p7岗offer!

2023-11-27 14:59

本文主要是介绍太可怕了,开发5年的我与Alibaba面试官“大战”7回合,险胜拿到p7岗offer!,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

今年受大环境影响,整个互联网企业裁员的现象比往年严重多了,恰巧今年又是我的第一个“五年计划”截止的时间点,说什么也不能够耽搁了,所以早早准备的跳槽涨薪了。而这次的阿里之行也是路途坎坷,真的太为难我了,可以说是和面试官大战了7个回合,不过好在最后到底还是给了offer!我个人情况是5年Java后台经验,阿里定级P7的样子,下面是我的面试经历分享,希望能带来一些不一样的启发和帮助。

image.png

我与Alibaba面试官“大战”7回合,胜

Alibaba大战第一轮

第一轮面试是电话面,以基础知识为主,前后大概2个小时左右,这个阶段我是比较紧张的。

  1. 先自我介绍,包含日常工作
  2. 多线程,ThreadLocal,问了父子线程怎么共享数据 interitableThreadLocals
  3. Lock和Sync的区别
  4. AQS原理(执行过程源码,入队出队的细节,源码细节)
  5. CountDownLatch和CyclicBarrier的区别是什么源码级别
  6. volatile从指令重排序,内存屏障
  7. 数据库,MySQL索引,执行计划、count1*区别、举例优化sql、MVCC和事务隔离级别的关系、间隙锁、行锁
  8. JVM调优(可达性分析算法中根节点有哪些、cms和G1区别、怎样GC调优、怎样排查CPU彪高、内存彪高、逃逸分析)
  9. redis数据结构、跳跃表、redis qps能上多少,怎么知道的、sentinel和cluster区别和各自适用场景、redis cluster集群同步过程、redis单线程为什么快、多大叫大key、热key产生原因和后果以及怎么解决、本地缓存需要高时效性怎么办?
  10. spring的作用、spring循环依赖怎么解决(说出三级缓存源码细节)、spring aop原理(动态代理)、spring bean生命周期(源码细节,以及各个位置的设计思路,有什么可扩展的)
  11. dubbo服务暴露和引用过程,负载均衡策略,容错机制在哪里实现的源码
  12. 项目中碰到的问题
  13. 为什么换工作,如果通过会直接说有笔试题,和你确认笔试时间

Alibaba大战第二轮

第二轮是笔试,总共两道题,第一题是写代码,第二题是写技术方案。

  1. 主要是以查询为主,考察锁粒度、时间粒度上的细节点。(详细省略)

Alibaba大战第三轮

第三轮是现场面试,这一轮面试以解决方案为主,前后大概约1小时20分钟。

  1. 缓存穿透,让我设计一个防止缓存穿透的解决方案,简单的就是存null值,但肯定会深究,可以结合布隆过滤器,设计分布式系统,里面又会问到流量分发到具体过滤器服务的方式,比如一致性hash算法,怎么调用?比如dubbo直连、等等细节会边说边问
  2. 有没有做限流,设计一个侵入性最小的限流服务
  3. 项目中碰到的问题,最好说框架本身问题,能体现个人能力,也避免问题太低级被面试官看low,刚好之前有发现一个dubbo的bug,所以这问题应该回答的还可以
  4. 为什么换工作,每轮都会问,这个得想好

Alibaba大战第四轮

交叉面,项目为主,时间大概为40分钟,问的内容不多,这个阶段我个人的状态比较放松了,与面试官交谈的方式也自然了许多。

  1. 介绍最熟悉的项目,业务上有没有什么优化点;和同行业其他公司的差距和优势(估计是P7的标准问题,总之我回答得不是太好)
  2. Dubbo服务调用过程
  3. NIO、BIO区别,NIO解决了什么问题,Netty线程模型(源码拷问)。
  4. MQ相关

Alibaba大战第五轮

这轮面试真的让我比较为难了,面试官问什么问题都会问到具体的数值,状态又变紧张了,如履薄冰啊。

  1. 项目介绍
  2. 听到说做了限流,限流标准(并发数? qps?并发数和qps关系?说出了5种限流方案和对应算法原理)
  3. dubbo调用端怎么在jvm中生成对应服务?dubbo服务端和调用端超时时间设置和区别、dubbo长连接。
  4. mysql行锁最大并发数?(秒杀项目指出)
  5. 设计秒杀系统,我说的异步的方式,会问怎么优化?改为了同步的方式,异步和同步区别? 然后我也问了阿里那边
  6. 碰到哪些技术难点?怎么解决?有没有参考其他大厂?其他大厂方案什么样的?有没有关注阿里这边最新的技术?
  7. 刚刚的秒杀系统,会涉及到多个库表的更新,分布式事务怎么解决,我说的消息最终一致性,异步?有没有更好的方案?同步TCC方式,TCC方式原理?(三个阶段的具体实现)

Alibaba大战第六轮

总监面,主要是自我介绍和项目介绍,聊天的方式比较舒服,大部分是对你的整体价值观做宏观的把控(比如上进心,责任心,心态,工作激情等,差不多15分钟就结束了。

  1. 说了自己的项目
  2. 主要用到的架构,做了些什么?
  3. 比较复杂的业务逻辑讲一下?
  4. ...

Alibaba大战第七轮:

HR面,阿里的HR很不一样,无论是气质还是谈吐都让人佩服,问的问题也很有针对性,最后告诉我会电话反馈结果。

  1. 自我介绍
  2. 如何学习新技术?
  3. 如何团队合作的?
  4. 遇到很难的问题,如何解决?如何突破?
  5. 职业规划
  6. ......

面试阿里之前,我流了多少汗?

第一步:梳理知识

一般的面试,会被问到JVM原理、多线程、数据结构和算法、高并发、设计模式等内容,这都是一名普通Java开发人员的知识结构,那么阿里P7肯定是需要具备更多的知识树,需要掌握更全面的知识体系,所以就需要对知识进行一个系统的梳理了。

对标P7,我梳理的知识体系如下(全部已xmind软件绘画,无法上传,用截图展现,可免费下原件——点我即可):

  1. 筑基必备技能:并发编程,JVM,网络编程与高效IO,Mysql,Tomcat
image
  1. 设计思想与开源框架:SSM(Spring+SpringMVC+MyBatis)
image
  1. 性能直线提升架构技术:ZK,Nginx,RabbitMQ,RocketMQ,Kafka,elastic
image
  1. 高效存储让项目性能起飞:Redis,MongoDB,MySQL,Mycat
image
  1. 分布式扩展到微服务架构:SpringBoot,SpringCloud,SpringCloud Alibaba,Docker,K8S
image

第二步:复习知识

工作这么久要重新再去面试肯定是要将自己的知识储备重新拿出来,要把各个知识点复习到位,需要通过各个方式,选择自己最习惯的。无论是读电子书籍还是观看视频都是可以的,但要记得做好自己的学习笔记,能够起到总结的作用,再去复习起来就特别清晰了。(点我可免费分享下载)

1. 电子书籍汇总(PDF):

image

2. 学习笔记汇总(PDF):JVM,JAVA集合,网络,JAVA多线程并发,JAVA基础,Spring原理,微服务,Zookeeper,Kafka,RabbitMQ,Hbase,MongoDB,Cassandra,设计模式,负载均衡,数据库,一致性哈希,JAVA算法,数据结构,加密算法,分布式缓存

image

image.gif

第三步:刷面试题

工作5年,虽然清楚现在流行什么技术,但对于互联网大公司会面试一些什么还真是不太清楚,所以面试之前刷一刷面试题还是很有必要的,能够做到举一反三。一线互联网的面试题,我整理了近三年的,内容还真不少。(点我可免费分享下载)

image
image

拿到offer后的规划和心态

毕业后,我的第一个5年按照计划进行了,那么拿到阿里offer后,下一个5年也有要清晰的目标。接下来的时间,是形成思维方法论和知识体系的阶段,同时也要培养自己团队协助与管理能力,提升自己的眼界,从而有更长远的发展。

至于心态,脚踏实地,不傲不馁。


http://www.taodudu.cc/news/show-8369816.html

相关文章:

  • 「Java岗」5年经验,7面阿里,“过五关斩六将”拿下P7
  • 力扣刷题_主题库(按题目顺序)_python
  • 全国计算机等级考试一级模拟试题03,全国计算机等级考试一级模拟试题03.doc
  • word2vec模型评估_Word2Vec之把美丽的音乐变向量
  • 全国计算机一级考试作用,全国计算机等级考试一级的作用
  • 太为难我了,阿里面试了7轮(5年经验,拿下P7岗offer)
  • 全国计算机等级考试专用辅导教程,全国计算机等级考试专用辅导教程:一级MS Office(2012版)...
  • 专科出身!我与阿里面试“大战”7回合(五年经验,拿下P7岗offer),完胜!!!
  • 全国计算机等级考试一级模拟试题03,2013全国计算机等级考试一级模拟试题03
  • python 一次输入10个数_python如何一次性输入多个数
  • 30 岁以后搞 Java 已经没有前途,java 自学编程入门教程,大 V 推荐
  • 太难了,5 年 Java 开发经验,阿里面试了 7 轮终于拿下 P7 岗 offer!
  • 我凭借这份“2022 全网最全 Java 面试清单”彻底征服阿里面试官
  • python 10个100以内随机整数编辑_Python随机函数random使用详解
  • SKIP CONNECTIONS MATTER: ON THE TRANSFERABILITY OF ADVERSARIAL EXAMPLES GENERATED WITH RESNETS 翻译,侵删
  • c语言自定义输入十个数,C语言 实现输入任意多个整数
  • 招收跨专业考计算机的学校,跨专业考研,接受跨专业考研的学校。
  • 跨专业到计算机 推免,2019跨专业考研计算机专业你真的准备好了?
  • 计算机跨专业考研考化学专业,本科就读的化工类专业,怕不考研特别难找对口工作,但事实上不太喜欢化学。你觉得我应该跨专业考研吗?...
  • mongoDB官网下载时,显示Your download will begin shortly. 但是没反应
  • SDK Manager闪退
  • 应用物理跨考计算机专业,应用物理专业跨专业考研 有哪些方向
  • GreenPlum 初始化后启动 ‘PG_CTL Failed’错误
  • 计算机研究生跨专业,计算机跨专业考研经验
  • win10 .net framework 3.5 无法自动下载安装
  • 终于明白了什么叫脚踏实地
  • 入门题 UVA 11646 Athletics Track
  • 迈动互联助力实地数智化转型按下“快进键”
  • 安装AndroidStudio后SdkManager闪退的问题
  • 关于IPv6自动配置及M、O比特的小结
  • 这篇关于太可怕了,开发5年的我与Alibaba面试官“大战”7回合,险胜拿到p7岗offer!的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



    http://www.chinasem.cn/article/427873

    相关文章

    基于Qt开发一个简单的OFD阅读器

    《基于Qt开发一个简单的OFD阅读器》这篇文章主要为大家详细介绍了如何使用Qt框架开发一个功能强大且性能优异的OFD阅读器,文中的示例代码讲解详细,有需要的小伙伴可以参考一下... 目录摘要引言一、OFD文件格式解析二、文档结构解析三、页面渲染四、用户交互五、性能优化六、示例代码七、未来发展方向八、结论摘要

    在 VSCode 中配置 C++ 开发环境的详细教程

    《在VSCode中配置C++开发环境的详细教程》本文详细介绍了如何在VisualStudioCode(VSCode)中配置C++开发环境,包括安装必要的工具、配置编译器、设置调试环境等步骤,通... 目录如何在 VSCode 中配置 C++ 开发环境:详细教程1. 什么是 VSCode?2. 安装 VSCo

    C#图表开发之Chart详解

    《C#图表开发之Chart详解》C#中的Chart控件用于开发图表功能,具有Series和ChartArea两个重要属性,Series属性是SeriesCollection类型,包含多个Series对... 目录OverviChina编程ewSeries类总结OverviewC#中,开发图表功能的控件是Char

    鸿蒙开发搭建flutter适配的开发环境

    《鸿蒙开发搭建flutter适配的开发环境》文章详细介绍了在Windows系统上如何创建和运行鸿蒙Flutter项目,包括使用flutterdoctor检测环境、创建项目、编译HAP包以及在真机上运... 目录环境搭建创建运行项目打包项目总结环境搭建1.安装 DevEco Studio NEXT IDE

    Python开发围棋游戏的实例代码(实现全部功能)

    《Python开发围棋游戏的实例代码(实现全部功能)》围棋是一种古老而复杂的策略棋类游戏,起源于中国,已有超过2500年的历史,本文介绍了如何用Python开发一个简单的围棋游戏,实例代码涵盖了游戏的... 目录1. 围棋游戏概述1.1 游戏规则1.2 游戏设计思路2. 环境准备3. 创建棋盘3.1 棋盘类

    这15个Vue指令,让你的项目开发爽到爆

    1. V-Hotkey 仓库地址: github.com/Dafrok/v-ho… Demo: 戳这里 https://dafrok.github.io/v-hotkey 安装: npm install --save v-hotkey 这个指令可以给组件绑定一个或多个快捷键。你想要通过按下 Escape 键后隐藏某个组件,按住 Control 和回车键再显示它吗?小菜一碟: <template

    Hadoop企业开发案例调优场景

    需求 (1)需求:从1G数据中,统计每个单词出现次数。服务器3台,每台配置4G内存,4核CPU,4线程。 (2)需求分析: 1G / 128m = 8个MapTask;1个ReduceTask;1个mrAppMaster 平均每个节点运行10个 / 3台 ≈ 3个任务(4    3    3) HDFS参数调优 (1)修改:hadoop-env.sh export HDFS_NAMENOD

    嵌入式QT开发:构建高效智能的嵌入式系统

    摘要: 本文深入探讨了嵌入式 QT 相关的各个方面。从 QT 框架的基础架构和核心概念出发,详细阐述了其在嵌入式环境中的优势与特点。文中分析了嵌入式 QT 的开发环境搭建过程,包括交叉编译工具链的配置等关键步骤。进一步探讨了嵌入式 QT 的界面设计与开发,涵盖了从基本控件的使用到复杂界面布局的构建。同时也深入研究了信号与槽机制在嵌入式系统中的应用,以及嵌入式 QT 与硬件设备的交互,包括输入输出设

    OpenHarmony鸿蒙开发( Beta5.0)无感配网详解

    1、简介 无感配网是指在设备联网过程中无需输入热点相关账号信息,即可快速实现设备配网,是一种兼顾高效性、可靠性和安全性的配网方式。 2、配网原理 2.1 通信原理 手机和智能设备之间的信息传递,利用特有的NAN协议实现。利用手机和智能设备之间的WiFi 感知订阅、发布能力,实现了数字管家应用和设备之间的发现。在完成设备间的认证和响应后,即可发送相关配网数据。同时还支持与常规Sof

    活用c4d官方开发文档查询代码

    当你问AI助手比如豆包,如何用python禁止掉xpresso标签时候,它会提示到 这时候要用到两个东西。https://developers.maxon.net/论坛搜索和开发文档 比如这里我就在官方找到正确的id描述 然后我就把参数标签换过来