写点什么

甘拜下风!大佬就是牛,仅仅 20 天就拿到美团快手小米搜狐的 offer

用户头像
马小轩
关注
发布于: 55 分钟前

最近看了看外面的机会,特此汇总下,希望对读者有帮助。

战况

  • 贝壳:一轮技术面,自挂东南枝。

  • 脉脉:两轮技术面,自挂东南枝。

  • 跟谁学:三轮技术面 + 一轮 HR 面。

  • 搜狐:三轮技术面 + 一轮 HR 面。

  • 小米:三轮技术面 + 一轮 HR 面。

  • 百度:同部门不同小组两个一轮技术面,自挂东南枝。

  • 美团:两个部门各自两轮技术面跟一轮 HR 面。

  • 字节:三轮技术面,自挂东南枝。

  • 快手:三轮技术面 + 一轮 HR 面。

总体周期在 4.15 ~ 5.15,中间还包含了个五一假期。看机会原因是好久没挪窝了,想再提高下自己的技能跟待遇,我自己是个焦虑患者,所以不想面试周期太长,本次面试原则就是主攻周期较快的公司。

个人简介

  • 教育情况:本硕双非学校,自动化 + 控制理论与控制工程,非正规 CS 论。

  • 目前情况:就职于北京某互金公司研究院,做过 AI,目前主要是大数据 + Java 开发。

  • 之前面经:这是第二次跳槽,上一次跳槽还要追溯到 17 年,当时只拿了个 JD offer,但当时感觉 AI 是大方向就来到了目前的公司,像 BATTMD 都没有收到面试邀请。

注意点

  • 刷题:LeetCode 中文网 + 牛客网 + 微软小胖哥 的 codetop :https://codetop.cc,面试时大部分都是牛客网 Coding。

  • 简历:勿写错别字,项目描述要有条理,可以突出自己的工作重点,可以提前自我演练下,确保语言流畅,简历上的技能慎重写!写上一个技能就起码要能讲出个 123 来。

  • 复盘:面完记得及时复盘,记录下面试官的考察点,其实面试挺好好玩的,因为根据你的工作年龄跟履历,大厂大概率会找个能包容到你知识点的人来面试你,所以珍惜能提升自己技能的机会!

  • 准备:别上来直接冲目标公司,先面几个公司熟悉下套路跟技能,虽然不太厚道吧,不过本来都是双向备胎的关系,大厂为什么周期那么长,道理你我都懂。

  • 周期:自己把握周期,面试完及时找猎头或者 HR 咨询面试结果,不要恋战!这家不行的话,直接冲下一家即可。

  • 面评:慎重投递自己心仪公司,大公司在技术面试跟 HR 面试时都会实时写面评来记录你的面试表现,如果你第一轮轮技术挂了,别的部门捞你,都会谨慎很多。

面经

1. 贝壳

一面

  1. LeetCode 199,二叉树右视图。

  2. Dubbo 跟 Spring Cloud 区别,自己从宏观到细节简单对比着说下。

  3. 限流算法中的令牌跟漏斗区别。Zuul 作用。

  4. 项目细节讲解,流程图,瓶颈在哪儿。

  5. 开发人员写出死循环,发布上线后如何查出此问题来。

  6. QPS,如何压测,性能测试,性能指标。

  7. 性能优化经验,聊一聊。

  8. 线程池说下,如果一堆线程任务有 20%概率失败,如何保证 100% 成功。

  9. 职业抉择,算法工作为什么转到知识图谱工程了。

  10. 目前应聘的岗位是纯 Cloud 开发,你的劣势。

  11. 关于图数据库的不同种类了解及对比,比如 Neo4j、DGraph、GanusGraph。

  12. 方向不匹配,凉。

2. 跟谁学

