百度2021校招C /PHP研发工程师笔试卷(第一批)

时长:120分钟 总分:23分

227浏览 2人已完成答题

题型介绍
题型 单选题 多选题 填空题
数量 15 5 1
1.
某主机的 IP 地址为 212.212.77.55,子网掩码为 255.2...
问题详情

某主机的 IP 地址为 212.212.77.55,子网掩码为 255.255.252.0。若该主机向其所在子网发送广播分组,则目的地址可以是?





2.
小牛在学习了二叉树三种遍历方式后,自己发明了一直与中序遍历相反的遍历方式,...
问题详情

小牛在学习了二叉树三种遍历方式后,自己发明了一直与中序遍历相反的遍历方式,称为"反中序遍历",中序遍历的遍历方式为左孩子->根节点->右孩子,他发明的"反中序遍历"遍历方式为右孩子->根节点->左孩子,那么使用他发明的"反中序遍历"遍历如下图的二叉树,输出的节点应为?
762222buv.jpg





3.
若数据元素序列9,10,11,5,6,7,12,3,4是采用下列排序方法之...
问题详情

若数据元素序列 9,10,11,5,6,7,12,3,4是采用下列排序方法之一得到的 第二趟升序排序后的结果,则该排序算法只能是?




4.
关于网络请求延迟增大的问题,以下哪些描述是正确的()
问题详情




