诺瓦笔试

1 逻辑题

1门外三个开关,门内三个灯,门外看不见门内,只能进一次门,确定灯和开关对应关系

假如有K1、K2、K3三个开关
先打开K1、K2等一段时间后, 关掉K2.
然后进门,这时有一个亮着的灯就是K1控制,再有手去摸下不亮的两个灯,有发热的就是K2控制,不热的就是K3控制

2 A抛n次硬币,Bn+1次,求A的正面次数不小于B的概率。

50%把,想想如果两人同时掷N次,概率都相同,甲多抛一次这一次有一半多几率是正面,所以就有一半多机会掷多比乙多

2 计算机系统

1计算机系统的资源有哪些

计算机系统资源包括程序和数据等软件资源、CPU、输入/输出设备和存储器

3 网络技术

cookie的作用

作用:可以利用cookies跟踪bai统计用du户访问该网站的习惯,比如什么zhi时间访问,访问了哪些页面,dao在每个网页的停留时间等。利用这些信息,一方面是可以为用户提供个性化的服务,另一方面,也可以作为了解所有用户行为的工具,对于网站经营策略的改进有一定参考价值。

用途:存储用户在特定网站上的密码和 ID。另外,也用于存储起始页的首选项。在提供个人化查看的网站上,将利用计算机硬驱上的少量空间来储存这些首选项。这样,每次登录该网站时,浏览器将检查是否有cookie。如果有,浏览器将此 cookie 随网页的请求一起发送给服务器。

4 数据结构

已知完全二叉树的节点数,求深度和叶节点数。

题目如题
定义:若设二叉树的深度为h,除第 h 层外,其它各层 (1~h-1) 的结点数都达到最大个数,第 h 层所有的结点都连续集中在最左边,这就是完全二叉树。

假设完全二叉树中,度为0的节点(即叶节点)数目为n0,度为1的节点数为n1,度为2的数目为n2,总数为n
首先我们得知道两个公式
n = n0 + n1 + n2

n - 1 = 0n0 + 1n1 + 2*n2

n-1减去的是根节点。

得n0 = n2 + 1 = (n-1 - n1)/2
但我们还是不能求出叶子节点数,我们还少了个条件,

如果节点总数是偶数,则n1 = 1

如果节点总数是奇数,则n1 = 0
由此

n0 = (n-1 - (n+1) % 2) / 2
假设n = 2019
则n0 = (2018 - 0)/2 = 1009

5 OO

1类静态数据的特点

(1)该类的所有对象共享访问该静态数据成员的一份复制品,而不是每个对象都有该成员的复制
(2)静态数据成员存储在全局数据区
(3)它与普通数据成员一样遵从public、protected、private访问规则
(4)static成员变量的初始化是在类外,此时不能再带上static关键字。类的 静态数据成员在 类内只能声明,定义和初始化必须在类外

2 类访问普通函数和虚函数谁快

类中的虚函数是通过动态改变虚函数表,访问虚函数表中的某一个函数,动态生成的。

但是普通的成员函数是在编译的时候就分配了内存空间,静态生成,存在静态区。

普通函数更快.普通函数的地址在编译期就已经确定了,调用这个函数只需要直接用对应的地址就可以了.调用虚函数时,首先要找到该对象的地址,然后找到该对象虚函数表指针(VPTR)的位置(为了提高查找速度,通常就是该对象的地址),而对象的构造是要到运行时才开始的,这个虚函数表指针也是在运行时才有的,所以虚函数地址是运行期确定的,找到VPTR后根据其指向的虚函数函数指针表得到具体需要调用的函数的地址,相比于普通函数,这个过程复杂,会比较慢.

6 改错

1 枚举类型

https://www.runoob.com/w3cnote/cpp-enum-intro.html

2 explicit

explicit 是避免构造函数的参数自动转换为类对象的标识符

#include <iostream>
using namespace  std;

class A
{
public:

	 explicit A(int a)
	{
		cout<<"创建类成功了!"<<endl;

	
	}
	
	

};
int main()
{

	A a=10;
	return 0;
}

上面的代码编译不成功,原因是当显式地定义了一个带一个参数的构造函数( 带explicit),必须要显示地调用构造函数,

A a(10);

如果不加 explicit的话

A a=10;

实际的转换过程如下:
相当于直接调用A(10);

(1)

explicit

此关键字只能对用户自己定义的对象起作用,不对默认构造函数起作用
此关键字只能够修饰构造函数。而且构造函数的参数只能有一个。。

(2)何时用explicit

当我们不希望自动类型转换的时候用,其实标准库好多构造函数都是explicit的

比如说vector ivec(10); //这种定义看起来一目了然

不能写成vector ivec=10;//此种定义让程序员感到疑惑

(3)何时不用explicit

当我们需要隐式转换的时候

比如说String类的一个构造函数

String(const char*);

定义成这样的好处,在需要隐式转化的时候编译器会自动地帮我们转换,标准库里面的String就是一个好的证明。

具体来说:

我们可以这样String str=“helloworld”;//直接调用构造函数

String str=“hello”+str+“world”;

调用重载的+操作符号,此过程相当于:
String temp(“hello”); //调用构造函数

String str=temp+str;

String t(“world”);//调用构造函数

String str=str+t;

明白隐式转换在我们自己写类的时候,尤其是些操纵内存的类的时候很有用。

  • 0
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
诺瓦FPGA秋招笔试题主要分为两个部分,第一部分是专业知识测试,第二部分是编程题。 专业知识测试部分包括了FPGA的基础知识、Verilog语言、时序设计以及数字电路等方面。例如,可能会涉及到FPGA的组成原理、时序约束的设置、时钟域划分、时钟频率的设计、异步时序的处理等方面的问题。这部分的题目主要是考察考生对于FPGA的整体架构和设计流程的理解,以及对于一些常见问题的解决能力。 编程题部分可能会要求考生使用Verilog语言进行硬件描述,或者使用Vivado等FPGA开发工具进行仿真、综合和实现等流程。题目可能包括多个模块的设计与连接、时序要求的满足、状态机的设计、数据通路的实现等方面的内容。这部分的题目主要是考察考生的编程能力和对于FPGA开发流程的熟悉程度。 对于这样的笔试题,我建议考生首先通读题目,理清各个要求和步骤,然后有针对性地回答问题。在回答过程中要注重思路的清晰和逻辑的严谨,遇到不会的问题可以先跳过,尽量保证其他部分的答案的完整性。在回答编程题时,要注意代码的规范性和可读性,以及对于时序约束和时钟域的处理。尽量利用仿真工具进行测试,确保设计的正确性和功能的完备性。 总之,对于诺瓦FPGA笔试题,需要考生具备扎实的FPGA基础知识和Verilog编程能力,同时熟悉FPGA开发流程和工具的使用。只有全面理解题目要求,有条不紊地回答问题,才能在笔试中取得好成绩。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值