25 暑期实习&秋招面经

1 自我介绍

主要投递CPP相关的开发岗位:异构计算、量化开发、数据库、后台开发。

2 暑期实习面试

2.1 腾讯 WXG 客户端

面试的部门主要做网络库,跟我的简历一点不match。

  • 写题 LRU有bug没改出来
  • 进程和线程区别
  • 什么是死锁,死锁的必要条件
  • 进程间通信方式
  • 虚函数的用处,实现原理
  • weak_ptr和shared_ptr的区别,shared_ptr的实现原理
  • shared_ptr在什么情况下会造成内存泄漏?
  • TCP三次握手,滑动窗口协议不懂网络(本科学的东西全忘了)
  • 为什么阿里云实习只有一个多月?
  • 说三种排序算法复杂度
  • 什么是排序算法的稳定性?
  • 又给了一个简单代码题

挂!

2.2 腾讯 WXG 企业微信-后台

  • 自我介绍
  • 介绍最近2012实验室实习做的PIM项目
  • PIM项目里面的索引是怎么做的?怎么做的并发控制?
  • 你提到使用bitmap管理内存,linux系统里面是怎么设计内存分配器的?
  • 内存里的有序索引一般使用什么数据结构?
  • 你从这个项目中学习到了什么?
  • 存在一个redis服务器集群,现在向集群中新增一个节点,怎么做数据迁移?
  • 使用链表管理共享内存分配,如果一个进程A申请了一块新的内存,结果进程A挂了,怎么回收这块内存?
  • 介绍一下leveldb的核心数据结构
  • 你在linux上是怎么调试程序的?gdb使用?gdb是怎么查看string值
  • weak_ptr和shared_ptr的区别,各自的使用场景是什么?
  • 基类的析构函数要加virtual关键字吗?不加virtual会有什么后果?
  • 做两道题判断二叉查找树是否合法?假设不存在节点的最小值和最大值,只有一个compare函数,代码需要怎么写?要求空间复杂度为O(1)给一个无符号整数num,最多位交换一次,返回交换后的最大值

挂!

2.3 腾讯 csig 后台

一面

  • 自我介绍
  • 介绍存内计算项目,甚至还让我讲了10分钟的ppt
  • 讲一下二叉查找树和hash table
  • C中的static关键字
  • linux中的虚拟内存?
  • linux中为什么是三级页表?
  • TLB的作用?
  • 写题 链表l1和l2中存储两个数,然后将两数相加。

这个部门是做RDMA的,不match,然后把我推给别的部门了。

2.4 阿里云 Nosql

一面

  • 自我介绍
  • 华为opengauss组实习中的postgres到opengauss的数据迁移工具是怎么做的?
  • 具体介绍一下redis-PM项目
  • redis-PM在宕机条件下怎么保证数据一致性的?内存是怎么管理的?
  • 现在让你重新设计一下redis-PM,你会新增什么哪些设计?目标是更好的性能,并且保证数据一致性
  • PM的存储块大小设置多少比较合适?
  • C语言中,数组和指针的关系是什么?定义int A[10],如何不使用size/宏遍历数组?sizeof(A)是多少?
  • 熟悉Linux内核吗?linux内核中你最印象深刻的点是什么?
  • 中断为什么要分上半部和下半部?还有别的考虑吗?提示一下,考虑函数可重入性
  • 熟悉多线程编程吗?锁有哪几种?怎么实现的?
  • 你是怎么测试系统吞吐的?
  • 你是怎么找到系统瓶颈的?
  • 为了获取更好的程序性能,你做过数据预取、SIMD等计算机体系结构相关的优化吗?

二面

  • 自我介绍
  • 讲PIM项目
  • 讲redis-PM项目
  • 讲GMDB架构
  • 写题

2.5 美团 机器学习引擎

一面

  • 介绍一下在2012实验室实习的工作
  • 全连接层和attention的区别?
  • 了解LLAMA 模型吗?
  • 讲一下你对计算图的理解
  • 静态计算图和动态计算图的区别
  • 如果使用动态计算图,系统瓶颈是什么?
  • 怎么对计算图做优化
  • 介绍一下模型训练的过程。从磁盘-->内存-->GPU。
  • 模型训练过程中,如何避免资源空闲/浪费?
  • 介绍一下pipeline的流程?如果pcie带宽不足,GPU算的很快,会对pipeline有什么影响?如何优化?
  • 模型参数在一个机器上放不下,增加机器,怎么训练?
  • 模型参数切分在多个节点,如果反向传播比正向传播快一倍,会对流水线产生什么影响?
  • 写题。关于链表删除节点,拷贝链表。

二面

  • 讲 pagedAttention
  • pagedAttention 和 FlashAttention有什么关系?
  • 聊PIM项目,论文
  • 你最敬佩的身边的人是谁?为什么?
  • 两本你最印象深刻的书籍
  • 写题。最长连续子数组的最大值

