原粒半导体 - AI 高性能算子工程师 - 技术面

1. 介绍项目。巴拉巴拉...

2. 说说 Reduction 算子调优实现策略;Conv 呢,是滑窗实现的还是怎么;其它的算子知道吗,比如 Softmax,Droupot。

- Reduction。巴拉巴拉...

- Conv 按滑窗策略实现。还有 img2col 方式,不过我没看过源码。

- Gemm、Transpose,其它不了解,只知道有通用现成的解决方案,没时间学。

3. C++ 重载;单例模式。

- C++ 重载是与 C 相区别的为人称道的特性之一。上层根据传输参数不同执行不同版本;底层通过函数联合签名定义为不一样的 函数名,实际为不同函数。

- 私有化或 delete 构造函数,提供静态共有接口。每次调用静态接口成员函数都检测一下类是否已经实例化,否则创建并返回实 例对象,是则直接返回已有实例对象。

4. 问会什么语言。答 C++/CUDA,Python/matlab 会调。给两个例子进行说明。

class Parant:
    x = 1

class Child1(Parant):
    pass
class Child2(Parant):
    pass

print(Parant.x, Child1.x, Child2.x)
Child1.x =2
print(Parant.x, Child1.x, Child2.x)
Parant.x = 3
print(Parant.x, Child1.x, Child2.x)
## 面试官:和 C++ 类似,print 里面的调用会实例化对象。
## 我:沉默...勉强答对。

a = a^b
b = b^a
a = a^b
// 我:交换 a 和 b。从数学上是环上的运算;从计算机上是按位异或。

5.本科专业,硕士研究方向。"你这本硕都是搞算法"。

6.反问。

- 公司是做多模态 AI 的,说是特点为芯片可插拔组装,我是不是可以理解为拼积木?我可以理解为给予客户更高的自由度,和降 低升级换代成本吗?

- 不同版本的芯片也是可以插拔的吗?会不会有木桶效应存在?(说是基于统一接口协议,类似于 PCIe x16; 高速互联,类似于 N vlink)。

- 总共几面。“一面,接下来就是 HR 面了。”

总共面了 35 分钟。

******************************************

9 月 20日后续来了:技术面挂了,跟我的感觉一致。

" HR 打电话说当时面试官挺犹豫的,最后给我挂了。最近又跟她说了说,问问我能不能去实习,面试官想先带带我。"

拒绝。

一方面是我确实是不能去实习;另一方面就是 HR 的话都是鬼话,一个字都不能信。

这操作也挺离谱的,白激动了。

*****************************************

2023/10/25 补更

首先介绍深鉴科技科技。由清华大学孵化,后被 AMD 赛灵思收购。

原粒半导体则是由原成员分化出来再成立的一家企业,同样的企业还有一家叫做[无问苍穹](https://mp.weixin.qq.com/s/0eUBGAQ1-9uGfb5IMegOSQ)。

然后重点信息来了。由内部消息得知,无问苍穹计划发展起来后被计划卖给其它企业(是不是一样的套路?),入职可能会给分红激励,但多少不知。

同样推测,原粒半导体可能也走这个路子,意向入职的话请考虑或问清楚。若真是这样,那么你必须要考虑的是:打算拿多点钱然后再找工作 or 想找个稳定的跳板。

全部评论
今天去原粒半导体面试,面试官是女的,问我pytorch里面的NCHW的N是什么意思,我惊呆了。
1 回复 分享
发布于 2025-02-26 20:31 北京
大佬私聊一下啊
点赞 回复 分享
发布于 2025-03-20 13:50 北京
这小厂去了会不会把简历搞花😳
点赞 回复 分享
发布于 2024-12-24 18:57 北京
有推荐的Github总结吗 高性能八股
点赞 回复 分享
发布于 2023-12-20 11:59 浙江
大佬的八股是自己整理的吗?
点赞 回复 分享
发布于 2023-10-25 09:51 广东
“你这本硕都是搞算法”,面试官是什么意思啊?,怎么感觉怪怪的
点赞 回复 分享
发布于 2023-10-12 15:37 湖南
Python的题跟我一样,我还给答错了,对 Python 的类太不熟了,以为还会在类间保持一个实例
点赞 回复 分享
发布于 2023-09-07 23:07 湖北

相关推荐

1.请详细描述你在简历中提到的AI相关项目中,负责的主要模块和核心技术贡献。2.在设计一个高吞吐、低延迟的模型推理服务时,你会重点考虑哪些架构层面和工程层面的问题?3.请解释C++程序内存中栈(stack)、堆(heap)和静态/全局存储区的特点与主要区别。4.在C++中,new/delete`与'malloc/free`的主要区别是什么?为什么在C++中通常推荐使用前者?5.请解释深拷贝和浅拷贝的概念,并说明在什么情况下必须使用深拷贝。6.请阐述C++中'std:unique_ptr、'std..shared_ptr和'std:weak_ptr的设计意图、使用场景及相互区别。7.虚函数表(vtable)是如何实现运行时多态的?虚函数与纯虚函数(抽象类)在语义和用法上有何不同?8.什么是内存对齐?编译器对结构体进行内存对齐的主要规则是什么?请计算一个给定结构体(包含不同类型成员)在特定平台下的sizeof大小。9.请解释C++11中右值引用(&&)和移动语义(move semantics)的概念,并说明它们如何用于实现高效的数据转移(如std.:.vector的push_back)。110.简述CUDA的SlIMT(单指令多线程)编程模型,描述thread、block、grid的层次关系。11.在CUDA内核中,一个线程的局部变量通常存储在何处?这与寄存器的分配有何关系?12.在CUDA优化中,如何使用共享内存(Shared Memory)来减少对全局内存的重复访问?请举一个简单的例子(如矩阵乘法中的分块)。13.什么是warp shuffle指令?它在warp内部的数据交换和规约操作中有什么优势?14.解释在CUDA中使用float4或int4等向量化加载/存储指令进行合并访存的原理和性能收益。15.什么是共享内存的bankconflict?它是如何产生的?请举例说明。16.如何通过数据填充(padding)或其他内存布局调整技术来避免或减轻共享内存访问中的bankconflict?17.解释CPU缓存的工作原理,包括时间局部性、空间局部性的概念,以及常见的缓存替换策略18.编程题:实现一个算法,在一个包含大量整数的数据流中,实时找出出现频率最高的前K个元素。请描述你的思路(哈希表+最小堆)并分析时间复杂度。
查看18道真题和解析
点赞 评论 收藏
分享
评论
7
29
分享

创作者周榜

更多
正在热议
更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务