一面

  1. LeetCode 662.二叉树最长直径。

  2. 秒杀场景设计,逐步引导设计思路。

  3. 项目的细节探讨及框架流程图,如果项目数据量、并发度扩大十倍咋办,哪儿块是性能瓶颈。

  4. 消息中间件,如何保证消息不丢失,如何实现消息消费顺序性。Kafka 为什么那么快,Kafka 重平衡问题。

  5. 非 toC 岗位到 toC 岗位的心态切换,抗压能力。

  6. SpringCloud 那套东西的压力感。

二面

  1. MySQL 理解,事务隔离级别,MVCC,三个日志文件作用。

  2. 现在做的东西的数据并发量跟业务复杂度探讨。

  3. 自我讲解个满意项目,项目亮点。

  4. 操作系统中的阻塞、非阻塞、同步、异步、BIO、NIO、AIO 细节。

  5. 日常如何自我学习。

  6. LeetCode 215 TOP K。

三面

  1. 项目介绍,面试官挺忙的,没咋问项目细节。

  2. Redis 跟 MySQL 缓存一致性。

  3. 你对 Dubbo 底层理解。

  4. 你对 DDD 的理解。

3. 搜狐

一面

  1. MapJoin 是什么?

  2. Hive 数据倾斜 咋办?

  3. cluster by order by reduce by distribute by 区别。

  4. Kafka 为何那么快。

  5. MySQL B 树 B+树区别。

  6. UDF、Spark、Netty、BIO、NIO、AIO 框架。

  7. LeetCode 103. 二叉树的锯齿形层序遍历。

二面

  1. 项目介绍,框架流程图,自己负责的部分,数据治理的理解及实战场景。

  2. MapReduce 流程, Shuffle 过程细节,数据倾斜如何避免。

  3. hive 语句书写,开窗函数的考察。

  4. ZooKeeper 的理解,分布式事务 2PC、3PC、TCC、Paxos 实现思路及优缺点。

  5. 自己项目介绍,简单了解下职业规划等东西。

  6. LeetCode 5. 最长回文子串。

三面

  1. 项目介绍,负责模块。

  2. HBase 架构图,LSM 理解。

  3. Spark 在工作中的应用细节。

  4. Scala 语言的熟悉程度,Scala 跟 Java 的区别关系。

  5. 你所应聘的岗位主要职责。

4. 脉脉

一面

  1. MySQL 优化 查询 如何优化这些操作。

  2. MySQL 的 ACID 理解,如何保证的,MySQL 底层架构是啥。

  3. Redis 的几个基本数据类型,底层实现。

  4. RabbitMQ 工作的几种不同模式,数据如何保证顺序性跟不丢失,如何避免数据重复消费。

  5. Linux 常见指令(说点高级指令比如 tmux,awk,别扯 ls、cd)。

  6. MySQL 为什么不建议用 Text。

  7. MySQL limit 10W,10 这样的优化,覆盖索引的使用。

  8. Linux CPU 满负荷如何排查。

1. top -c 显示进程列表 2. 键入大写 P 按照 CPU 使用率看进程, 比如找到了进程 PID = 107653. top -Hp 10765 显示进程中线程列表 4. 键入大写 P 线程按照 CPU 使用率排序,比如找到线程 PID = 108045. 将进程 PID 10804 转化为 16 进制 printf "%x" 10804 2a346. jstack 10765 | grep '0x2a34' -C9 # -C 是匹配行和它前后各 n 行 7. 找到 耗 CPU 高的线程对应线程名字 以及在干什么


9. 链表是否有环, 如何找到交点,计算出环的大小。

10. 一个字符串中的最长无重复子串。

11. 一个帖子 来回回复如何存储,如何设计。

二面

  1. 一个数组包含 10W 个数据,数据范围都在 0~100,请求出两数相加和为 100 的情况一共多少种。

  2. 分布式锁实现方案。

  3. Redis 为什么那么快,Redis 底层实现。

  4. RabbitMQ 中的 TTL。

  5. Redis 中常见集群部署情况,出现性能问题如何排查。

  6. 纯 Python 后端开发岗位是否接受,你到目前待遇跟期望待遇。

