NVIDIA-Infrastructure-Tool-Development-Intern
省流篇:
结果:In progress(基本凉了)
情况:笔试,硬核,一面稍简单,八股,1h,二轮,三场连面,135min,三个面试官,八股+手撕。
待遇:一天450,一周3天,6个月,张江。
岗位介绍
NVIDIA’s GPUs and SOCs are the world leaders in performance and efficiency, and we are continually innovating in creative and unique ways to improve our ability to deliver outstanding solutions in a wide range of sectors. We are seeking infrastructure tool development intern who is passionate about what they do and are committed to making a difference in the world through their inventions.
As a member of the Silicon Solution Team(SSG), you would play very meaningful role of chip/product bring up and validation. You would co-work with different teams to drive/develop automation solutions for silicon/platform test coverage and improve test efficiency for chip characterization. Through this job, besides software programming/debug skills, you would learn more technology about GPU/SOC features and the chip validation method/process.
What you will be doing:
- Design tools to automate chip different features validation, data collection, test case execution, and results analysis.
- Collaborate closely with silicon solution team, feature design team, software team to collect/discuss the tools requirement to cover the qualification to avoid the problem.
- Work closely with silicon solution team, board team, and feature design team for the firmware functions development/validation.
What we need to see: - Master majored in Microelectronics/Integrated Circuit/EE/Electronic Science and technology
- Good system validation knowledge including CPU, memory, GPU, PCIE and thermal/power control.
- Excellent problem solving, collaborative, and interpersonal skills.
- Fluent in English language both written and verbal
- Good Python/C/C++ development skills
- Experience on automation/diagnosis tool development is a plus.
- Experience on Perl/SQL/PHP/JavaScript is a plus.
With highly competitive salaries and a comprehensive benefits package, NVIDIA is widely considered to be one of the technology industry’s most desirable employers. We have some of the most brilliant and talented people in the world working with us and our engineering teams are growing fast. If you’re a creative and autonomous engineer with a genuine passion for GPU/SOC platform software/tools, we want to hear from you.
流程
10.28 boss和hr沟通,确定岗位,发送笔试链接
10.28 下午笔试完
10.29 约一面
11.01 一面,50min
11.07 接收邮件,选择二面时间
11.14 15:00-17:15 二面
-至今 in progress
蹲结果🕳
一面
- 英文自我介绍
- 您提到自己去做了个网站,怎么实现的,用了哪些语言
- 前端页面自己设置的吗 总结:在别人的框架上形成自己的东西,但是前端也有设计,还有一些东西是自己实现
- python做的项目介绍一下
- 你这个是基于深度学习吧,介绍一下深度学习相关算法
- 这个项目是你研究生毕业课题还是练手的第一个项目
- 你有了解一些其他的常用AI算法嘛
- 设计一个fir滤波器要考虑那些方面?去仿真验证的时候怎么去选择这个参数是合理的
- 你们有考虑过xx系数和xxx这些相关的参数
- 你除了python还有什么用的比较多?MATLAB?
- 深拷贝和浅拷贝的区别
- 比如去改一个词,你从数据Acopy到数据B,然后去修改新的值,会发生什么变化,这两种有什么区别?
- 之前有用过拷贝吗?
- 如何去合并两个列表
- C++中呢怎么合并?
- 用过C++什么新特性: 多线程thread的引入、for循环的机制:、auto自动推导类型、初始化、vector种emplace_back直接引入新元素,resize指定大小
- map选取方式有几种: 基于红黑树,根据元素唯一的key查找value,或者迭代器按键的顺序遍历
- vector插入一个元素的复杂度是怎样的
- 有用过Linux相关的吗,常用命令有哪些
- 怎么去去除两个列表里的重复元素:循环,python查看交集的函数
- python自带的函数可以去除记得吗?set
- 取当前路径地址的指令 os.getcwd
- 有没有做过异常处理的东西?
- 项目中遇到的问题解决思路和方法
- 之前有涉及到通过什么避免浮点数吗?
- 模型有考虑过什么位宽设计还是就很大的那种?
- 介绍下常见的排序算法
- 有了解gpu和cpu的东西吗
- 为什么选择这个岗位而不是通信工程师
- 有什么想问的
二面
面试官1
• 英语自我介绍
• 岗位自己找的还是hr推荐的
• 实习时长,每周出勤
• 介绍下最近做的项目,藻这个
• 数据集多大规模
• 模型是开源的嘛?发表在哪个论文上?
• 为什么采用ECA这个注意力机制?为什么更适合嵌入式?结构怎样?
• C++怎样的水平
• 嵌入式用C++?不,用C
• C和C++区别是什么。三大特性:封装继承多态
• 介绍下三个特性
• 多态分几种
• 指针用法
• 引用和指针有什么区别
• 指针占用的内存大小
• 野指针?
• 项目开发中有遇到内存泄漏问题吗?
• 深拷贝和浅拷贝
• 深拷贝的算法如何实现
• 如果给你一个对象,这个对象里面他的元素很多,可能对象里包括一个对象,嵌套的关系,从外面看就像一个树,如何去完成对这样一个树的深拷贝
• 情况:如果这个对象里面持有了对复对象的引用,这种情况怎么去深拷贝
• 用过Linux吗?
• 用过那些command
• ros指的是什么
• 硬链接和软链接
• git系统
• 合并代码的情况
• 计算机的存储结构
• 几级存储,比如一个最快的cpu交互的寄存器,进去后,下一步是什么?缓存,缓存之后主存储器
• 为什么要设计多层的存储系统,基于什么来考虑。比较下每级存储器之间的异同点
• 缓存比内存贵且缓存比内存看,从这方面来看,你觉得缓存内存外存的目的是什么?tradeoff
• xxx有用到一个原理还记得吗?中心局部性和时间局部性。
• 介绍一下这两个局部性
• 平时刷题吗?展示一下大概流程
• 46题,伪代码
• 有什么想问我的?(最好问工作相关)
面试官2
• 巴拉巴拉(大概就是英文介绍下你做过的项目)
• 巴拉巴拉(大概就是你是如何实现了红外碰撞检测)
• 实在不行中文说吧。…..好的…
• 红外模块是做什么的?
• 8个红外模块的算法是一样的,自己设计的,还是开源的?
• 他怎么知道他要偏转多少角度
• C++的编译过程。汇编
• 宏定义的用法和作用
• 如果A调用了这个文件,B调用了这个文件,编译过程有什么不同,有什么效果?没有ifdefine会怎么样
• 预编译是干嘛的
• 静态库动态库有什么区别,就是.a和.so?
• cmake写过吗
• python基本的数据类型有哪些
• python中的语法糖,装饰器
• git:本地文件怎么上传,设置了哪些?密钥认证
• 网络和系统方面了解吗
• linux用过吗
• 遇到权限不足怎么办
• 你管理员模式怎么用的?你用的虚拟机?chmod
• chmod里面777什么意思
• C++里面内存分布模型知道吗(我说的数据分布模型的stack不是数据模型的stack)
• 如何判断一个链表有环
• 能实习多久,有什么安排
• 你硬件应该示波器这些吗?
• 你用过tensorrt?
• 这个岗位的职位要求是啥(不是考你,我没看过)
• 巴拉巴拉(英语,大概就是职业规划是什么为什么选择这个岗位,你能为这个岗位贡献什么)
• socket programming之前学过吗
• 那或者问机器A和机器B要通信怎么实现
• 做个示波器方面编程嘛
• 示波器自动采集数据的编程?
• 钱学森学院?
• 基本的数据结构有哪些
• queue插入一个数值的时间
• 为什么O1,在内存中是一个怎样的存在,为什么可以永远插到最后一个?插一个和插100万个有什么区别
• 之后补一补和算法相关的。好的好的好的
面试官3
• MCU和fpga开发有什么不同
• 解决什么的时候需要fpga
• 多线程的cpu也可以实现并行化,那为什么要fpga
• 在什么样的设备上mcu可以实现真正的并行化?
• 多核cpu可以实现并行化计算吗
• 介绍下pcie3.0
• 你知道pcie是有这个config states?
• pcie数据的传输,怎么从一个设备传输到另一个设备上
• DMA有什么好处
• 你简历提到了波形的输出,方波基础代码怎么实现?MATLAB
• gpio上输出的话怎么实现?pwm
• 纯gpio输出呢? 手动置高低电平延时
• Verilog怎么实现
• reg和wire有什么区别
• 怎么实现分频
• 怎么定义上升沿还是下降沿
• 你是怎么管理你的项目代码的不同版本与更新
• git?(又是该死的git)
• git的概念介绍下
• git add前后有什么区别,实现了什么?
• 知道git里工作区缓存区远端这个概念吗?
• github怎么下载别人的代码
• 本地文件上传要配置什么
• 项目中提到要部署到嵌入式设备中,怎么处理版本不同问题。(模型不需要考虑版本啊😳)
• 那别的情况要运行不同版本怎么办?(docker?虚拟环境?)
• 怎么建虚拟环境
• 虚拟环境怎么安装需要的库
• linux上开发过吗?(再问我就要买苹果电脑了!!!!)
• 如果电脑安转了很多不同版本的python,你只想用一种,怎么办。(环境变量置顶)
• C++用过什么项目吗?
• C++和C有什么不同
• namespace有什么用
• 两个文件同名函数的问题?
• expand有什么用
• static?
• 你有什么想问的吗?
总结
git!linux!(虚拟机的不算)八股!C++!!!英语!!!!我是废物。┭┮﹏┭┮