📜  Veritas 面试经历 |第 3 组(校内能力问题)

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

Veritas 面试经历 |第 3 组(校内能力问题)

Veritas 于 2017 年 8 月 30 日访问我校进行校园招聘。选拔过程包括能力倾向测试和个人面试。

能力倾向测试由 20 个问题组成,基于:
1) 移位运算符。

2) 指针基础。

3) 基于 C++ 的面向对象概念。

4) 基于输出的 C 和 C++ 问题。

5) 编码回合也包括在这 1 小时的回合中,解决它的人被选中进行进一步处理。只有一个问题是基于位操作的。

示例如下:

给出以下输出:

//Write C code here
#include
int main()
{
    int i = 5, j = 2;
    printf("%d %d ", i<>j);
  
return 0;
}

输出:

20 1

MCQ 问题有 4 个选项:

#include 
  
using namespace std;
  
class test
{
public:
    int upper, lower;
public:
    test():upper(5),lower(upper+1)
    {
  
    }
};
  
int main()
{
    test obj;
  
    cout << obj.upper << obj.lower<< endl;
  
return 0;
}

选项:
一)65
b) 56
c) 5some 垃圾值
d) 错误

回答:

b) 56

选择正确的选项:

如果 (x & (x-1) == 0)
然后,

a) a 是偶数
b) a 是 2 的幂
c) a 是奇数
d) 什么都不能决定。

答:

b) a is a power of 2

最后有一个编码问题如下:(我们只需要完成一个函数)

1)给定一个十进制数,以二进制表示计算设置位的数量,即 1,并从函数返回一个数组,该数组具有以下格式:
a) 数组[0] 将包含数字的二进制表示中设置的位数。
b) 数组的剩余元素应该是二进制表示中设置位的位置。

解释:
让我们有一个数字 n = 161。
其二进制表示如下: 1 0 1 0 0 0 0 1
所以数组应该如下:
array[0] = 3(即设置位数)
array[1] = 1(从 MSB 到 LSB 看到的第一个设置位的位置)
array[2] = 3(从 MSB 到 LSB 看到的第二个设置位的位置)
array[3] = 8(从 MSB 到 LSB 看到的第三组位的位置)

共有 147 名学生,其中 37 人被选为 PI 轮。