5. 小米

一面

  1. 两个字符串求最长公共子序列,最长子串。输出字符串结果的那种。

  2. Hbase 的理解,LSM 演变过程。

  3. 项目介绍,数据治理方面的理解。

  4. 简单 SQL 语句考察,MySQL 各种索引跟如何优化。

  5. Kafka 重平衡,Kafka 架构图的理解,读写流程。

二面

  1. LeetCode TOP K 。

  2. 项目介绍,瓶颈延伸,自我复盘。

  3. 你对 Spring 的理解,循环依赖。

  4. 不停机修改 MySQL 一个字段,如何对 MySQL 进行服务器扩容。

  5. RabbitMQ 如何保证消息不丢失,如何保证消息顺序性。

  6. 1G 内存,1T 文件,想找到出现次数第二大的字符串。

  7. 进程间通信几种方式,每种方式的优劣性。

三面

  1. 项目介绍。

  2. 过往算法工作的项目讲解,李航统计学习、西瓜书、机器学习实战的学习心得。

  3. 地球上所有湖泊跟大海的体积如何求?大学数学建模大赛相关信息。

  4. 内核态跟用户态的理解,操作系统的几个核心点及调度算法。

  5. 实现字符串语句翻转比如 I LOVE C++ 变为 C++ LOVE I。

  6. 岗位职责要求。

6. 百度

一面

  1. TCP 阻塞如何解决。

  2. Python 中的 GIL 理解。

  3. Flask 生产环境如何配置,Session 检验。

  4. Python 中继承特性。

  5. Java HashMap 7 跟 8 的流程设计理念,为什么 7 中会出现环。

  6. Java 线程池参数。

  7. Synchronized 的理解。

  8. ReentrentLock 优势跟用法。

  9. 公平锁跟 非公平锁 的理解。如何选择用哪个。

  10. Redis 中的事务。

  11. Redis 中的 zset 底层。

  12. Redis IO 多路复用机制。

  13. Kafka 为什么那么快,消费者组的理解,Kafka 的重平衡。

  14. MySQL 隔离级别,MVCC 理解。

  15. 最近最有挑战性的项目。

  16. Spring AOP 的理解,实现原理,String 字符串拼接成目标类然后通过反射出所需 class。

  17. LeetCode 572,判断 一个二叉树在另外一个二叉树中。

  18. 告知不太匹配,但面试时感觉聊得挺融洽的,感觉被刷 KPI 了。

一面

  1. 二叉树左右节点互换,自己写出求解过程及测试用例。

  2. 区间合并,自己写出求解过程及测试用例。

  3. 多个链表进行合并,自己写出求解过程及测试用例。

  4. HBase 底层架构组成,LSM 理解。

  5. Clickhouse 跟 Spark 的理解。

  6. 面试官全程没开视频,错误地以为我只有一年工作经验。

  7. 告知不太匹配,再一次感觉被刷 KPI ,爱消失了。

7. 美团

一面

  1. 图数据的引擎了解么,简单聊一聊,Dgraph,JanusGraph。

  2. 聊下项目,项目的技术难点。

  3. 你对高并发的理解。

  4. 二叉树转换为双向链表,剑指 offer 36 。

  5. JVM 垃圾回收器 聊一聊,CMS 优缺点,三色标记法过程细节,G1 的优缺点跟实现过程 。

  6. HashMap 跟 ConcurrentHashMap 区别跟细节实现,线程不安全在哪里?

  7. Hive 底层执行流程了解么。

二面

  1. 燕京大学跟你们学校啥关系。

  2. 进程 A 操作变量 x,然后报变量地址写入磁盘,进程 B 是否可以操作。

  3. 类似 360 开机打败全国多少那种设计,正态分布。定期更新模型核心参数。

  4. TCP 知识点考察。

  5. 前端请求从发出到最终得到响应,整个数据的流转过程。

  6. 设计一个数据结构支持 O(1)的 insert、remove、random。

