时间来到 5 月份,经历了 10 家公司 21 场面试的洗礼,我持续两个月的高强度暑期实习面试也总算可以说是告一段落了。这篇文章的主要目的是记录我这两个月以来的面试经历和总结感悟,既为我后续的职业规划做参考,也希望能稍微帮上一些有缘看到它的朋友。如果各位对我的简历感兴趣,也可以点击页面右上角的“关于”查看。

以下部分是我对我这几轮实习面试总体的总结,如果希望直接看具体面经请点这里

总结

公司 岗位/部门 进度 备注
阿里云 ECS 弹性计算 ❌ 主动拒了二面 提前批,和中间件部门冲突
腾讯 TEG 广告工程部 ❌ 一面挂
腾讯 TEG 腾讯网络研发部 ✔ OC
阿里云 云原生中间件 ❌ 三面挂
美团 优选事业部 ❌ 一面挂
美团 SaaS ✔ OC
淘天 阿里妈妈 ❌ 三面挂
快手 基础平台 ❌ 一面挂
阿里控股 资采产品技术部 ❌ 主动拒了 HR 面
阿里云 创新业务中心 ✔ OC
蚂蚁 - ❌ 简历挂 蚂蚁认为我的简历适合做架构和中间件,但是蚂蚁的架构部门今年似乎不怎么招实习生了(也很有可能是我还不够格)
米哈游 - ❌ 简历挂 据说北京地区只要 TOP2 学历的实习生
鹰角网络 - ❌ 简历挂
EA China - ❌ 笔试挂 全英文笔试,难度不低,只能说我还是太菜了

各公司的面试风格(主观意见)

阿里系

所有暑期实习 HC 较多的大厂里,我认为阿里系(包括蚂蚁)的面试难度是最大的(面试难度类似的字节暑期基本不怎么招人)。而在不同 BG 里,我认为难度排名大约是 淘天 >= 阿里云 = 蚂蚁 > 其它 。当然这和具体部门有关,比如我挂掉的阿里妈妈,本身就是阿里纯纯的核中核部门,面试难度也是肉眼可见的地狱级别。

在面试方式方面,阿里系的面试基本不会直接问八股,而是每一个面试官都会和你沟通,试图在有限时间内了解你简历里的项目(这是最考验面试人的地方),然后在这其中深挖一些八股相关的问题甚至是场景题。

另外必须提醒的是,阿里系的笔试非常非常重要。笔试成绩会极大影响你在候选人中排序的位置,并且在面试中也会经常提及。例如我数据库方面比较薄弱,在笔试中都答的不好,这个问题在面试中也被反复拷打。而如果你的笔试成绩让面试官不满意,他甚至有权力让你加面笔试。

当然,难度大也有相应的回报,阿里系的实习生转正几率是大厂中最高的,只要表现符合预期,很少出现 HC 问题。

题外话,根据小道消息,阿里系学历卡 23 所院校的情况确实是客观存在的,就算实习生进去了可能也会影响转正,请各位留意。

腾讯

和阿里类似,腾讯的面试八股也非常少,同样也是通过深挖项目来了解你的技术水平。但是就我个人了解,腾讯将其实习生面试和校招面试的难度区分的很大,所以总体来看暑期实习的面试并不是非常难(WXG 和部分 IEG 除外,这俩部门不仅是核中核,秋招还基本不怎么招人,全部 HC 都给实习生了)。随之而来的代价就是,腾讯的暑期转正难度也是我面试的这几家公司中最大的。

美团

和腾讯阿里不同,美团非常看中面试者的八股基础,在某些部门甚至会直接问简历上没有提及的八股问题。也是因为如此,美团的面试通过率相当一部分是可以通过自身的努力提高不少的。

美团在暑期实习转正率高的情况下,对暑期实习生的面试流程做了很多简化,例如尽量只有两轮技术面和取消 HR 面,确实比较良心。并且北邮的名号在美团是非常管用的,据说只要是北邮本硕,即使笔试就做了一题出来也能给你约面。

快手

一面挂的我可能没有立场来评价快手 😂,但我个人体感快手的面试特点是和美团类似的,非常看重八股基础,并且难度会比美团稍大。

