离职阿里7月底开始面试,面了24+公司,斩获17张Offer

本文涉及的产品
函数计算FC,每月15万CU 3个月
可观测监控 Prometheus 版,每月50GB免费额度
服务治理 MSE Sentinel/OpenSergo,Agent数量 不受限
简介: 本内容来源于我16年毕业的学长,先在58,后阿里,如今准备跳槽了,以下内容为他的最近面试经历(以及每次面试前后总结的学习资料分享):我最近从大厂离职之后在合肥呆了个把月,之前已经准备了半个多月,从7月底开始投简历面试,目前是java高级职位,到现在为止已经面了24+公司了,手上也有一些意向offer。现在把跟面试官对垒的面试问题总体记录一下。

前言

本内容来源于我16年毕业的学长,先在58,后阿里,如今准备跳槽了,以下内容为他的最近面试经历(以及每次面试前后总结的学习资料分享):

我最近从大厂离职之后在合肥呆了个把月,之前已经准备了半个多月,从7月底开始投简历面试,目前是java高级职位,到现在为止已经面了24+公司了,手上也有一些意向offer。现在把跟面试官对垒的面试问题总体记录一下。希望能对正在准备面试的朋友以及面试有过失败经历的朋友有点帮助。需要完整版高清PDF文件的小伙伴可以点击此处来获取就可以了!

手撕代码连环炮

单例模式了解吗?有哪几种?

写个单例模式?这个单例模式有什么问题?

sychronized怎么用的?

volatile呢?

写个冒泡算法?

假如有个数组[1,2,3,3,4,4,5,6,6,7],相对递增有序,给定一个值假如3,打印这个值在数组中出现的第一个索引下标?分析一下你写的这个程序的时间复杂度。

写个快速排序?非递归怎么实现?

写个二叉树的前序遍历?二叉树的非递归中序遍历?

假如有个数组[3,2,2,3,3,4,4,5,6,6,7,4,4,4],有重复数据,现在要去重,要求去重后的数组元素与原来数据的索引顺序一致。分析一下时间复杂度和空间复杂度?有没有更好的解法?思路是什么?

假如有个数组[1,3,7,3,8,4,9,6],现在要求数组中存在最大差值的两个数的索引下标。条件是要索引下标大的减索引下标小的才可以。分析一下时间复杂度和空间复杂度?有没有更好的解法?思路是什么?

手写一个LRU Cache,保障get/put api都是O(1)的时间复杂度?

编写一个程序实现最小栈?

网络协议连环炮

网络协议了解吗?

说一下7层网络协议有哪些层?

说一下我从浏览器输入一个url访问天猫网站整个过程经历了什么?

DNS是干嘛的?

CDN了解吗?干嘛的?

假如我访问12306,发现很慢,怎么排查?

说一下http协议的请求头有哪些?

说一下https与http的区别?

说一下http的状态码有哪些,代表什么意思?

说一下HTTP中session和cookie的区别?

说一下HTTP建立链接的过程?

RPC框架用过吗?是基于TCP协议的吗?

说一下TCP协议的握手和挥手过程?为什么是三次握手,四次挥手呢?

TCP滑动窗口了解吗?解决了什么问题?

假如我的RPC服务出现了大量Timewait和closewait的链接应该怎么排查?

TCP长链接和短链接了解吗?有什么区别?分别适用于什么场景?

  • 趣谈网络协议

  • 内容一览:

  • 视频精讲:

设计模式连环炮

你用过哪些策略模式?举几个例子?

mybatis或者spring源码阅读过吗?了解里面有哪些设计模式吗?

java类加载机制了解吗?用的是什么设计模式?

单例模式用过吗?写个单例模式?还有其他实现方案吗?有什么区别?

说一下什么是策略模式?有什么优缺点?说一下代理模式在哪些地方会用到?

假如我要对接第三方的系统,但是我自己的业务服务协议不支持,如果支持的话有一定改造成本,用哪种设计模式会减少对系统的侵入性?

说一下适配器模式和桥接模式的区别?

  • 23种设计模式PDF

  • 内容一览:

  • 视频资源精讲:

业务系统架构连环炮

你好,我是xx公司的面试官我叫xx,你先做个自我介绍吧?

说说你比较擅长哪方面?java后端?更详细的呢?

说说你怎么用这些技术的?

说一下你比较熟悉的项目?

说一下哪些系统或者大型模块是你独立作为owner开发的?有什么挑战?

画一下业务架构图?里面有哪些核心业务模型?

业务领域有哪些?

是微服务架构的话你这么多工程是通过什么分工的?为什么这么做?

你觉得这个系统的架构模型有什么缺点?

DDD了解吗?如果是你你怎么梳理领域模型?

不依赖任何具体框架你怎么设计工程架构和业务功能模块?说说这么做的好处是什么?

说几个你熟悉的业务流程,在纸上/白板上画一下?

  • 架构修炼之道

  • 内容一览

