两年经验的阿里、头条面经(已拿 offer),大厂面试套路屡试不爽
笔者 2 年开发经验。20 年年初先后面了头条、拼多多和阿里(淘宝和支付宝),并成功拿到阿里和头条两家的 offer。
面试前我主要是在网上看大家的面经进行查漏补缺,所以面试完后也想记录下来,权当给大家提供点信息吧。(面试过了一周了,记忆也有点混乱,争取想到多少就记下来多少)。
顺便提一下面试体验:头条 > 阿里 > pdd 拼多多最垃圾的面试体验,没有之一。我约的视频面,结果面试官说有事给我打电话面,然后给我一个文档,是一个算法。我在写算法的时候没察觉到电话信号不好断掉了。然后我回拨过去,面试官来了一句:你不要故意挂断电话去查答案。我 %@#¥@#%@5,保持微笑解释信号不好。后来为了信号好一点我去阳台面试,冻的瑟瑟发抖,这个时候心态已经炸了,又冷又紧张,算法题有思路但是一直被这个人否定,最后挂了。
头条
最开始面的头条游戏中台,当时是第一次面试,没有经验,导致算法题虽然有思路,但是没有写出最优解,直接挂了。后来又被捞起来,因为此时已有阿里的 offer,所以胆子也大起来了,收拾心情开始面头条。
头条的面试特点基本就是一个套路:【自我介绍】->【项目介绍】->【手撕算法】->【基础知识】,屡试不爽。
自我介绍:我是 xxx,来自 xxx,毕业后在 xxx 几年,期间负责 xxx。
项目介绍:xxxxx。项目的时候面试官会问你难点和解决方案,同时会给你提出场景,问你更优化的思路。
手撕算法:多刷题,也可以看看别人面过的算法题,可能会重复。
基础知识:针对简历写的东西问,我被问的较多的是一些中间价,Redis、MySQL、Kafka、ElasticSearch。
一面
Two Sum
给定 m 个不重复的字符 [a, b, c, d],以及一个长度为 n 的字符串 tbcacbdata,问能否在这个字符串中找到一个长度为 m 的连续子串,使得这个子 串刚好由上面 m 个字符组成,顺序无所谓,返回任意满足条件的一个子 串的起始位置,未找到返回-1。比如上面这个例子,acbd,3。给定 m 个可能重复的字符[a, b, d, d]呢?
提供一个整型数组以及一个整数 s,如果该数组中存在 n 个连续元素,且元素相加之和大于等于 s,则返回满足该条件的连续元素的最小长度;否则返回 0
MySQL 集群。假如集群出现延迟怎么处理。
Redis 的 zset 实现延时任务
设计题:如何设计 tiny url
为什么要四次挥手
HTTPS
第二天收到 hr 小姐姐的电话,约了面试时间。
二面
自我介绍
项目介绍
K Group 反转链表。写了栈和迭代两种实现方式,链表的题写起来真痛苦,很容易边界出错。
Redis 的持久化机制
MySQL 的隔离级别
MySQL 索引,聚簇索引和二级索引
Redis 高可用方案
介绍一些 Kafka 的一些概念
Kafka 如何保证消息有序
...忘了
过了一天又收到 hr 小姐姐的电话,开心。
三面
自我介绍
项目介绍
第 K 大的数
设计题:秒杀系统
MySql 的索引优化
HTTPS
...忘了
三面完了正好是周五,忐忑的等到了周一,以为挂了。结果下午收到 hr 加微信,约了 hr 面。
hr 面
为啥离职,怎么想的
介绍项目
怎么和团队的人沟通,和成员出现冲突时怎么解决。
期望薪资,你现在的薪资
三个工作日收到了 offer,头条面试体验还是很棒的。
找朋友内推的蚂蚁金融核心,结果第二天就被拒了,杭州淘宝给我来电话,说我被捞起来了。确认了一下,确实如此,那就面吧。
阿里
还是很想去阿里的,所以也很忐忑,淘宝一共经历了 4 轮技术+1 轮笔试+hr 面,流程很长,面的我压力山大。阿里的面试特点:【自我介绍】->【项目介绍】->【场景解决】->【基础知识】,阿里面试除了基础以外,也很看重候选人的解决问题的思维。还是需要候选人有点积累的,假如你写的项目不是自己的,很容易就被问出来。
一面
自我介绍
项目难度介绍
如何实现延时任务
如何实现限流
线程池的参数
能不能自己实现一个 java.lang.String 并加载
Redis 为什么这么快
epoll 和 poll 的区别
进程同步的方式
二面
MySQL 的索引机制
如何自己实现内存分配和管理?不太懂,然后说了 jvm 的垃圾回收机制
你们公司内部的 RPC 框架,介绍一下
Redis 的 key 过期策略
缓存穿透和缓存雪崩
分布式锁
如何实现全局的 id 生成策略
悲观锁和乐观锁
红黑树了解么
三面
如何实现群消息已读
消息推送如何保证不重复
Kafka 如何保证消息的可靠性
RPC 是什么,和 http 调用有什么区别
说一说你项目的架构
GC
MySQL 的索引原理,给了一个场景,如何优化
...忘了
面完 3 面后居然又来了一个笔试题
笔试
producer-consumer
两线程交替打印
多线程模拟 100 分钱随机分给 20 个人,每个人最少分配到 2 分钱
四面
写个 producer-consumer 吧,我说上次写过了。。傻了。。不该说的,然后面试官换了一道题,还好比较简单,写个二分查找,2 分钟写完完事。
项目难点
MVCC
HTTPS
ElasticSearch 的查询过程
Kafka 如何保证高可用
Reids 的集群和选主
知道什么分布式一致性算法
如何实现定时关单
...忘了
HR 面
阿里的 hr 面真是让我难忘。
说说看,假如你是部门技术经理,线上商户数据丢失怎么办
怎么将一个产品推荐给其他的团队,怎么界定边界
怎么样协调关系
(我才 2 年啊喂,到这里我已经快冒汗了,生怕最后一关毙掉了)
你和同事相处的情况怎么样,说说你帮助同事的一次经历
薪资
阿里的面试流程很长,而且一个部门挂了以后,会被另一个部门捞起来,不停的面。总之来说,阿里的面试体验也还不错,就是经常被放鸽子。支付宝的面试经验其实也大同小异,我就不贴了。
我去面试的所有公司问到的题目基本上全都包含在这些面试题里。对于要找工作的朋友们来说很值得短期快速突击一下。
需要的朋友
可以点击这里即可获取到文章中的文档,资料!
版权声明: 本文为 InfoQ 作者【Java架构师之路】的原创文章。
原文链接:【http://xie.infoq.cn/article/44933dda3284008a2180d2ff1】。未经作者许可,禁止转载。
评论