📜  REVE Systems 面试经历 |设置 1(校园内)

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

REVE Systems 面试经历 |设置 1(校园内)

该过程包括三轮:

第一轮:笔试(90 分钟)
第二轮:技术面试
第三轮:人力资源面试

第 1 轮:笔试(90 分钟)
有一组 15 个问题。问题如下:

Qn-1:编写一个程序来检查给定的树是否是对称结构。例子:

5    
     /   \
    6     7  
     \   /
      8 9
   
   Symmetric


       5    
     /   \
    6     7  
     \     \
      8     9
   
   Not Symmetric

Qn-2:编写一个函数从链表中删除一个节点。

Qn-3:找到代码的输出并解释。

#include
  
int main()
{
    char c = 125;
  
    c = c+ 10;
  
    printf("%d", c);
  
return 0;
}

Qn-4:编写一个 C函数将 IPv4 地址(字符串格式)转换为无符号整数。还要写问题测试用例。

Qn-5:编写一个有效的代码片段(仅限函数),以从给定的输入数组中实现以下输出数组。即用其右侧的最大元素替换每个数组元素。复杂度的顺序不应超过 O(n) 。

例子:

Input: 34 13 45 7 9

Output: 45 45 9 9 -1

Qn-6:解释小端和大端机器。如果给定代码在两台不同的机器上运行(一台是小端,另一台是大端),给定代码的输出将是什么

#include
  
int main()
{
    int arr[] = {1, 2, 3, 4, 5, 6};
    char *ptr = (char *)arr;
    printf("fifth element of array = %d", ptr[4]);
  
return 0;
}

Qn-7:考虑以下数据库模式:

mysql> create table Personinfo
(
    personid bigint(20) primary key,
    name varchar(100),
    mobilenumber bigint(20)
);

mysql> create table Studentinfo
(
    studentid bigint(20) primary key,
    personid bigint(20),
    address varchar(200)
);

mysql> alter table Studentinfo add foreign key(personid) references Personinfo(personid) ;

现在,运行以下查询。输出是什么?

1. insert into Personinfo(1, 'Sachin', 8894421234);

2. insert into Studentinfo(1, 2, 'Mumbai');

Qn-8:给定程序的输出是什么?如有错误,请指出并解释。

#include
#include
#include
  
struct person
{
    char name[64];
    int age;
};
  
int allocate_person(struct person *me, int age)
{
    me = malloc(sizeof(struct person));
    if(me == NULL)
        return 0;
  
    me->age = age;
    strcpy(me->name, "Dennis_Ritchi");
  
return 1;
}
  
int main()
{
    struct person *me = NULL;
    if(allocate_person(me, 25))
        printf("Myage is = %d\n", me->age);
    else
        printf("Not able to find Age !!!\n");
  
return 0;
}

Qn-9:以下程序的输出是什么?

#include

using namespace std;

void main()
{
    char *s[] = {"Reve", "Systems", "India", "Pvt", "Ltd"};
    
    char **p[] = {s+3, s+4, s+1, s+2};
   
    char ***ptr;

    ptr = p;
    
    cout << *(*p);

}

Qn-10:以下代码片段的输出是什么?

#include

using namespace std;
class Point
{
    private:
               int x, y;
    public:
               Point(int i = 0, int j = 0);
               Point(const Point &t);
};
Point::Point(int i, int j)
{
    x = i;
    y = j;
    cout << "Normal Constructor called\n";
}
Point::Point(const Point &t)
{
    y = t.y;
    cout << "Copy Constructor called\n";
}

int main()
{
    Point *t1, *t2;
    t1 = new Point(10, 15);
    t2 = new Point(*t1);
    Point t3 = *t1;
    Point t4;
    t4 = t3;

return 0;
}

Qn-11:给你一个 n-1 个整数的列表,这些整数在 1 到 n 的范围内。列表中没有重复项。列表中缺少其中一个整数。编写一个有效的代码来查找丢失的整数。

Qn-12:以下代码片段的输出是什么?解释其背后的逻辑。

class Test1
{
    int x = 10;
    public static void main(String[] args)
    {
        System.out.println(x);
    }
    static
    {
        int y = 20;
        System.out.print(x + " " + y);
    }
}

Qn-13:以下代码的输出是什么并解释原因?

#include
#include

using namespace std;

class Base
{
    public:
              int num1, num2;
              Base(int a, int b): num1(a), num2(b)()
              virtual int sum()
              {
                  return (num1 + num2);
              }
};
class Derived:public Base
{
    public:
              int num3;
              Derived(int a, int b, int c):Base(a, b), num3(c)()
              virtual int sum(int num1, int num2)
              {
                   return (num1 + num2 + num3);
              }
};

int add_mem(Base p)
{
    return p.sum();
}

int main()
{
    Baseb(2, 3);
    Derived d(4, 5, 6);
    cout << "2 + 3 = " << add_mem(b) << endl;
    cout << "4 + 5 + 6 = " << add_mem(d) << endl;

return 0;
}

Qn-14:如果一个网络有 85.13.210.64/28 子网。查找此子网中的 IP 地址数量,并查找可用的 IP 地址范围。

Qn-15:给你一个包含 n 个单词的段落,给你 m 个线程。你需要做的是,每个线程应该打印一个单词并将控制权交给下一个线程,这样每个线程都会保留一个单词,如果最后一个线程来了,它应该调用第一个线程。打印将重复,直到所有单词都打印在段落中。最后,所有线程都应该优雅地退出。用一个简单的伪代码演示你将如何解决这个问题。

到了晚上,结果出来了,共有 6 名学生被选为下一轮。幸运的是,我是其中之一🙂

第二轮:技术面试

约30分钟面试
Qn-1:说说你自己
Qn-2:实习说明
Qn-3:什么是虚函数,构造函数可以变成虚函数吗?
Qn-4:在运行时或编译时使用构造函数?
Qn-5:可以将构造函数设为私有。我们什么时候将构造函数设为私有。
Qn-6:编写代码来实现单例类。
Qn-7:如果给定指向该节点的指针并且没有指向该列表的其他指针(或开始指针)可用,如何删除单链表中的节点。
Qn-8:给定一个有序数组和一个变量(sum),求和时如何找出数组中哪一对元素等于变量(sum)。如果将元素列表而不是数组存储在 BST 中,您将如何解决该问题。
Qn-9:你用了多少种树遍历,中序遍历有什么好处。
Qn-10:如何检查二叉树是否为 BST。
Qn-11:你有什么问题要问我们吗?
技术面试结束后,他们在一个小时后公布了结果,最终选出了4名学生进入HR最后一轮。幸运的是,我是其中之一🙂

第三轮:人力资源面试
约45分钟面试
Qn:简单介绍一下你的生活,出生地,学校等等。

其他与搬迁、适应变化、工作生活平衡等有关的一般人力资源问题。这是一次非常友好的谈话。

最终结果在 5 天后出来,在 4 人中,只有 2 名学生被选中,我是其中之一 🙂 。

这次采访是我的朋友POOJA DASHOTTAR (IIEST, Shibpur) 的。这是 Pooja 建议所有学生和大三学生关注 GeeksForGeeks,因为这对她顺利通过面试有很大帮助。