很多同学都想得到英伟达的实习或者校招机会。那从过来人的角度谈谈,要通过英伟达的实习、校招面试,都有哪些经验和注意事项呢?今天就跟大家分享一下。
【笔试】
总体情况:包含C/C++编程,C#编程,Python 编程,Windows 操作系统知识,Linux 操作系统知识,SQL 语言知识,正则 表达式知识,类似公务员行测的简单计算题。
包含了这 8 个部分,每部分都有若干题, 题型有选择和简答,题目是英文的,但没要求用英文回答。
1、Ring0,Ring3 是什么
ring 0(内核态),和ring 3(用户态)。 因为例如windows和unix这些常见的操作系统,只提供了两种权限模式,所以并没有完全使用整个ring架构。 所以我们在一般情况下,完全可以使用ring 0 表示内核态,ring 3表示用户态。
2、 Runlevel 是什么
runlevel可以认为是系统状态,形象一点,你可以认为runlevel有点象微软的windows操作系统中的Normal,safemode,和Command prompt only。
3、Python 写一个最基本的循环
Python 的最基本的 循环 技术是for语句,它可以遍历任何序列 (列表或字符串)中的项目,按照它们在序列中出现的顺序。
4、lambda 表达式是什么
Lambda 表达式(lambda expression)是一个匿名函数,Lambda表达式基于数学中的λ演算得名,直接对应于其中的lambda抽象(lambda abstraction),是一个匿名函数,即没有函数名的函数。Lambda表达式可以表示闭包(注意和数学传统意义上的不同)。
5、怎么匹配 00 结尾但不含 1 的字符串
6、提供了一个简单的情景,让写几条 SQL 语句
【一面】
总体情况:涉及知识点主要有:脚本语言
1、如何调用父类成员函数
父类的(public和protect的)函数在子类中直接可以用,如果担心歧义可以使用作用域标识符::
如果子类重写了父类的函数,而此时想要使用父类的函数则必须使用作用域标识符::
2、Python 函数的绑定调用和非绑定调用
(1)首先,方法仅仅是类内部定义的函数。(这意味着方法是类属性而不是实例属性)
(2)其次,方法只有在其所属的类拥有实例时,才能被调用。当存在一个实例时,方法才被认为是绑定到那个实例了。没有实例时方法就是未绑定的
(3)最后,任何一个方法定义中的第一个参数都是变量 self,它表示调用此方法的实例对象
3、如何判断程序运行环境中栈的大小
用递归程序试探,每次递归 会把参数和返回值压栈,一直递归总会消耗完栈空间
4、介绍你做过的项目,最好挑一些用过脚本语言(最好 涉及开发一些自动化脚本)的项目,或者有关测试用例开发的项目
5、会不会 SQL Server
【二面】
1、面试官出了一个很简单的 程序,问该程序实现什么功能。这个程序是如何得出一个十进制数里面二进制 1 的个数
2、如何判断一个十进制数是不是 2 的 n 次方。
答案是如果这个十进制只含有 1 个 1 就一定是 2 的 n 次方,否则不是
3、涉及一个函数接口,实现调用外部工具并返回 调用结果
4、如何找到一个连续整数范围中缺失的某一个数
扫描一遍用一个辅助元素就能解决
5、生成斐波那契数列的程序
用“备忘录”法可以稍加优化
6、给一个 3 升和 5 升的瓶子,如何量出 4 升水
【 终面】
1、用英文介绍了一下 做过的实习
2、对职位的理解
自动化工程师主要负责了解客户需求,编写自动化控制项目方案书、负责 PLC 编程、组态软件编写、组织自动化工程施工,负责自动化控制项目技术指导要求,并遵循软件开发流程,进行独立的嵌入式软件模块的设计
3、投的其他几个志愿职位有没有了解
4、会不会 C#
C#是微软公司发布的一种由C和C++衍生出来的面向对象的编程语言、运行于.NET Framework和.NET Core(完全开源,跨平台)之上的高级程序设计语言。并定于在微软职业开发者论坛(PDC)上登台亮相。C#是微软公司研究员Anders Hejlsberg的最新成果。C#看起来与Java有着惊人的相似;它包括了诸如单一继承、接口、与Java几乎同样的语法和编译成中间代码再运行的过程。但是C#与Java有着明显的不同,它借鉴了Delphi的一个特点,与COM(组件对象模型)是直接集成的,而且它是微软公司 .NET windows网络框架的主角。
C#是由C和C++衍生出来的一种安全的、稳定的、简单的、优雅的面向对象编程语言。它在继承C和C++强大功能的同时去掉了一些它们的复杂特性(例如没有宏以及不允许多重继承)。C#综合了VB简单的可视化操作和C++的高运行效率,以其强大的操作能力、优雅的语法风格、创新的语言特性和便捷的面向组件编程的支持成为.NET开发的首选语言。
C#是面向对象的编程语言。它使得程序员可以快速地编写各种基于MICROSOFT .NET平台的应用程序,MICROSOFT .NET提供了一系列的工具和服务来最大程度地开发利用计算与通讯领域。
C#使得C++程序员可以高效的开发程序,且因可调用由 C/C++ 编写的本机原生函数,而绝不损失C/C++原有的强大的功能。因为这种继承关系,C#与C/C++具有极大的相似性,熟悉类似语言的开发者可以很快的转向C#。
想要更多英伟达实习、校招的机会,请点击这里