常见问题

Q:怎么准备面试?

A: 以下提供一些我经常使用的网站以供参考

  1. 八股文
  2. 算法题
  3. 面经
  4. 简历制作

Q:没有实习经历,怎么办?

A: 首先,有过另外一段互联网公司的实习经历的简历毫无疑问是最有竞争力的。但如果没有,你也可以考虑通过参与开源项目(比如我)、参加比赛、包装实验室项目甚至实现网上公开的大型项目来丰富你的简历。题外话,作为一位开源爱好者,我必须提醒各位的是,开源项目往往都是基础架构或是中间件,这样的简历在面试大多数业务部门的时候,可能需要准备好充足可信的理由和面试官解释你参与开源的动机和规划。

Q:什么时候投递比较好?

A: 3 月中旬开始即可,没有必要过早或是参与所谓“提前批”(亲身体会),我认为我今年的投递实际上就偏早了。另外,在投递选择部门时一定要慎重,尽量不要选择类似 都喜欢 这样的选项。

Q:面试中要注意什么?

A: 面试的时候除了技术问题,我觉得有几点也是不能忽视的

  1. 诚实,实在不会的知识点或者技术大胆承认,不懂装懂会扣更多的分。
  2. 积极展现自己的主动学习意愿和转正意愿(比起只是混一段实习经历,大多数公司更希望自己培养的实习生留下来)。
  3. 对自己简历上的项目一定要熟悉。绝大多数面试官很可能并不是很懂简历上写的东西,那么如何把它讲清楚就是实力的一种体现。

Q:每轮面试都有什么差别?

A: 暑期实习的面试一般在二到三轮技术面左右(像腾讯 WXG 那种顶级部门论外),每轮面试的难度和内容都与面试官本人风格相关,没有一般规律。但从职级上讲,一轮的面试官一般是平级或稍高一级(按校招入职算)的前辈,二轮的面试官一般是你的直接领导(Leader),三轮的面试官一般是你的领导的领导,也称主管或总经理(General Manager, GM)。而 HR 面则不属于技术面,主要是了解你的个人情况和意向,一般不怎么挂人。如果你的技术水平过关,结果在 HR 面挂掉了,一般就是横向对比淘汰(说白点就是有另一个比你强要求还比你低的候选人),所谓的 KPI 面我认为几乎是不怎么存在的。

详细面经

阿里云 创新业务中心

一面(通过) 2024-4-15

  • 自我介绍
  • 介绍项目 Nacos,指标是怎么配置的?
  • 介绍 SkyWalking
    • 什么是 TracID 和 SpanID?
    • SkyWalking 的 TracID 是如何生成的?
    • Trace 上下文 Context 是什么?
  • 进程/线程/协程的区别
  • 简要介绍一下线程池
  • 如何在线程池中使用 ThreadLocal?
  • 反问:
    • Q: 主要业务是?
    • A: 通义千问大模型 to C/B/D 的方向,偏工程化
    • Q: Base 情况?
    • A: 仅杭州
    • Q: 面试流程?
    • A: 三轮技术面,一轮 HR 面
  • 后续面试官又打电话回来说他忘记了流程上我必须写算法题(因为笔试选择题做太烂了,排在同期笔试的 50% 之后 😫),给我加了一个简单题:最长公共前缀

(总计 40min)

二面(通过) 2024-4-22

  • 面试官介绍部门:飞天实验室,产品主要是通义千问、阿里云百炼等
  • 自我介绍
  • 从零开始介绍 Nacos 和 Skywalking 项目问的很深
  • 说说 Java 字节码增强的原理
  • 那么 Arthas 和 jstack 这些工具又是什么原理呢?(不懂)
  • 标记-复制和标记-清除/整理两种算法的使用场景
  • 嵌入式系统为什么不使用有 GC 的语言?(无法承受 STW 的代价)
  • 大模型赛道非常竞争,目前我们作息为 995,你能适应吗?(害怕)
  • 面试官有紧急会议,无反问环节(可以看出确实卷)

(总计 60min,无算法)

