英伟达-自动化工程师-面试经验

以下内容来自于应聘者回忆整理

很多同学都想得到英伟达的实习或者校招机会。那从过来人的角度谈谈,要通过英伟达的实习、校招面试,都有哪些经验和注意事项呢?今天就跟大家分享一下。

【笔试】

总体情况:包含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#。

想要更多英伟达实习、校招的机会,请点击这里

  • 1、刺猬实习遵循行业规范,任何转载的稿件都会明确标注作者和来源
  • 2、刺猬实习的原创文章,请转载时务必注明"来源:刺猬实习",不尊重原创的行为刺猬实习或将追究责任
  • 3、作者投稿可能会经刺猬实习编辑修改或补充。

相关推荐