欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

三七互娱笔试 逗号表达式

程序员文章站 2022-06-19 08:22:51
...

今晚博主做了三七互娱秋招提前批的笔试题目,参加的是web后端工程师方向的笔试
笔试分为30个选择以及两个简答,即编程题,选择题涵盖的点挺多的,包括数据库,C语言,概率论,Linux,计算机的基础知识,计算机网络等。
其中有几个题,我觉得有点意思:

int func(int x, int y){
    return x + y;
}
int main()
{
    // 原题目里面是用abcde五个字母表示,并赋值,这里为了方便查看,我直接把数值代进去
    cout << func((3,5,4),(4,5)) << endl;
    system("pause");
    return 0;
}

这个题的一个考点是C语言里面的一个逗号表达式:

  • 逗号运算符,C语言提供一种特殊的运算符,优先级别最低,它将两个及其以上的式子联接起来,从左往右逐个计算表达式,整个表达式的值为最后一个表达式的值。
  • 因此,这里最后一个表达式,值为9,所以这个函数的输出值为9

还有一个题,考到了冯诺依曼体系,问下面哪一个不属于冯诺依曼体系,考到这题有点懵逼,然后结束后,查了一下:

  • 冯·诺依曼提出的计算机体系结构,计算机由控制器运算器存储器输入设备输出设备五部分组成 奠定了现代计算机的结构理念
  • 而选项中有一个Cache,高速缓存器,因此这题应该选择这个(其他选项记不住了)

还有选择题考到了加密算法的选择,选择哪一个不可逆。(这块博主不太懂)

还有一个二叉树的题目:
若二叉树采用二叉链表存储结构,要交换所有的左、右分支,可以利用__遍历
这里,我个人理解交换左、右结点,就是得到二叉树的镜像,而得到二叉树镜像的过程:先序遍历这棵树的所有节点,如果遍历到的节点有子节点的话,就交换它的两个子节点,当交换完所有非叶子节点的子节点之后,就得到了树的镜像。因此个人认为这里是先序遍历。

对于编程题,一个是N×2的格子用1×2的小木块来放的问题,这个算法题时常会做到,比较容易

而第二个编程题,是判断一个数是否为三七数,题目定义了如果一个数的因子只有3或7就为三七数,如7,21,9等,而6就不是,1定义为三七数,求一个判断函数进行判断。
因为没有提供编译器,只有txt文本那种,博主不能确定自己的方法是否正确

public boolean judgeThreeSeven(int n){  
    if (n == 1) {
        return true;
    } 
    if (n % 2 == 0 || n < 0) {
        return false;
    }
    while (n % 3 == 0) {
        n /= 3;
    }
    while (n % 7 == 0) {
        n /= 7;
    }
    if (n == 1) {
        return true;
    } else {
        return false;
    }
}

但这个函数有个很大的问题就是如果数字过大,判断速度会很慢,我上网找了一下,但是没有能找到很棒的解法,希望有朋友能想到好的办法,然后留言告诉博主~o~大家一起学习学习~o~

相关标签: INTERVIEW

上一篇: zookeeper 部署

下一篇: Zookeeper部署