三面(通过) 2024-4-25

  • 免自我介绍直入主题,简要介绍 Nacos 项目
  • 职业规划,开源项目都是架构方面,为什么要面试业务方面的工作?
  • 请你给出一个量化的指标,评价你做的工作(没答好,面试官回答直接豁然开朗:用户对你提出的新功能的采用率)
  • 讲讲 SkyWalking 项目和遇到的最大困难
  • 线程和协程的应用场景
  • 如果主进程挂了,这个进程中的线程和协程要怎么恢复?
    1. 堆栈与上下文的持久化
    2. 复现执行(即重头跑一遍)
  • 大模型使用中你有什么经验能让模型回复更精确?
  • 在工程技术方面上,你认为大模型的开发会有什么难点?
  • 你希望在什么样的团队中工作?
  • 你是否有带领团队的经验?说说如果你的下属抗拒你的决定,你会怎么做?
  • 你怎么看待加班?
  • 聊职业规划、团队赛道、加班情况、转正情况和晋升情况等
  • 后面基本都在聊天了,所以无反问环节

(总计 60min,无算法)

阿里控股 资采产品技术部

一面(通过) 2024-4-12

  • 面试官介绍部门
  • 自我介绍
  • 深挖 Nacos 项目
  • 讲讲 gRPC 的原理
  • JKD 动态代理原理?还有别的动态代理方式吗?
  • 反射有什么优点?又有什么缺点?
  • 讲讲自己用过的线程池
  • Java 中有几种常见 IO 模型?你常用的是哪种?
  • 你在平时使用过大模型吗?大模型的提示工程有哪些技巧?
  • 场景题:2 个文件 50 亿字符串,4g 内存,找到这两个文件中都出现的字符串(哈希映射为小文件,每次都读小文件即可)
  • 反问:
    • Q: 阿里控股在集团中的定位?
    • A: 所有非业务技术岗都在这里
    • Q: Base 情况?
    • A: 仅杭州
    • Q: 面试流程?
    • A: 实习一般是两轮技术面,一轮 HR 面,每轮面试间隔不超过一周。但你的笔试成绩比较低,可能要加面一个技术面。
  • 后续额外加面算法题:两两交换链表中的节点

(总计 40min)

二面(通过) 2024-4-22

  • 自我介绍
  • 拷打项目
  • 为什么之前没有去实习?
  • 讲讲网络隧道和 VPN,如果要你实现一个能够绕过防火墙的方式,你会怎么做?
  • 对称加密和非对称加密的区别
  • 讲讲 HTTPS
  • 数组是如何实现随机访问的?
  • 散列表都有什么实现方式?
  • 什么是操作系统的中断?
  • 是否了解大模型的底层原理与训练方式?(这我是真不会啊)
  • 为什么 Java GC 往往要同时采用标记-复制和标记-清除/整理两种算法?
  • 反问:
    • Q: 能举例说明团队的业务情况吗?
    • A: 资采产品技术部主要是做整个阿里集团的采购服务
    • Q: 转正情况?
    • A: 来一个转一个(真嘟假嘟?)

(总计 50min,无算法)

三面(通过) 2024-4-25

  • 自我介绍
  • 介绍项目
  • 对 To B 业务有什么看法?
  • 目前手头有什么 Offer?
  • 介绍开源经历
  • 反问
    • Q: 作息情况?
    • A: 公司规定 9 点上班 6 点下班,但实际上大部分是 10 点上班 8 点下班,周末加班情况不多
    • Q: 介绍一下阿里控股和爱橙科技?
    • A: 爱橙科技为原 CTO 线,主要业务基本都为 B 端

(总计 30min,无算法)

快手 基础平台

一面(挂) - 2024-4-2

  • 自我介绍
  • 讲项目
  • 讲讲进程、线程、协程的关系和区别
  • TCP 拥塞控制
  • TCP 的 TIME_WAIT 状态是什么?为什么要有这个状态?
  • TCP 连接中,如果客户端宕机了,服务端怎么处理?
  • 了解 Java 的锁吗?讲讲什么是乐观锁?自旋锁是乐观锁吗?自旋锁是怎么实现的?(没答好)
  • 了解 JVM GC 机制吗?GC 主要处理的哪部分内存?如何判断对象是否需要被 GC 回收?
  • 做题:每日温度(时间复杂度答错了 😭)
  • 反问:
    • Q: 你们团队主要做什么?
    • A: 基础平台大部门
    • Q: Base 情况?
    • A: 北京,西二旗
    • Q: 面试流程?
    • A: 两轮技术面,一轮 HR 面