hr连环炮

你好,请问你对我们的面试流程有什么想法?

觉得我们的面试官怎么样?

我们公司的办公环境怎么样?

你在上家公司主要是做哪方面的内容?有什么成长?

你离开上家公司的原因是什么?

说说你对上家公司的印象?工作氛围怎么样?

请问你对下一份工作有什么要求吗?想从事哪方面的工作呢?

工作中遇到哪些令你印象深刻的问题?你是怎么解决的?

说说你最近有没有其他需要学习的地方?你平时是怎么学习的?

你觉得你有什么优缺点?

有女朋友吗?

我们公司目前会有加班,你可以接受吗?

你期望的最低薪资是多少?

你现在面试了多长时间呢?

手头上有几个offer?如果给你offer你大概最快什么时候可以入职呢?

性能优化连环炮

做过java程序性能优化吗?

假如我有一个RPC服务出现了FGC怎么排查?

假如我有很多服务在不同的机器上,其中某个服务超时比较严重该怎么做?

假如我通过监控发现CPU飚的比较高怎么看?

一条sql执行的比较慢你会怎么排查?

RPC原理了解吗?说说RPC的调用过程?

假如你去设计一个RPC框架你会从哪些方面去考虑这个框架的性能和高可用?

说说为什么要进行服务治理?

微服务中引入docker/k8s有什么优缺点?

你平时部署系统的时候用的持续集成系统是什么?有什么特色功能提高开发效率?

做过性能测试吗?如何评估一个接口的性能指标?

假如我某个上游系统调用我的接口并发很高,我该怎么做?

如果上游系统对时延比较敏感你该怎么做?

如果上游系统是比较核心的应用不能限流怎么办?

  • Java性能优化

  • 性能调优实战

反问面试官连环炮

HR:

请问你们公司一般上下班是大概几点呢?

请问你负责的这个部门目前技术团队大概有多少人呢?

请问你们公司未来准备招多少人?

是不是处于业务上升期呢?

听说你们公司最近风评不太好,是真的吗?

现在手头上还有其他offer,假如能给offer的话,你这边能开出什么更有吸引力的条件吗?

目前公司的福利啥的能简单介绍一下吗?

面试官:

我现在没有什么问题了,你有什么要问我的吗?

我问一下你现在负责的大概是哪方面的内容?

你们部门目前在公司是怎么样的定位?

你们部门团队目前有多少人?

请问你最近有没有遇到过比较有挑战的问题?

你们部门做的这个系统有没有考虑商业化呢?

存储系统怎么做的,Mysql?

你能说一下你负责的这个业务的大体内容和流程吗?

我问一下刚刚面试的问题你有什么思路吗?

最后来看看互联网大厂面试真题解析(含答案)

  • 目录一览

由于文章在这里篇幅就很长了,只能粗略的为大家这样展示出来了

写在最后

现在很多还没入行的包括一些的初级程序员都可能会被一些网上的一些言论误导,就比如下面这些:

这些其实这些困境出现的原因就是因为自身能力还没有达到一个高度 ,当你提高自身能力,登上更高的层级之后,无论薪资还是发展都会有很大的提升。现在技术更新的速度越来越快,我们程序员这一个群体停止学习就会被淘汰,这是一个很现实的问题。如果你是正在准备面试或者想学习提升一下自己,那么这份文档一定会对你点帮助。需要完整版高清PDF文件的小伙伴可以点击此处来获取就可以了!