一面

由于上一次的二面面试官认为岗位不太匹配,所以被内推到了另外一个部门面试,估计前面的 2 轮面评还不错,所以这次竟然没有 3 面。

  1. 个人介绍,项目架构图,自我感觉项目难点,现在再让你重新做这个项目你会有什么修改跟调整。

  2. 项目数据细节问题。

  3. RabbitMQ 跟 Kafka 对比下,说下对 MQ 的理解。

  4. mmap java 里怎么实现的,ZeroCopy 的演变历程。

  5. 在线服务如何保证稳定性,感觉又关联到了高并发的理解上了。

  6. 常用的负载均衡算法,自己选择个负载均衡算法来实现并进行自测。

  7. Dubbo 跟 Spring Cloud 开发的区别跟理解。

  8. 常用限流方法,自己咋实现。

  9. 分布式链路追踪的实现跟理解。

二面

  1. 个人介绍,你对数据治理的理解。

  2. 平常如何提升自己,你对 JUC 的理解。

  3. 对以前做的 AI 项目简单讲解下,你负责哪块。

  4. 你目前手头 offer,你的面试计划跟安排是啥。

  5. 对于数据治理的理解,Java 开发 + 大数据开发 + BI 报表 + 推荐搜索,整个数据流转的过程的认知。

8. 字节

一面

  1. 项目介绍,你负责的模块,技术难点。

  2. Kafka 为什么那么快,Kafka 重平衡咋处理的。

  3. HTTP 的发展史理解优缺点,公钥、私钥理解跟加密过程。

  4. 操作系统内存、进程、IO、文件管理的理解,自己大致说下理解。

  5. Leetcode 8.atoi ,注意边界问题。

二面

  1. 项目介绍,求职岗位的工作内容描述。

  2. Hive 执行底层流程。

  3. Hadoop 的发展史,自己说下 HDFS、MapReduce、Yarn 等组件跟数据流转过程。

  4. Kafka 生产者消费者速度不平衡咋办,Kafka 重平衡。

  5. Redis 跟 MySQL 那套八股文的知识点。

  6. LeetCode 236. 二叉树的最近公共祖先。

三面

  1. ZooKeeper 的理解。

  2. 聊项目,自我评价下项目的技术短板,数据重复消费如何解决。

  3. RabbitMQ 跟 Kafka 聊一聊 宏观 自己说那种。

  4. 线程池如何实现参数的动态修改。

  5. Hive 执行的底层原理。

  6. 字符串消消乐。

  7. 整体语言知识体系转 go 如何?

9. 快手

一面

  1. 链表是否存在环,如果存在咋找到入口,如何获得环长度,为什么 fast 是 2 步,3 4 5 不行不行?多思考下细节问题。

  2. 线程咋打断,interrupt 用法。

  3. LeetCode 124,给定一个非空二叉树,返回最大路径和。

  4. JUC 高频八股文考点。

  5. syn 跟 Lock 对比,如何进行选择性使用呢。

  6. BitMap 统计那些数据出现过,那些没出现过。

  7. 还有好几个是场景设计思考的题,当时能说个 12,然后面试官会引导你,看你是否能说出个 3 来。

二面

  1. 业务数据处理时数据治理问题,如果规则引擎经常增删如何实现高效的对外服务。

  2. 大数据从数据收集到对外提供服务的思维跟理念,数据从 MySQL、Redis、MongoDB 等各种平台获取到后,如何提供对外服务。如何提供高质量的服务呢?

  3. 数据提供服务需要考虑的点,OLAP、OLTP、高性能、高可用、高扩展。

  4. A 服务器 a,B 服务器文件 b,如何判断 ab 文件是否一致,尽可能地避免来回传输。

  5. MySQL 用户数据,如何保证高可用,你对高并发的理解是啥。

  6. 数据治理方面的思想 idea。

  7. 无损降级听过吗。

  8. 布隆过滤器的思想,多个布隆过滤器的思想?

  9. 服务治理的思考。

  10. 10 块糖,每次最多 3 个 如何保证必须赢, n 块糖呢?如何保证赢。