淘天 阿里妈妈

一面(通过) - 2024-3-28

我今年暑期最艰难的一场面试!

  • 自我介绍
  • 三个项目分别一条条拷打,共计 40min 包括但不限于:
    • 项目参与契机
    • 项目目标与产出
    • 项目技术栈详解
    • 项目难点与解决方案
    • 项目细节,例如: Nacos 的 CP 模型与 AP 模型详解…
  • 八股:
    • HTTP 与 HTTPS 的区别
    • HTTP 头的主要字段
    • TCP 三次握手与四次挥手
    • 线程池的主要参数,核心线程、阻塞队列、最大线程数、拒绝策略之间的关系
    • 消息队列的主要作用和特点
    • MySQL 的事务隔离级别
    • MySQL 的索引类型
    • Java GC 如何减少 STW 的影响
    • …(以上都是比较正常的按下不表,下面各个都是重量级
    • volatile 关键字使用了指令重排,指令重排有什么好处,为什么要设计指令重排?(啊?)
    • B+ 树的特点,为什么高度一般是 3~4 层,为什么 MySQL 设计数据都存储在叶子节点?(啊??)
    • a, b, c 列建立联合索引,查询条件为 WHERE c = 1 AND a = 1 时索引的使用情况,WHERE c = 1 OR a = 1 呢?(啊???)
    • HashMap 的 indexFor() 函数是什么?为什么这么设计?(啊????)
    • …(还有不少,被问懵了忘掉了)
  • 场景题
    • 有一个百亿的无序数据集,如何查找到其中所有不重复的数据?(分治)
    • 多用户多商家的前提下,用户需要看到他下的所有订单,商家需要看到他卖出的所有订单,怎么设计数据表?(三张表,用户表、商家表、订单表)
  • 算法题:仅仅反转字母
  • SQL 题:一个表有两列,一列是 name,一列是 score,一个学生可能有多个成绩,找出最高成绩为 7 的学生名字,必须用子查询(寄!)
  • 反问:
    • Q: 你们团队主要做什么?
    • A: 广告业务黄埔军校
    • Q: Base 情况?
    • A: 北京杭州都可以

(总计 120min)

二面(通过) - 2024-4-9

  • 自我介绍
  • 讲项目
  • 如何评估 QPS 吞吐量
  • 为什么使用协程进行网络 IO 操作
  • 讲讲 Python 的 GIL 锁
  • 如何让 Python 拥有更高的性能
  • C++ 和 Python/Java 的区别
  • 对于一个服务端程序,如何确定其支持的最大并发连接数
  • 对 10 亿个互不相同的无符号整数,32GB 内存,如何进行排序?
  • 是否有小于 O(nlogn)的排序算法?对这 10 亿个无符号整数,快速排序更快还是这个算法更快?
  • 做题:对一个正整数 n ,求 n 除以 [1,n] 所有数字的商的和,要求时间复杂度在 O(n) 以下(纯数学题,难!)
    • 我找到的规律是这样的:
    • s = sqrt(n)prev = n/1 + n/2 + ... + n/snext = n/(s + 1) + n/(s + 2) + ... + n/n ,结果 res = prev + next
    • 有这样的规律prev - next = s * s
    • 则有: res = prev + next = prev + (prev - s * s) = 2 * prev - s * s
    • 这样就可以仅计算 prev 就可以得到结果,时间复杂度为 O(sqrt(n))。
  • 反问:
    • Q: 我能学到什么?
    • A: (介绍了阿里妈妈广告业务)
    • Q: 我在技术上还有能提高的地方吗?
    • A: 我们主要技术栈是 C++,你的技术栈在我们这不是很有优势

(总计 90min)

三面(挂) - 2024-4-17

  • 自我介绍
  • 介绍项目
  • 参与开源的契机
  • 职业规划和 Base 期望
  • 讲讲 static 关键字?具体特点是什么?它修饰的类保存在哪个 JVM 内存区域?
  • MetaSpace 和方法区的关系?
  • 聊聊 Java 中的锁
  • 在多线程程序中,如何进行断点调试?
  • 场景题:设计一个数据结构,存储 100 亿个数据的中位数,保证查找时间复杂度为 O(1),插入时间复杂度为 O(logn)。(用两个堆存储,一个大顶堆一个小顶堆,堆顶都为中位数即可)
  • 场景题:100 亿个商品,实现分布式的连续编号,怎么做?(没太理解题目意思 😰,我答雪花算法不符合面试官的意图)
  • 算法题:定义最多 256 位的整数类,并实现加法运算。(我封装了 BigInteger,面试官不满意,后面自己又实现了一个大数相加的算法)
  • 简要说了一下如果能实习的话所在小组的工作内容,无反问环节。

(总计 60min)

美团 SaaS

一面(通过) - 2024-3-27

  • 自我介绍
  • 介绍项目 Nacos
  • 介绍实验室项目
  • 线程的状态有哪些?WAITING 和 BLOCKED 的区别?
  • 为什么要有虚拟内存?虚拟内存的段页式管理是怎么实现的?
  • 讲讲 TCP 的三次握手和四次挥手
  • HTTP 主要状态码有哪些?405 和 504 分别是什么含义?
  • Java 有哪八种基本数据类型?
  • 讲讲 Java HashMap 的实现原理,负载因子有什么含义?为什么每次扩容都是 2 倍?
  • 三个线程交替打印 ABC (直接贴上我的博客
  • 讲讲 MySQL 的 MyISAM 和 InnoDB 的区别
  • InnoDB 读未提交和读已提交的区别?如何实现从读未提交到读已提交?
  • InnoDB 读已提交和可重复读的区别?如何实现从读已提交到可重复读?
  • MVCC 内部如何实现可重复读?如何计算/判断事务的版本号?
  • 对 a, b, c 列建立联合索引,查询条件为 a 和 c 时索引的使用情况?
  • 做题:反转链表 II
  • 反问:
    • Q: 你们团队主要做什么?
    • A: SaaS 内的低代码平台,目前在内部推进使用,任务有一定的挑战性
    • Q: Base 情况?
    • A: 北京,朝阳那一带
    • Q: 实习面试流程?
    • A: 两轮技术面,一轮 HR 面

(总计 70min)

二面(通过) - 2024-4-1

  • 自我介绍
  • 面试官介绍部门
  • 二叉树的最大深度
  • 二叉树的直径
  • 引申问题:在不使用全局变量的情况下,找到二叉树中距离最大的任意两个节点 (看着简单,实际上上手非常复杂,边界条件也非常麻烦,最后没做出来 😭)
  • 为什么读计算机专业?
  • 职业意向和规划是什么?
  • 反问:
    • Q: 介绍部门?
    • A: SaaS 部门主要面向 B 端,商家侧的赋能都是这个大部门的主要业务
    • Q: Base 情况?
    • A: 北京关庄地铁站附近。
    • Q: 面试流程?
    • A: 两个技术面,HR 面实习生不一定有。

美团 优选事业部

一面(挂) - 2024-3-22

  • 自我介绍
  • 介绍项目 Nacos
  • RPC 和 HTTP 的区别
  • 了解 GC 吗?讲讲 G1 垃圾回收器的基本原理
  • 讲讲 Java 并发,JUC 常用的类库有?
  • 讲讲 ConcurrentHashMap 的实现原理
  • ConcurrentHashMap 读操作需要加锁吗?(答错了,用了 volatile 修饰的读操作不需要加锁)
  • 讲讲红黑树的基本原理?
  • 除了 HashMap 你知道有什么地方用到了红黑树吗?(我回答 epoll 在内核态维护了一个红黑树,面试官还提到 DNS 也是用红黑树实现查找的)
  • 讲讲 epoll 原理,它和 select/poll 的区别?
  • Synchronized 实现原理和锁升级过程
  • 了解 MySQL 吗?讲讲事务的隔离级别
  • 可重复读在 MySQL 中是怎么实现的?
  • 讲讲 MVCC 的基本原理
  • 聚簇索引和非聚簇索引的原理与区别,非聚簇索引叶子节点存储的是什么?(答的一坨)
  • MySQL 最左匹配原则是什么?
  • 做题:二叉树的锯齿形层序遍历
  • 反问:
    • Q: 你们团队主要做什么?我进去后会做什么?
    • A: 优选事业部是很大的部门,技术栈是 Java 为主,但不知道你具体会到哪个组。
    • Q: Base 情况?有没有转正机会?
    • A: 都在北京;如果有转正意愿机会很大。

(总计 70min)

阿里云 云原生中间件

一面(通过) - 2024-3-12

  • 做题 1:合并 K 个升序链表,暴力 O(n^2)做出来面试官不满意,后面提出用优先队列优化到 O(nlogk) 面试官才觉得 OK。
  • 做题 2:俄罗斯套娃信封问题,先排序再用动态规划做出来了,本质上是最长上升子序列问题。
    (共 40min 左右,两道 Hard ,人有点麻 🤮)

Tips: 先不管题目的难易程度,各位会发现这些题目都是 Leetcode 的原题,而且虽然你是在白板上写的,但面试官很快就能发现你做的正不正确,我非常有理由怀疑面试官就是一个分屏窗口开着 Leetcode 复制题目来给我们面试,接着直接贴走你白板上的代码回 Leetcode 上运行的,然后逮着错误的样例追着你问。这个规律应该适用于阿里全系的面试算法题。

  • 项目拷打:Apache SkyWalking
    • 线程间同步方式
    • 协程间同步方式
    • 协程使用时需要避免什么问题?(1. 避免池化 2. 仅用于 IO 密集型任务,不要用在 CPU 密集型任务)
    • 线程和协程如何交互?
    • 如何解决线程和协程数据同步的问题?技术选型是什么?(排除了加锁队列,选择了使用代理线程的方式)
    • 代理线程只有一个,是否会出现单点故障?如何解决?(如果代理层也使用线程池消耗得不偿失,失去项目原本的意义;通过设定一定的队列大小阈值并在文档中提醒用户来一定程度避免单点故障)
  • 面试官提了一嘴 Nacos ,但是只问了我对接人是谁。面试官:其实我就是 Nacos 团队的,这个你既然做过就不问你了。(汗流浃背 😓)
  • 反问:
    • Q: 你们团队主要做什么?
    • A: 云原生中间件,Nacos、Seata、RocketMQ、Sentinel 等
    • Q: Base 情况?
    • A: 杭州为主,北京也有,后面能协商
    • Q:面试流程?
    • A:三轮技术面,一轮 HR 面,今天这是第一面简历面

(总计 80min)

二面(通过) - 2024-3-18

  • 打招呼(我在 OSPP 活动里问过他问题)
  • 讲讲 HashMap 和 ConcurrentHashMap 的实现原理
  • 为什么要用红黑树?红黑树的实现原理?为什么它的查询是 log(n) 的?(没答出来,我真不会写红黑树 😓,只说它是平衡二叉树,类似优先队列的堆)
  • 那讲讲堆排序的具体过程
  • TCP 和 UDP 的区别?
  • TCP 如何保证可靠传输,即不丢包?
  • 说说 TCP 快速重传
  • 线程和进程的区别?
  • 进程通信方式和线程同步方式?
  • 讲讲你学到最多的项目(肯定不敢讲 Nacos 了,怎么能关公面前耍大刀呢)
  • 如果微服务之间出现慢查询怎么排查?(网络问题?数据库问题?程序内部问题?总之没答好)
  • 那换种说法,如果服务器变得很卡,怎么排查?一般有什么原因?
      1. 内存占用过高,比如 Java GC 负担过重,或者 C/C++ 这种内存不安全语言出现内存泄漏。
      1. CPU 占用过高,比如程序出现忙等待问题。
      1. 网络阻塞或 DNS 解析失败。
    • (实际上应该再答一个磁盘 IO 方面的,当时没想到)
    • 解决方案可以用 TOP 查看哪个进程出问题了,再用 Jstack 等堆栈工具分析。
    • 但是面试官 还是不太满意
  • 那你说说 TOP 指令里 load 的含义,怎么解读?(当时没想出来,只能说不会 😭)
  • 反问:
    • Q: 开源社区商业化模式?如何盈利的?
    • A: 提供差异化的商业解决方案,用户团队小时会用开源版本,当用户做大后由于业务需求会进一步购买商业版。
    • Q: 为什么要做开源?为何不用 Oracle 的闭源商业模式?
    • A: 用户不会感觉被“绑架”,可以很方便的做迁移,这一点对很多用户有很大的吸引力。
    • Q: 面试流程?
    • A: 如果通过,还有一轮技术面和一轮 HR 面,官网的测评和笔试都是需要做的。
    • Q: 我有什么能改进的地方?
    • A: 对高流量分布式系统的排查经验不足,但对校招实习生来说也是正常的。其它还好。

(总计 45min,无算法题)

三面(挂) - 2024-3-28

  • 自我介绍
  • 细问 Nacos 的实现原理,非常非常细的那种,比如心跳机制阈值几秒
  • Nacos 有什么缺点吗?
  • 简要介绍 SkyWalking
  • 有什么个人爱好
  • 最喜欢的爱好是?
  • 为什么选择阿里?
  • 反问:
    • Q: 开源项目盈利点?
    • A: 没有盈利,甚至每年都要投入非常多的资金维护。但是拿到的用户值得这些代价
    • Q: Base 情况?
    • A: 杭州为主,实习可以考虑北京,但如果后续能够转正,之后最好来杭州

(总计 40min)

腾讯 TEG 腾讯网络研发部

一面(通过) - 2024-3-11

  • 自我介绍
  • 介绍两个开源项目
  • 进程、线程和协程的区别
  • select、poll、epoll 的区别和原理
  • epoll 的 ET 和 LT 模式区别和原理
  • 开放题目:如何设计一个高网络并发的系统
  • 了解容器化技术吗?说明一下 Docker 的三种网络模式(人傻了,根本没看过这东西 😰)
  • 说说学校的项目?讲讲 BGP 协议和 AS 组织机构映射。
    (共 30min,无算法题)
  • 反问:
    • Q: 你们团队主要做什么?
    • A: 做 SDN 协议开发,管理整个腾讯内部的所有交换机/路由器,两个方向,一个是容器网络(Docker/k8s),一个是传统网络,面试官是传统网络方向的。
    • Q: Base 情况?
    • A: 北京和深圳
    • Q: HC 情况?
    • A: 不清楚
    • Q: 对我今天的面试评价如何?
    • A: 整体还行,但是有些技术深度不够,特别是网络方面的(下次必须恶补容器化网络 😓)。如果有接下来我们部门的流程可以多准备一下这些方面的内容。

二面(通过) - 2024-3-15

  • 自我介绍
  • 介绍项目:Nacos 到 Skywalking
  • 介绍实验室和实验室项目(面试官对这个很感兴趣,聊了很久)
  • TCP 三次握手和四次挥手,为什么分别是三次和四次?
  • 什么时候使用多进程,什么时候使用多线程?
  • 做题:反转链表
    (大约 40min,接下来是应该算是领导力测试)
  • 身边的人怎么评价你?
  • 你怎么评价自己?
  • 有什么日常爱好?
  • Base 期望?家乡是哪的?
  • 如果让你带一个小团队你应该怎么做?
  • 虽然你是网络方向的专业,但简历上描写很少,为什么?
  • 反问:
    • Q: 主要工作内容?
    • A: 容器网络和传统网络(和一面一样的回答)。
    • Q: 面试流程?
    • A: 如果有接下来的流程,还有一轮领导力面试。

(总计 60min)

三面(通过) - 2024-3-21

  • 自我介绍
  • 聊聊实验室研究方向和项目
  • 对网络有什么了解?使用 FRR 组网吗?
  • 讲讲你对 BGP 的理解
  • 知道 tcpdump 吗?怎么使用?(不会用,只会 Wireshark 😭)
  • 讲讲 tcp 报文头都有哪些字段吧(寄!)
  • 本科网络工程专业和别的计算机类专业有什么区别?有什么特殊的课程吗?
  • 你的 GPA 排名大概是多少?
  • 平时写代码吗?有接触 C/C++ 吗?
  • 工作地点有什么意向吗?
  • 反问:
    • Q: 部门工作内容?
    • A: (和一二面类似)
    • Q: 为什么要专门提到工作意向?
    • A: 希望实习在深圳,工作可以选北京,因为领导层都在深圳,可以更多观察实习生是否匹配。

(总计 40min)

腾讯 TEG 广告工程部

一面(挂) - 2024-3-6

  • 自我介绍

  • 介绍项目 Nacos

  • 根据项目引出问题:分布式链路追踪模型及其基本原理、线程/进程/协程的对比区别、协程模型与 Java 和 Python 的协程实现…

  • 介绍项目 Apache SkyWalking

  • 根据项目引出问题:池化技术优缺点、GIL 锁对 Python 线程的影响、项目难点(线程与协程通信)…

  • 介绍实验室项目

  • 根据项目引出问题:团队协作、项目规划、应付甲方的方式(对,你没看错)…
    (以上大约 40+min)

  • 做题:用两个栈实现队列

  • 反问:

    • Q: 你们团队主要做什么?

    • A: 我们团队主要做大数据工具(Spark、Flink、Hadoop)的二次开发和封装,提供给其它部门使用

    • Q: Base 情况?

    • A: 只有北京

    • Q: HC 情况?

    • A: 往年招的少,今年应该会多(又汗流浃背了 😓)

    • Q: 对我简历做个基本评价?(旁敲侧击面评 🤭)

    • A:写的还可以

    • Q: 如果有后续,流程大概是怎么样的?

    • A:秋招三轮技术面,你这个实习岗有可能少一些

  • 最后面试官又问了一句:我们做这些大数据相关的工具,你有没有意愿?我: 意愿的话,我希望等面试流程走完再进一步讨论吧(🤡)

阿里云 ECS

一面(通过) - 2024-3-2

  • 自我介绍

  • 介绍项目 Nacos

  • 介绍项目 Apache SkyWalking

  • 介绍实验室项目
    (以上大约 20+min)

  • 讲讲你对协程的理解(结合项目,先从进程和线程关系讲到协程的概念,然后对比 Python 和 Java 的协程实现:asyncio vs Virtual Thread)

  • 做题:一个 Map 给出用户喜欢的歌,一个 Map 给出歌手唱过的歌,求用户最喜欢的歌手

    特简单的题目结果题目看错了,面试官好心多给了 10 分钟,幸好最后做出来了(汗流浃背了 😓)

  • 反问:

    • Q: 你们团队主要做什么?

    • A: (我听下来大概是 ECS 内部中台)

    • Q: 是否有转正名额?

    • A: 阿里云现在只招转正实习生(即有 HC 才招实习)

    • Q: Base 情况?我希望能转正的话可以去杭州

    • A: 杭州为主,北京也有。实习会在北京,会记录你转正后的 Base 意愿

笔试

美团 - 笔试 - 2024-3-9

(120 min)

第一题 第二题 第三题 第四题 第五题
100% 100% 100% 70% 10%

蚂蚁 - 笔试 - 2024-3-16

(100 min)

第一题 第二题 第三题 选择题(15 题)
100% 100% 5% 7 单选 5 多选 3 语言题(Java 或 C++二选一)

米哈游 - 笔试 - 2024-3-17

(120 min,做的最烂的一场笔试 🥹)

第一题 第二题 第三题 选择题(15 题)
82% 64%(没想到 BigInteger ,郁闷了一天) 18% 单选 + 多选

阿里云 - 笔试 - 2024-3-24

(100 min)

第一题 第二题 第三题 选择题(15 题)
100% 100% 0% 8 单选 7 多选

阿里控股 - 笔试 - 2024-3-30

菜!

(100 min)

第一题 第二题 第三题 选择题(15 题)
100% 18% 0% 8 单选 7 多选

淘天 - 笔试 - 2024-4-3

(100 min)

第一题 第二题 第三题 选择题(15 题)
100% 25% 10% 8 单选 7 多选

华为 笔试 - 2024-4-17

庆祝第一次笔试 AK !🎉🎉🎉

(120 min)

第一题 第二题 第三题
100% 100% 100%