相关文章
|
30天前
|
监控 Kubernetes Java
阿里面试:5000qps访问一个500ms的接口,如何设计线程池的核心线程数、最大线程数? 需要多少台机器?
本文由40岁老架构师尼恩撰写,针对一线互联网企业的高频面试题“如何确定系统的最佳线程数”进行系统化梳理。文章详细介绍了线程池设计的三个核心步骤:理论预估、压测验证和监控调整,并结合实际案例(5000qps、500ms响应时间、4核8G机器)给出具体参数设置建议。此外,还提供了《尼恩Java面试宝典PDF》等资源,帮助读者提升技术能力,顺利通过大厂面试。关注【技术自由圈】公众号,回复“领电子书”获取更多学习资料。
|
4月前
|
存储 关系型数据库 MySQL
阿里面试:为什么要索引?什么是MySQL索引?底层结构是什么?
尼恩是一位资深架构师,他在自己的读者交流群中分享了关于MySQL索引的重要知识点。索引是帮助MySQL高效获取数据的数据结构,主要作用包括显著提升查询速度、降低磁盘I/O次数、优化排序与分组操作以及提升复杂查询的性能。MySQL支持多种索引类型,如主键索引、唯一索引、普通索引、全文索引和空间数据索引。索引的底层数据结构主要是B+树,它能够有效支持范围查询和顺序遍历,同时保持高效的插入、删除和查找性能。尼恩还强调了索引的优缺点,并提供了多个面试题及其解答,帮助读者在面试中脱颖而出。相关资料可在公众号【技术自由圈】获取。
|
1月前
|
人工智能 缓存 Ubuntu
AI+树莓派=阿里P8技术专家。模拟面试、学技术真的太香了 | 手把手教学
本课程由阿里P8技术专家分享,介绍如何使用树莓派和阿里云服务构建AI面试助手。通过模拟面试场景,讲解了Java中`==`与`equals`的区别,并演示了从硬件搭建、语音识别、AI Agent配置到代码实现的完整流程。项目利用树莓派作为核心,结合阿里云的实时语音识别、AI Agent和文字转语音服务,实现了一个能够回答面试问题的智能玩偶。课程展示了AI应用的简易构建过程,适合初学者学习和实践。
98 22
|
2月前
|
存储 NoSQL 架构师
阿里面试:聊聊 CAP 定理?哪些中间件是AP?为什么?
本文深入探讨了分布式系统中的“不可能三角”——CAP定理,即一致性(C)、可用性(A)和分区容错性(P)三者无法兼得。通过实例分析了不同场景下如何权衡CAP,并介绍了几种典型分布式中间件的CAP策略,强调了理解CAP定理对于架构设计的重要性。
107 4
|
3月前
|
存储 NoSQL 算法
阿里面试:亿级 redis 排行榜,如何设计?
本文由40岁老架构师尼恩撰写,针对近期读者在一线互联网企业面试中遇到的高频面试题进行系统化梳理,如使用ZSET排序统计、亿级用户排行榜设计等。文章详细介绍了Redis的四大统计(基数统计、二值统计、排序统计、聚合统计)原理和应用场景,重点讲解了Redis有序集合(Sorted Set)的使用方法和命令,以及如何设计社交点赞系统和游戏玩家排行榜。此外,还探讨了超高并发下Redis热key分治原理、亿级用户排行榜的范围分片设计、Redis Cluster集群持久化方式等内容。文章最后提供了大量面试真题和解决方案,帮助读者提升技术实力,顺利通过面试。
|
3月前
|
SQL 关系型数据库 MySQL
阿里面试:1000万级大表, 如何 加索引?
45岁老架构师尼恩在其读者交流群中分享了如何在生产环境中给大表加索引的方法。文章详细介绍了两种索引构建方式:在线模式(Online DDL)和离线模式(Offline DDL),并深入探讨了 MySQL 5.6.7 之前的“影子策略”和 pt-online-schema-change 方案,以及 MySQL 5.6.7 之后的内部 Online DDL 特性。通过这些方法,可以有效地减少 DDL 操作对业务的影响,确保数据的一致性和完整性。尼恩还提供了大量面试题和解决方案,帮助读者在面试中充分展示技术实力。
|
3月前
|
缓存 前端开发 JavaScript
"面试通关秘籍:深度解析浏览器面试必考问题,从重绘回流到事件委托,让你一举拿下前端 Offer!"
【10月更文挑战第23天】在前端开发面试中,浏览器相关知识是必考内容。本文总结了四个常见问题:浏览器渲染机制、重绘与回流、性能优化及事件委托。通过具体示例和对比分析,帮助求职者更好地理解和准备面试。掌握这些知识点,有助于提升面试表现和实际工作能力。
87 1
|
4月前
|
消息中间件 架构师 Java
阿里面试:秒杀的分布式事务, 是如何设计的?
在40岁老架构师尼恩的读者交流群中,近期有小伙伴在面试阿里、滴滴、极兔等一线互联网企业时,遇到了许多关于分布式事务的重要面试题。为了帮助大家更好地应对这些面试题,尼恩进行了系统化的梳理,详细介绍了Seata和RocketMQ事务消息的结合,以及如何实现强弱结合型事务。文章还提供了分布式事务的标准面试答案,并推荐了《尼恩Java面试宝典PDF》等资源,帮助大家在面试中脱颖而出。
|
6月前
|
存储 Java
【IO面试题 四】、介绍一下Java的序列化与反序列化
Java的序列化与反序列化允许对象通过实现Serializable接口转换成字节序列并存储或传输,之后可以通过ObjectInputStream和ObjectOutputStream的方法将这些字节序列恢复成对象。
|
3月前
|
存储 缓存 算法
面试官:单核 CPU 支持 Java 多线程吗?为什么?被问懵了!
本文介绍了多线程环境下的几个关键概念,包括时间片、超线程、上下文切换及其影响因素,以及线程调度的两种方式——抢占式调度和协同式调度。文章还讨论了减少上下文切换次数以提高多线程程序效率的方法,如无锁并发编程、使用CAS算法等,并提出了合理的线程数量配置策略,以平衡CPU利用率和线程切换开销。
面试官:单核 CPU 支持 Java 多线程吗?为什么?被问懵了!