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 轮。