5.
对于以下代码分析inttest(intN){inti=0intcnt=0...
问题详情

对于以下代码分析
int test(int N)
{
    int i = 0
    int cnt = 0
    while (cnt<N)
    {
        i = i + 2
        cnt = cnt + i
    }
    return i
}
以下选项最接近上面程序的时间复杂度是?







6.
下面可以按照从小到大顺序排列显示磁盘中各个分区利用率的命令是
问题详情




7.
生产者与消费者模型是一个非常经典的同步与互斥问题,如下伪码实现了简单的消费...
问题详情

生产者与消费者模型是一个非常经典的同步与互斥问题,如下伪码实现了简单的消费者的功能(生产者的功能是往队列里面添加元素,消费者的功能是从队列里面取元素)
void consumption() {
    while(____){
         ____
    }
    P(mutex)
    往队列里面取一个元素
    V(mutex)
    ————————
}
里面的P,V就是指PV操作,mutex是互斥信号量;现有如下方法:
isFull() : 表示队列元素满了
isEmpty(): 表示队列元素为空
m_notFull.wait(): 阻塞当前进程,直到队列元素不满
m_notFull.notify(): 队列元素不满了,唤醒某个进程
m_notEmpty.wait():阻塞当前进程,直到队列元素不为空
m_notEmpty.notify():队列元素不为空了,唤醒某个进程

请你按选好方法,填到上面空行,完成消费者的功能






8.
下面横线上填上哪些选项可以使最后的输出结果为1? #include &...
问题详情

下面横线上填上哪些选项可以使最后的输出结果为1?
#include <iostream>
class A {
private:
    int m_x
public:
    void setX(int x)
    {
        m_x = x
    }
    int getX()
    {
        return m_x
    }
}
void func(_____)
{
    a[0].setX(1)
}
int main() {
    A a[2]
    a[0].setX(2)
    func(a)
    std::cout << a[0].getX()
    return 0
}








9.
#include<iostream>usingnamespac...
问题详情

#include<iostream>  
using namespace std
static int test = 0
void func(){}
int main()
{
 return 0
}
A工程下的仅有a,b 这2个cpp文件,其中a.cpp代码如上,test变量的作用域是什么?





10.
关于以下代码说法正确的有 #include<iostream&g...
问题详情

关于以下代码说法正确的有
#include<iostream>
using namespace std
class A {
public:
    virtual void x() = 0
}
class B :public A {
public:
    virtual void x(int a) {  }
}
int main()
{
    A *a = new B
    delete a
    return 0
}






11.
以下代码会发生什么?#include<iostream>#in...
问题详情

以下代码会发生什么?
#include <iostream>
#include <memory>
using namespace std
void fun(std::shared_ptr<int> p)
{
    *p = 5
}
int main()
{
    int arar = 6
    for (int i = 0 i < 1000000 i++)
    {
        std::shared_ptr<int> p = std::make_shared<int>(arar)
        fun(p)
        std::cout << *p
    }
    return 0
}






12.
以下二叉平衡排序树(AVL树),插入一个新节点值为30后,重平衡调整为一颗...
问题详情

以下二叉平衡排序树(AVL树),插入一个新节点值为30后,重平衡调整为一颗AVL树。那么请问节点24的左右孩子分别为?
762289feh.jpg






13.
当数组arr={2,12,17,31,53,69,97,142,150,2...
问题详情

当数组arr= {2,12,17,31,53,69,97,142,150,240,308},value=53时,上述函数中while循环的次数为:
import java.util.Arrays
public class NowCoder {
    public static void main(String[] args) {
        int[] arr= {2,12,17,31,53,69,97,142,150,240,308}
        System.out.println(BinarySearch(arr,53))
    }
    public static int BinarySearch(int[] arr,int value) {
        int left=0
        int right=arr.length-1
        while(left<=right) {
            int mid=(left+right)/2
            if(value==arr[mid]) {
                return mid
            }
            if(value>arr[mid]) {
                left=mid+1
            }
            if(value<arr[mid]) {
                right=mid-1
            }
        }
        return -1
    }
}





14.
输入:[1,8,6,2,5,4,8,3,7]输出:49目前某学生用如下ja...
问题详情

762291rnm.jpg
762291rnm.jpg
输入:[1,8,6,2,5,4,8,3,7] 输出:49
目前某学生用如下java代码解决了此问题,设height数组长度为N,且N足够大,他的部分代码如下,请你判断他代码(maxArea函数)的时间复杂的以及额外的空间复杂度(不包括传入的height数组)分别为?
int calculateArea(int start, int end, int sHeight, int eHeight) {
    int len = end - start
    int height = Math.min(sHeight, eHeight)
    return len * height
}

public int maxArea(int[] height) {
    int maxLen = -1
    int arrLen = height.length
    for (int i = 0, j = arrLen - 1 i < arrLen ) {
        if (i == j) {
            return maxLen
        }
        int area = calculateArea(i, j, height[i], height[j])
        maxLen = Math.max(area, maxLen)
        if (height[i] > height[j]) {
            j--
        } else {
            i++
        }
    }

    return 0
}






15.
一个算法的时间复杂度由以下递归方程表示(N,M都是非常大的正整数):(1)...
问题详情

一个算法的时间复杂度由以下递归方程表示(N,M都是非常大的正整数):
(1).T(1)=1
(2).T(N)=2T(N/2)+O(M)(递归的过程中O(M)不变)
那么该算法的时间复杂度为哪个级别的?





16.
下面关于用户级线程和内核级线程的描述,错误的是?
问题详情





17.
下列php脚本执行的结果是什么?()<?php$x=1functi...
问题详情

下列php脚本执行的结果是什么?()
<?php
$x = 1
function Test()
{
echo "a = $x"
}
Test()
?>




18.
这里有一张中国高校开设课程信息表(课程名称,高校名称)(只展示了部分数据,...
问题详情

这里有一张中国高校开设课程信息表(课程名称,高校名称)(只展示了部分数据,其余大量数据形式相同)
+-----------+---------+
|     name     | college |
+-----------+---------+
|   S1      |     ZD    |
|   S2      |     BD    |
|   S2      |     QH    |
|   S5      |     SD    |
|   S3      |     JN    |
+-----------+---------+
查询出哪个高校,开设的课程最多?




19.
百度下面有多个部门,包含大搜、凤巢、无人驾驶等等。每个部门每年校招都会招人...
问题详情

百度下面有多个部门,包含大搜、凤巢、无人驾驶等等。每个部门每年校招都会招人。在招人过程中就已明确规定,一个学生只能被录取到一个部门,但是一个部门可以录取多个学生。那么,学生和部门之间是________的关系




20.
走台阶
问题详情

牛牛回到家要走恰好n个台阶。

由于牛牛步伐不太大,故单步只能跨最多m个台阶,最少跨一个台阶。

牛牛有一个奇怪的习惯,他要求每步和之前两步走的台阶数目不能相同。

牛牛想知道有多少种不同的走法,答案对取模。
输入描述:
一行输入两个整数n,m,表示台阶数目,单步跨越的最多台阶数目。

对于的数据有

对于的数据有

对于的数据有
输入样例: 7 3 输出描述:
一行一个整数,表示答案。
输出样例 2
21.
如下代码是实现反转链表的一部分代码:反转链表为:输入一个链表的头节点,反转...
问题详情

如下代码是实现反转链表的一部分代码:
反转链表为:
输入一个链表的头节点,反转该链表并输出反转后链表的头节点。
示例:
输入: 1->2->3->4->5->NULL
输出: 5->4->3->2->1->NULL

ListNode* reverseList(ListNode* head) {
        ListNode* cur = NULL, *pre = head
        while (pre != NULL) {
            ListNode* temp = pre->next
            pre->next = cur
            _________
            pre = temp
        }
        return cur
    }


请你选择一个合适的选项填到以上代码,完成这个函数的功能