写点什么

两年经验的阿里、头条面经(已拿 offer),大厂面试套路屡试不爽

发布于: 2021 年 07 月 23 日

笔者 2 年开发经验。20 年年初先后面了头条、拼多多和阿里(淘宝和支付宝),并成功拿到阿里和头条两家的 offer。

面试前我主要是在网上看大家的面经进行查漏补缺,所以面试完后也想记录下来,权当给大家提供点信息吧。(面试过了一周了,记忆也有点混乱,争取想到多少就记下来多少)。

顺便提一下面试体验:头条 > 阿里 > pdd 拼多多最垃圾的面试体验,没有之一。我约的视频面,结果面试官说有事给我打电话面,然后给我一个文档,是一个算法。我在写算法的时候没察觉到电话信号不好断掉了。然后我回拨过去,面试官来了一句:你不要故意挂断电话去查答案。我 %@#¥@#%@5,保持微笑解释信号不好。后来为了信号好一点我去阳台面试,冻的瑟瑟发抖,这个时候心态已经炸了,又冷又紧张,算法题有思路但是一直被这个人否定,最后挂了。

头条

最开始面的头条游戏中台,当时是第一次面试,没有经验,导致算法题虽然有思路,但是没有写出最优解,直接挂了。后来又被捞起来,因为此时已有阿里的 offer,所以胆子也大起来了,收拾心情开始面头条。

头条的面试特点基本就是一个套路:【自我介绍】->【项目介绍】->【手撕算法】->【基础知识】,屡试不爽。

  • 自我介绍:我是 xxx,来自 xxx,毕业后在 xxx 几年,期间负责 xxx。

  • 项目介绍:xxxxx。项目的时候面试官会问你难点和解决方案,同时会给你提出场景,问你更优化的思路。

  • 手撕算法:多刷题,也可以看看别人面过的算法题,可能会重复。

  • 基础知识:针对简历写的东西问,我被问的较多的是一些中间价,Redis、MySQL、Kafka、ElasticSearch。

一面

  1. Two Sum

  2. 给定 m 个不重复的字符 [a, b, c, d],以及一个长度为 n 的字符串 tbcacbdata,问能否在这个字符串中找到一个长度为 m 的连续子串,使得这个子 串刚好由上面 m 个字符组成,顺序无所谓,返回任意满足条件的一个子 串的起始位置,未找到返回-1。比如上面这个例子,acbd,3。给定 m 个可能重复的字符[a, b, d, d]呢?

  3. 提供一个整型数组以及一个整数 s,如果该数组中存在 n 个连续元素,且元素相加之和大于等于 s,则返回满足该条件的连续元素的最小长度;否则返回 0

  4. MySQL 集群。假如集群出现延迟怎么处理。

  5. Redis 的 zset 实现延时任务

  6. 设计题:如何设计 tiny url

  7. 为什么要四次挥手

  8. HTTPS

第二天收到 hr 小姐姐的电话,约了面试时间。

二面

  1. 自我介绍

  2. 项目介绍

  3. K Group 反转链表。写了栈和迭代两种实现方式,链表的题写起来真痛苦,很容易边界出错。

  4. Redis 的持久化机制

  5. MySQL 的隔离级别

  6. MySQL 索引,聚簇索引和二级索引

  7. Redis 高可用方案

  8. 介绍一些 Kafka 的一些概念

  9. Kafka 如何保证消息有序


    ...忘了

过了一天又收到 hr 小姐姐的电话,开心。

三面

  1. 自我介绍

  2. 项目介绍

  3. 第 K 大的数

  4. 设计题:秒杀系统

  5. MySql 的索引优化

  6. HTTPS


    ...忘了

三面完了正好是周五,忐忑的等到了周一,以为挂了。结果下午收到 hr 加微信,约了 hr 面。

hr 面

  1. 为啥离职,怎么想的

  2. 介绍项目

  3. 怎么和团队的人沟通,和成员出现冲突时怎么解决。

  4. 期望薪资,你现在的薪资

三个工作日收到了 offer,头条面试体验还是很棒的。

找朋友内推的蚂蚁金融核心,结果第二天就被拒了,杭州淘宝给我来电话,说我被捞起来了。确认了一下,确实如此,那就面吧。

阿里

还是很想去阿里的,所以也很忐忑,淘宝一共经历了 4 轮技术+1 轮笔试+hr 面,流程很长,面的我压力山大。阿里的面试特点:【自我介绍】->【项目介绍】->【场景解决】->【基础知识】,阿里面试除了基础以外,也很看重候选人的解决问题的思维。还是需要候选人有点积累的,假如你写的项目不是自己的,很容易就被问出来。

一面

  1. 自我介绍

  2. 项目难度介绍

  3. 如何实现延时任务

  4. 如何实现限流

  5. 线程池的参数

  6. 能不能自己实现一个 java.lang.String 并加载

  7. Redis 为什么这么快

  8. epoll 和 poll 的区别

  9. 进程同步的方式

二面

  1. MySQL 的索引机制

  2. 如何自己实现内存分配和管理?不太懂,然后说了 jvm 的垃圾回收机制

  3. 你们公司内部的 RPC 框架,介绍一下

  4. Redis 的 key 过期策略

  5. 缓存穿透和缓存雪崩

  6. 分布式锁

  7. 如何实现全局的 id 生成策略

  8. 悲观锁和乐观锁

  9. 红黑树了解么

三面

  1. 如何实现群消息已读

  2. 消息推送如何保证不重复

  3. Kafka 如何保证消息的可靠性

  4. RPC 是什么,和 http 调用有什么区别

  5. 说一说你项目的架构

  6. GC

  7. MySQL 的索引原理,给了一个场景,如何优化


    ...忘了

面完 3 面后居然又来了一个笔试题

笔试

  1. producer-consumer

  2. 两线程交替打印

  3. 多线程模拟 100 分钱随机分给 20 个人,每个人最少分配到 2 分钱

四面

  1. 写个 producer-consumer 吧,我说上次写过了。。傻了。。不该说的,然后面试官换了一道题,还好比较简单,写个二分查找,2 分钟写完完事。

  2. 项目难点

  3. MVCC

  4. HTTPS

  5. ElasticSearch 的查询过程

  6. Kafka 如何保证高可用

  7. Reids 的集群和选主

  8. 知道什么分布式一致性算法

  9. 如何实现定时关单


    ...忘了

HR 面

阿里的 hr 面真是让我难忘。

  1. 说说看,假如你是部门技术经理,线上商户数据丢失怎么办

  2. 怎么将一个产品推荐给其他的团队,怎么界定边界

  3. 怎么样协调关系


    (我才 2 年啊喂,到这里我已经快冒汗了,生怕最后一关毙掉了)

  4. 你和同事相处的情况怎么样,说说你帮助同事的一次经历

  5. 薪资

阿里的面试流程很长,而且一个部门挂了以后,会被另一个部门捞起来,不停的面。总之来说,阿里的面试体验也还不错,就是经常被放鸽子。支付宝的面试经验其实也大同小异,我就不贴了。

我去面试的所有公司问到的题目基本上全都包含在这些面试题里。对于要找工作的朋友们来说很值得短期快速突击一下。

需要的朋友

可以点击这里即可获取到文章中的文档,资料




发布于: 2021 年 07 月 23 日阅读数: 7
用户头像

Java架构师,高并发,高可用,分布式 2020.03.18 加入

领取文中资料加微信:MXC1146 即可获取

评论

发布
暂无评论
两年经验的阿里、头条面经(已拿 offer),大厂面试套路屡试不爽