暑期实习 offer++,已拒

2.6 腾讯云 图数据库

一面

  • 全程聊PIM项目
  • 写题 DFS CSR图

二面

  • 聊PIM项目,论文
  • Mysql输入一个sql语句,处理流程是怎么样的?执行计划优化有哪些?
  • 一道简单题
  • 后面就是随便聊了
  • 感觉像是kpi面试

三面

  • 问了一些实习时间、地点情况
  • 写题

四面

  • 对cypher了解怎么样?写一个cypher
  • 讲一下RedisGraph和GMDB的架构
  • redis 的键值对过期策略
  • redis 的键值对淘汰策略
  • 讲一下B+树
  • 讲一下LSM tree
  • LSM tree 如何缓解读放大
  • 对比一下B+树和LSM tree
  • 讲PIM项目
  • 写题

挂!

2.7 达摩院 AI芯片

一面

  • 讲PIM论文,回答提问
  • 你认为PIM芯片的优势在哪?
  • 讲一下PIM-attention穿刺实验
  • 为什么要存在PagedAttention?
  • PagedAttention的kernal代码读过吗?怎么写的?
  • 讲一下CPU流水线
  • 讲一下TPU体系结构
  • PIM有哪几种?

二面

  • 讲论文
  • 聊天,为什么阿里云实习只有一两个月?为什么不留在2012实验室?
  • 对PIM加速大模型推理的看法?
  • 现在面了哪些公司?
  • 实习时间,地点

hr 面

  • 自我介绍
  • 你为什么适合达摩院这个岗位?
  • 在AI方向,你的成长历程怎么样的?
  • 讲一下你的职业规划?
  • 为什么选择AI芯片行业?
  • 在之前面试过程中,你与面试官达成过哪些共识?
  • 讲讲你对“生态”的理解
  • 你认为AI行业之后会怎么样发展?具体一点
  • 除了达摩院和2012实验室,你还有别的意向公司部门吗?

反问:

  • 医疗AI发展迅猛,你认为什么时候医疗AI可以真正走进千家万户?
  • 达摩院怎么解决cuda生态问题?
  • offer流程

暑期实习 offer++

2.8 拼多多 服务端研发

一面

  • 自我介绍
  • 写题。手写 vector
  • 讲llama2模型结构
  • 讲PagedAttention,kv cache

二面

不知道是二面还是被捞了,流程上也没有显示几面

  • 自我介绍
  • 介绍PIM项目
  • 写题

三面(主管面)

  • 在实习过程中,你解决了棘手的问题,受到mentor的赞赏,有没有这种情况?这儿问了好长时间,直接就是讲完了整个项目
  • 三段实习的公司/部门有什么区别
  • 你是要去华为工作吗?
  • 两种岗位,research or 开发岗位,你怎么看?你会怎么选?

反问:

  • 你们业务流程中,有没有什么棘手的问题?怎么解决的?
  • 工作时间
  • 如果一段时间内,系统没有棘手的问题,你们会比较清闲吗?

因为已经拿到心仪offer,主动要求主管结束流程

2.9 敦和资产

一面

  • 讲论文,PIM项目
  • 持久内存键值存储项目
  • 讲PagedAttention的思想
  • 对汇编了解多少?
  • 你最敬佩的身边的人是谁?为什么?

二面

  • 写题
  • 讲了一下paper

三面

  • 讲一下CPU cache
  • CPU进行矩阵按行遍历/按列遍历的性能差距有多少
  • 对量化行业有哪些了解?
  • 自我评价
  • 剩下的忘了

暑期实习 offer++,已拒

2.10 蚂蚁 图计算

一面

  • 手写 shared_ptr
  • Neo4j 是怎么存储图的?
  • C++ 11相比C++ 98新增加了哪些特性?
  • STL中的 unordered_map 和 map 有什么区别?
  • 知道右值引用吗?
  • 熟悉C++多线程编程吗?
  • 讲一下 RedisGraph 是怎么存储图的?
  • 如果领导给你了一个非常棘手甚至不可能完成的任务,你会怎么办?

二面

  • 讲PIM架构,PIM项目
  • 一个PIM核对应的内存容量是64MB,为什么不能对应1GB?
  • RedisGraph 执行查询的过程
  • RedisGraph 的执行计划了解吗?
  • 熟悉C++多线程编程吗?
  • 对异步编程了解吗?
  • 待排序数据放在磁盘中,内存容量比较小,怎么对数据进行排序?
  • 讲一下C++的多态
  • 讲一下编译的过程
  • 讲一下静态链接和动态链接
  • C++类中默认创建的函数有哪些?
  • 什么情况下要用到拷贝构造函数

三面

  • 讲PIM项目,论文创新点
  • 磁盘中有1TB数据,内存大小为4GB,如何对数据去重?估计运行时间是多少?