三面

  1. 你负责的是什么部分,你感觉最大挑战是啥,选个感觉最好的项目说一说。

  2. 你对大数据架构体系理解。

  3. fast counter 如何实现 类似 变量 i++那种(没及时沟通,充分理解题意)。最后知道考察的是 LongAdder 跟 ThreadLocal。

  4. hive 实现底层 ,开窗函数的考察。

  5. Redis 中的常见高频考点。

  6. syn 对象头咋回事,锁升级过程。

  7. 调度框架 爬取 10 万个 URL,10 万个 URL 属于不同的节点, 每个节点有不同的访问频率跟总次数限制,如何实现。

  8. Kafka 架构体系说下,自己的理解。Leader 自己理解下。

  9. 日常学习方式跟思维,如何度过新工作的切换期。

感悟

  1. 一面:大部分考察基本 Coding 能力跟一些八股文,中间穿插着一些小场景问答,而其实开发性的场景问答才是最考察候选人能力的,反正我公众号的八股文内容,面试官几乎都没咋问,也可能面试官认为你工作那么多年了,这些必备点应该会了。

  2. 二面:一般都是组长面,面试的时候几乎全程场景设计,中间穿插着一些你对一个知识点的理解,你是否有自己的一套认知体系跟方法论。这玩意咋说呢日常只能是多思考,多总结。

  3. 三面:一般都是总监面,考察点几乎都是数据结构的设计,场景设计,你对所用工具的底层实现这些东西,你对这个方向整体对知识体系跟框架对理解,几乎二三面就给你定级了。

  4. 交叉面:如果学历不错或者工作时间很久了,或者前面的面试官对你的技术定级有疑问,此时一般会有跨部门的 leader 会跟你交流 battle 一番。

  5. 周期:阿里跟腾讯的面试周期都 40 天起步的那种,如果有个阿里或腾讯梦,尽量做好长线战斗的准备,注意调整面试状态,我在面了半个月后,心态崩盘了一次。

  6. 待遇:注意回忆下自己在三轮技术面的表现如何,这关系到你的技术定级跟你的期望薪资。

  7. 八股文:常见的考察知识点我们都俗称为八股文,这些东西最好可以建立个自己的知识体系,任意说一个知识点你可以进行由点到线、线到面、面到全局的讲解跟思考。日常你可以用 cnblog、CSDN、掘金、公众号等平台来梳理知识。


    Prcesson 绘图

  8. 场景设计:这个环节其实是最好玩,也是最考察候选人能力的地方,工作久了,双方都懒得套招了,一般会直接场景聊一聊来看下候选人的实力如何,感觉自己准备的也不充分。我的面经都是在面试后的第二天复盘的,很多场景设计都忘记了。以后多努力了!

  9. 积累:日常多积累吧,IT 行业跟嵌入式或硬件行业不太一样,更新迭代太快了!要保持 Keep Learning 的状态,

最后分享一份阿里内部面试资料

可以关注+转发后点击这里免费领取

面试题内容详解

  • 面试软实力




  • Java 相关面试题






  • 多线程 &并发面试题




  • JVM 面试题




  • 数据库面试题




  • Spring 面试题




  • Spring Boot 面试题




  • Spring Cloud 面试题




  • RabbitMQ 面试题




  • Dubbo 面试题




  • MyBatis 面试题




  • ZooKeeper 面试题




  • 数据结构面试题




  • 算法面试题



  • Elasticsearch 面试题




  • Kafka 面试题




  • 微服务面试题




  • Linux 面试题




可以关注+转发后点击这里免费领取资料哦

用户头像

马小轩

关注

还未添加个人签名 2021.06.25 加入

还未添加个人简介

评论

发布
暂无评论
甘拜下风!大佬就是牛,仅仅20天就拿到美团快手小米搜狐的offer