📜  National Instruments 面试经历 |设置 4(校内)

📅  最后修改于: 2022-05-13 01:58:17.607000             🧑  作者: Mango

National Instruments 面试经历 |设置 4(校内)

第一轮:笔试

时长:75 分钟

约250名学生参加了笔试。有 9 个描述性问题;我们必须在纸上写下答案。没有负面标记。

3 道 C 语言题:都在寻找给定代码的输出; 1个基于数组的问题,1个链表和1个递归函数。

1 网络问题:查找从源机器传输到具有不同最大段大小(MSS)的中间路由器的目标机器的字节数。详细说明如果 MSS 小于接收数据包的大小,如何进行分段.

2 递归问题:对于给定的图片,我们需要制定递归方程,并针对给定的输入n求解。

1 计算机体系结构问题:计算执行给定指令所需的时钟周期数,有无重新排序。这里还给出了一个详细的过程,如果指令依赖于先前的指令等,如何计算周期数。
1 概率问题。
1 能力题:根据正方形和圆形的面积,求概率。

所有的问题都很简单。尝试在这一轮中得分更多。
53名学生通过了第一轮。

第二轮:编程轮

时长:3小时

问题总数:3
问题一:
给定一组整数 (a,b) (a,b>0)。该对表示存在于街道左侧和右侧的建筑物的楼层号。现在,如果在每对整数之间画线,则计算相交点的数量。

样本输入 1:
1 1
2 2
3 4
输出 1:
0
对 (1,1) 和 (2,2) 和 (3,4) 之间没有交集

样本输入 2:
1 3
2 2
3 4
输出 2:
1
在这里,(1,3) 之间的线将穿过线 (2,2),因此在这种情况下输出为 1。

样本输入 3:
1 1
2 2
3 3
1 3
输出 3:
3
这里(1,3)之间的线将穿过线(1,1),(2,2)和(3,3)。所以相交点的数量是3。

问题2:
计算给定表达式中多余括号的数量。

样本输入 1:
(A+B)
输出 1:
0

样本输入 2:
((A+B))
输出 2:
1

样本输入 3:
(A)+(B)
输出 3:
2

问题 3:
给定一组单词,计算将一个单词转换为另一个满足以下条件的单词所需的最小步骤数,
1. 在任何时候,我们只能更改或插入或删除单词中的单个字符。
2. 在步骤 1 中获得的结果词也应该出现在给定的词集中。
如果无法转换,则返回 -1。

样本输入 1:
坑, 凯特, 拍拍, 套件, kat, 风筝
把坑变成风筝
输出 1:
2
解决方案:
坑→套件→风筝
另一种可能的解决方案:pit → pat →kat→kate→ kite,这产生的步数为 4,这并不比之前的解决方案好,因为我们需要最少的步数。

样本输入 2:
坑, 凯特, 帕特, 套件
将pit变成kate
输出 1:
-1
解决方案:不可能。

提示:构建一个以每个单词为节点的图,并绘制一条边,如果这两个单词可以相互派生,并且满足上述两个条件。现在,应用最短路径算法来找到从给定单词到另一个单词的最小长度。
本轮有6人过关。

第三轮:技术面试
时长:2小时
每个小组有两个人。一个人问问题,而另一个人正在记录我是如何接受采访的。以下是我在面试中遇到的问题。

  • 我如何解决上一轮的编码问题以及这些问题背后的逻辑。由于我没有使用图形方法解决第三个问题,因此我费了很大劲才推导出逻辑。面试官对推导逻辑很有帮助,他给了足够的时间思考。我们在上一轮的第三题中花了超过 45 分钟,他询问了从构建图到 BFS 算法的每一步逻辑,以找到到达目标单词的最小步长。
  • 给定一个包含 n 个整数的数组(n 相对较高),找到 k 个最大元素(k<
  • 给定一个有效的二叉表达式树,计算它并返回结果。我被要求对逻辑进行编码。我通过使用递归方法解决了这个问题。我的方法也要求复杂性。
  • 项目详情。

第四轮:技术面试
时长 : 10 分钟

  • 再次,关于我的项目的问题。
  • 你将如何调试代码?
  • 您花在调试上的最长时间是多少,为什么?
  • 你有兴趣在 NI 实习吗?