hr 面

  • 为什么选择保研上交?
  • 讲一下硕士做的项目是做什么的?
  • 论文的idea是怎么来的?
  • 代码能力怎么样?
  • 你最大的优势是什么?
  • 你的缺点是什么?
  • 为什么不选择读博?
  • 实习、工作城市选择?

加面

  • 自我介绍
  • 介绍存算架构
  • 介绍论文背景,创先点
  • 介绍 redis 持久化
  • 可以自己单独承担项目调研吗?

暑期实习 offer++

转正offer 36k,p6

2.11 稳博投资

一面

  • 大致讲了一下论文
  • 讲一下CPU的cache line
  • cache一致性协议
  • 讲一下C++的模板和虚函数是什么?
  • 一个class里面,模板函数可以是虚函数吗?
  • 为什么模板函数体要放在.h文件里面?
  • 栈上分配内存和堆上有什么区别?
  • 讲一下锁有哪几种?怎么选择?
  • 讲一下IO多路复用,epoll原理?
  • STL中的 unordered_map 和 map 有什么区别?
  • 增加删除元素,哪几种数据结构的迭代器不失效?
  • TCP释放连接中的2TSL的作用是什么?
  • 怎么修改UDP协议,实现可靠传输?
  • 你是如何找系统性能瓶颈的?
  • 如何对性能瓶颈进行优化的?
  • 如果没有占比较大的算子,你如何进行优化?
  • 写题

暑期实习 offer++,已拒

3 秋招提前批

3.1 tplink 联洲 操作系统

一面

  • 自我介绍
  • 介绍 PIM 论文,QA
  • 三个线程,线程1打印a,线程2打印b,线程3打印c。如何做到顺序打印a,b,c
  • 内核态和用户态的区别?什么情况会陷入到内核态?
  • 进程间通信方式

二面

  • 自我介绍
  • 介绍 PIM 论文,QA
  • 讲一下在华为2012实验室的工作
  • cache 一致性协议
  • 进程与线程的区别
  • 线程间的通信方式
  • hash table 冲突解决方法

三面

  • 自我介绍
  • 讲论文
  • 聊天

秋招 offer,32k

3.2 腾讯 青云计划 云架构平台部

一面

面试持续时间90min

  • 自我介绍
  • 讲在蚂蚁做的项目Graph-Aware SSTable 设计
  • 讲 processing-in-memory 架构,讲论文设计
  • 写题:根据cas执行,写无锁list
  • 又一个文件描述符,向offset=3kb处写入4MB数据,操作系统中会发生什么?
  • 主存的读写时延是多少?cache 的读写时延是多少?
  • 讲一下 C++ memory 模型中的 release

4 秋招

4.1 淘天 基础平台研发工程师(T-Star)

一面

  • 自我介绍
  • 介绍论文
  • 介绍 2012 实验室实习做的项目

一面挂

4.2 拼多多 服务端研发

一面

  • 自我介绍
  • 讲在蚂蚁做的项目Graph-Aware SSTable 设计
  • 写一段死锁程序,解决死锁
  • 在一大块连续内存上实现 hash map,主要实现出来 set(key, value) 函数

二面

  • 自我介绍
  • 手撕题:找出两个有序数组的中位数
  • 操作系统为什么分为内核态和用户态?
  • 讲一下 page cache
  • 什么情况下使用 page cache?什么情况下使用 direct io?
  • 讲一下图数据库和关系型数据库的区别
  • linux 进程和线程实现的区别
  • 系统中线程上下文开销比较大,如何解决这个问题?
  • 讲一下 redis 为什么高性能?

秋招 offer++,37k

4.3 淘天 基础平台研发工程师

  • 自我介绍
  • 讲蚂蚁和2012实验室做的项目
  • 讲一下 C++ 中的多态,如何实现的多态
  • 讲一下 C 中指针和C++中的智能指针的区别
  • shared ptr 的实现原理是什么
  • 系统调用是如何实现的?linux 有哪些常见的系统调用?
  • 手撕题:LRU

挂了

4.4 华为

海思 ai 芯片线下面试,给不到预期的职级。

后面转投之前实习过的 2012 预研部门。

秋招 offer++,职级薪资符合预期。

mark:秋招慎重考虑海思。据我所知,基本都给的13 14级,简直离谱到家了。

5 心得

秋招被挂惨了,主要原因在于暑期实习选择的方向有问题。目前已正式入职,据我统计,公司去年招聘 hc 有一半给了 ai 相关岗位。然而,我暑期实习选择了图计算方向。。。秋招被挂惨这也就正常了。

选择 >>> 努力

#我的求职总结#
全部评论
传奇耐挂王
点赞 回复 分享
发布于 今天 13:58 广东
怎么能这么厉害
点赞 回复 分享
发布于 昨天 12:25 北京

相关推荐

评论
7
24
分享

创作者周榜

更多
牛客网
牛客企业服务